
Exploit para CVE-2025-64512 para obter um shell reverso.
Esta prova de conceito demonstra uma vulnerabilidade no pdfminer.six (CVE-2025-64512) que pode levar à execução arbitrária de comandos quando um PDF malicioso é processado. O exploit utiliza um PDF manipulado que referencia um pickle Python malicioso comprimido com gzip. Quando a aplicação vulnerável analisa o PDF, ela carrega o pickle e executa o payload embutido.
O PoC incluído está configurado para executar uma reverse shell em Python, mas o payload pode ser substituído por qualquer comando.
requestsInstale a dependência necessária:
pip install requests
Antes de executar o exploit, edite a seção de configuração do exploit.py:
BASE_URL = ""
UPLOAD_DIR = ""
LHOST = ""
LPORT = 4444
A URL do endpoint de upload vulnerável.
Exemplo:
BASE_URL = "http://target/upload.php"
O exploit faz upload tanto do PDF malicioso quanto do pickle comprimido para este endpoint.
O diretório absoluto no alvo onde os arquivos enviados são armazenados.
Exemplo:
UPLOAD_DIR = "/var/www/html/uploads"
Este caminho está embutido dentro do PDF gerado e deve corresponder ao local de onde a aplicação vulnerável irá posteriormente ler o pickle enviado.
Se o diretório de upload for desconhecido, determine-o durante a enumeração. Dependendo da aplicação, técnicas úteis incluem:
Locais típicos incluem:
/var/www/html/uploads
/var/www/uploads
/srv/www/uploads
/opt/application/uploads
O diretório correto depende inteiramente da aplicação alvo.
Seu endereço IP do listener.
Exemplo:
LHOST = "10.10.14.5"
Porta de escuta para a reverse shell.
Exemplo:
LPORT = 4444
Inicie um listener antes de executar o exploit:
nc -lvnp 4444
Execute o exploit:
python3 exploit.py
O script irá:
evil.pickle.gz.Em vez de uma reverse shell, qualquer comando do sistema operacional pode ser executado modificando o comando passado para:
create_pickle_with_cmd(command)
Exemplos incluem:
id
whoami
uname -a
cat /etc/passwd
Esta prova de conceito é fornecida exclusivamente para fins educacionais, pesquisa de segurança e testes de penetração autorizados. Utilize-a apenas contra sistemas para os quais você tenha permissão explícita para realizar testes de segurança.