
Servizio di hosting di file auto-distribuibile per red teamer, che consente di caricare e condividere facilmente payload su HTTP e WebDAV.
pwndrop è un servizio di hosting file auto-distribuibile per inviare payload di red team o condividere in modo sicuro i tuoi file privati tramite HTTP e WebDAV.
Se hai mai avuto bisogno di configurare rapidamente un server web nginx/apache per ospitare i tuoi file e non sei mai stato soddisfatto delle limitazioni di python -m SimpleHTTPServer, pwndrop è sicuramente ciò che fa per te!
Con pwndrop puoi:
Il suo obiettivo principale è rendere la condivisione di file il più semplice e intuitiva possibile, implementando funzionalità extra per assistere nelle valutazioni di red team.
Il frontend di pwndrop è sviluppato in puro Vue.js + Bootstrap senza dipendenze npm o webpack. Il backend serve API REST e gestisce un database locale, basato sul linguaggio GO.
Se vuoi imparare come usare pwndrop o vuoi scoprire quali nuove funzionalità sono state implementate nelle versioni recenti, dai un'occhiata ai post sul mio blog:
Dai un'occhiata al fantastico video realizzato da Luke Turvey (@TurvSec), che spiega completamente come iniziare a usare pwndrop.
Se non hai ancora un server su cui distribuire, consiglio vivamente Digital Ocean. Il server Debian 9 più economico a $5/mese con 25GB di spazio di archiviazione ti sarà molto utile. Puoi usare il mio link di affiliazione per ottenere 100$ extra da spendere sui tuoi server in 60 giorni gratuitamente.
Registra un nuovo dominio e punta i suoi record DNS A all'IP del tuo VPS. Puoi anche registrare un dominio e puntare i suoi nameserver ns1 e ns2 all'IP dell'istanza pwndrop - risponderà automaticamente con risposte DNS A valide.
Se vuoi configurare pwndrop senza un dominio, controlla sotto come configurare un'istanza locale, che non genererà automaticamente certificati HTTPS.
Assicurati che non ci siano server DNS o HTTP(S) in esecuzione prima di tentare di installare pwndrop.
Non consiglio di eseguire one-liner senza prima scaricare e controllare il codice dello script, ma se sei davvero di fretta, eccolo:
curl https://raw.githubusercontent.com/kgretzky/pwndrop/master/install_linux.sh | sudo bash
Questo scaricherà l'ultimo binario di rilascio amd64 e installerà completamente un demone in esecuzione in background.
Per prima cosa devi scaricare il pacchetto di rilascio che desideri da: https://github.com/kgretzky/pwndrop/releases
Poi esegui quanto segue (questo esegue le stesse azioni dello one-liner):
tar zxvf pwndrop-linux-amd64.tar.gz
./pwndrop stop
./pwndrop install
./pwndrop start
./pwndrop status
Prima di tutto, assicurati di aver installato GO con versione almeno 1.13: https://golang.org/doc/install
Poi esegui quanto segue:
sudo apt-get -y install git make
git clone https://github.com/kgretzky/pwndrop
cd pwndrop
make
make install
Assicurati che pwndrop sia in esecuzione.
https://yourdomain.com/pwndrop (questo è il valore predefinito; assicurati di usare il percorso segreto che hai preconfigurato)https://yourdomain.com/ (dopo aver autorizzato il browser, vedrai una pagina di login del pannello di amministrazione)/pwndrop.Sei pronto per partire!
Non devi installare pwndrop come demone e puoi eseguirlo direttamente dalla console.
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
Al primo avvio, pwndrop, per impostazione predefinita, creerà un nuovo file di configurazione pwndrop.ini nella stessa directory dell'eseguibile. Puoi successivamente modificarlo o fornirne uno tuo, ad esempio per preconfigurare pwndrop prima dell'installazione per automatizzare ancora meglio la distribuzione dello strumento.
Ecco un esempio di file di configurazione con tutte le variabili di configurazione disponibili con commenti:
[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)