
Servicio de alojamiento de archivos autodesplegable para red teamers, que permite cargar y compartir fácilmente payloads a través de HTTP y WebDAV.
pwndrop es un servicio de alojamiento de archivos autodesplegable para enviar cargas útiles de red team o compartir de forma segura tus archivos privados a través de HTTP y WebDAV.
Si alguna vez has necesitado configurar rápidamente un servidor web nginx/apache para alojar tus archivos y nunca estuviste contento con las limitaciones de python -m SimpleHTTPServer, ¡pwndrop es definitivamente para ti!
Con pwndrop puedes:
Su objetivo principal es hacer que compartir archivos sea lo más fácil e intuitivo posible, mientras implementa características adicionales para ayudar en evaluaciones de red team.
El frontend de pwndrop está desarrollado en Vue.js puro + Bootstrap, sin dependencias de npm o webpack. El backend sirve una API REST y gestiona una base de datos local, impulsado por el lenguaje GO.
Si quieres aprender a usar pwndrop o conocer las nuevas características implementadas en versiones recientes, asegúrate de visitar las publicaciones en mi blog:
Echa un vistazo al fantástico video realizado por Luke Turvey (@TurvSec), que explica completamente cómo empezar a usar pwndrop.
Si aún no tienes un servidor donde desplegar, recomiendo encarecidamente Digital Ocean. El servidor Debian 9 más barato de $5/mes con 25 GB de espacio de almacenamiento te funcionará de maravilla. Puedes usar mi enlace de referencia para obtener $100 adicionales para gastar en tus servidores en 60 días de forma gratuita.
Registra un nuevo dominio y apunta sus registros DNS A a la IP de tu VPS. También puedes registrar un dominio y apuntar sus servidores de nombres ns1 y ns2 a la instancia IP de pwndrop; responderá automáticamente con respuestas DNS A válidas.
Si deseas configurar pwndrop sin un dominio, consulta a continuación cómo configurar una instancia local, que no generará certificados HTTPS automáticamente.
Asegúrate de que no haya ningún servidor DNS o HTTP(S) en ejecución antes de intentar instalar pwndrop.
No recomiendo ejecutar comandos de una línea sin antes descargar y revisar el código del script, pero si tienes mucha prisa, aquí está:
curl https://raw.githubusercontent.com/kgretzky/pwndrop/master/install_linux.sh | sudo bash
Esto descargará el binario de la última versión amd64 e instalará completamente un demonio ejecutándose en segundo plano.
Primero debes descargar el paquete de la versión que desees desde: https://github.com/kgretzky/pwndrop/releases
Luego haz lo siguiente (esto realiza las mismas acciones que el comando de una línea):
tar zxvf pwndrop-linux-amd64.tar.gz
./pwndrop stop
./pwndrop install
./pwndrop start
./pwndrop status
En primer lugar, asegúrate de tener instalado GO con una versión al menos 1.13: https://golang.org/doc/install
Luego haz lo siguiente:
sudo apt-get -y install git make
git clone https://github.com/kgretzky/pwndrop
cd pwndrop
make
make install
Asegúrate de que pwndrop esté en ejecución.
https://tudominio.com/pwndrop (este es un valor predeterminado; asegúrate de usar la ruta secreta que hayas preconfigurado)https://tudominio.com/ (ya que has autorizado tu navegador, ahora verás una página de inicio de sesión del panel de administración)/pwndrop.¡Ya estás listo!
No tienes que instalar pwndrop como un demonio y puedes ejecutarlo directamente desde la consola.
usage: pwndrop [start|stop|install|remove|status] [-config <config_path>] [-debug] [-no-autocert] [-no-dns] [-h]
daemon management:
start : start the daemon
stop : stop the daemon
install : install the daemon using the available system manager (systemd, systemv and upstart supported)
remove : uninstall the daemon
status : check status of the installed daemon
parameters:
-config : specify a custom path to a config file (def. 'pwndrop.ini' in same directory as the executable)
-debug : enable debug output
-no-autocert : disable automatic TLS certificate retrieval from LetsEncrypt; useful when you want to connect over IP or/and in a local network
-no-dns : do not run a DNS server on port 53 UDP; use this if you don't want to use pwndrop as a nameserver
-h : usage help
En el primer lanzamiento, pwndrop, por defecto, creará un nuevo archivo de configuración pwndrop.ini en el mismo directorio que el ejecutable. Puedes modificarlo posteriormente o proporcionar el tuyo propio, por ejemplo, para preconfigurar pwndrop antes de la instalación y automatizar aún más el despliegue de la herramienta.
Aquí hay un archivo de configuración de ejemplo con todas las variables de configuración disponibles y comentarios:
[pwndrop]
listen_ip = "190.33.86.22" # the external IP of your pwndrop instance (must be set if you want to use the nameserver feature)
http_port = 80 # listening port for HTTP and WebDAV
https_port = 443 # listening port for HTTPS
data_dir = "./data" # directory path where data storage will reside (relative paths are from executable directory path)
admin_dir = "./admin" # directory path where the admin panel files reside (relative paths are from executable directory path)
[setup] # optional: put in if you want to pre-configure pwndrop (section will be deleted from the config file on first run)
username = "admin" # username of the admin account
password = "secretpassword" # password of the admin account
redirect_url = "https://www.somedomain.com" # URL to which visitors will be redirected to if they supply a path, which doesn't point to any shared file (put blank if you want to return 404)
secret_path = "/pwndrop" # secret URL path, which upon visiting will allow your browser to access the login page of the admin panel (make sure to change the default value)
Si deseas preconfigurar tu instancia de pwndrop antes del despliegue usando cualquiera de los scripts de instalación, coloca tu archivo de configuración en /usr/local/pwndrop/pwndrop.ini y será analizado en el momento en que el demonio pwndrop se ejecute por primera vez.
Un enorme agradecimiento a @jaredhaight por inspirarme a aprender Vue, ¡con su framework Faction C2!
También muchas gracias a todas las personas que me dieron comentarios previos al lanzamiento y me apoyaron con sus opiniones sobre la herramienta.
pwndrop está hecho por Kuba Gretzky (@mrgretzky) y se publica bajo la licencia GPL3.