
Selbst bereitstellbarer Dateihosting-Dienst für Red Teamer, der das einfache Hochladen und Teilen von Payloads über HTTP und WebDAV ermöglicht.
pwndrop ist ein selbst bereitstellbarer Dateihosting-Dienst zum Versenden von Red-Teaming-Payloads oder zum sicheren Teilen Ihrer privaten Dateien über HTTP und WebDAV.
Wenn Sie jemals schnell einen nginx/apache-Webserver einrichten mussten, um Ihre Dateien zu hosten, und mit den Einschränkungen von python -m SimpleHTTPServer unzufrieden waren, dann ist pwndrop definitiv das Richtige für Sie!
Mit pwndrop können Sie:
Das Hauptziel ist es, Dateifreigabe so einfach und intuitiv wie möglich zu gestalten und gleichzeitig zusätzliche Funktionen zur Unterstützung von Red-Team-Assessments zu implementieren.
Das Frontend von pwndrop ist in reinem Vue.js + Bootstrap entwickelt, ohne npm- oder webpack-Abhängigkeiten. Das Backend bedient eine REST-API und verwaltet eine lokale Datenbank, die mit der Sprache GO betrieben wird.
Wenn Sie lernen möchten, wie man pwndrop verwendet, oder erfahren möchten, welche neuen Funktionen in den letzten Versionen implementiert wurden, schauen Sie sich unbedingt die Beiträge in meinem Blog an:
Werfen Sie einen Blick auf das fantastische Video von Luke Turvey (@TurvSec), das vollständig erklärt, wie man mit pwndrop loslegt.
Wenn Sie noch keinen Server zum Bereitstellen haben, empfehle ich Digital Ocean sehr. Der günstigste Debian 9 Server für 5 $/Monat mit 25 GB Speicherplatz wird Wunder für Sie bewirken. Sie können meinen Empfehlungslink verwenden, um zusätzliche 100 $ zu erhalten, die Sie innerhalb von 60 Tagen kostenlos für Ihre Server ausgeben können.
Registrieren Sie eine neue Domain und weisen Sie deren DNS-A-Einträge der IP Ihrer VPS zu. Sie können auch eine Domain registrieren und deren ns1- und ns2-Nameserver auf die IP der pwndrop-Instanz verweisen lassen – sie wird automatisch mit gültigen DNS-A-Antworten reagieren.
Wenn Sie pwndrop ohne Domain einrichten möchten, finden Sie unten, wie Sie eine lokale Instanz einrichten, die keine HTTPS-Zertifikate automatisch generiert.
Stellen Sie sicher, dass keine DNS- oder HTTP(S)-Server laufen, bevor Sie versuchen, pwndrop zu installieren.
Ich empfehle nicht, Einzeiler auszuführen, bevor Sie den Skriptcode heruntergeladen und überprüft haben, aber wenn Sie wirklich in Eile sind, hier ist er:
curl https://raw.githubusercontent.com/kgretzky/pwndrop/master/install_linux.sh | sudo bash
Dies wird die neueste amd64-Release-Binärdatei herunterladen und einen vollständig laufenden Daemon im Hintergrund installieren.
Zuerst müssen Sie das gewünschte Release-Paket von https://github.com/kgretzky/pwndrop/releases herunterladen.
Führen Sie dann Folgendes aus (dies führt dieselben Aktionen wie der Einzeiler aus):
tar zxvf pwndrop-linux-amd64.tar.gz
./pwndrop stop
./pwndrop install
./pwndrop start
./pwndrop status
Stellen Sie zunächst sicher, dass Sie GO mit mindestens Version 1.13 installiert haben: https://golang.org/doc/install
Führen Sie dann Folgendes aus:
sudo apt-get -y install git make
git clone https://github.com/kgretzky/pwndrop
cd pwndrop
make
make install
Stellen Sie sicher, dass pwndrop läuft.
https://ihredomain.com/pwndrop (dies ist der Standardwert; verwenden Sie den von Ihnen vorkonfigurierten geheimen Pfad)https://ihredomain.com/ (da Sie Ihren Browser autorisiert haben, sehen Sie jetzt eine Admin-Panel-Anmeldeseite)/pwndrop.Alles bereit!
Sie müssen pwndrop nicht als Daemon installieren; Sie können es direkt von der Konsole aus ausführen.
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
Beim ersten Start erstellt pwndrop standardmäßig eine neue Konfigurationsdatei pwndrop.ini im selben Verzeichnis wie die ausführbare Datei. Sie können sie später ändern oder eine eigene bereitstellen, um pwndrop beispielsweise vor der Installation vorzukonfigurieren und so die Bereitstellung eines Tools noch besser zu automatisieren.
Hier ist eine Beispielkonfigurationsdatei mit allen verfügbaren Konfigurationsvariablen und Erläuterungen:
[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)
Wenn Sie Ihre pwndrop-Instanz vor der Bereitstellung mit einem der Installationsskripte vorkonfigurieren möchten, legen Sie Ihre Konfigurationsdatei unter /usr/local/pwndrop/pwndrop.ini ab. Sie wird analysiert, sobald der pwndrop-Daemon zum ersten Mal ausgeführt wird.
Vielen Dank an @jaredhaight dafür, dass er mich inspiriert hat, Vue zu lernen, mit seinem Faction C2-Framework!
Auch vielen Dank an alle, die mir vor der Veröffentlichung Feedback gegeben und mich mit ihrer Meinung zum Tool unterstützt haben!
pwndrop wurde von Kuba Gretzky (@mrgretzky) entwickelt und unter der GPL3-Lizenz veröffentlicht.