O uso de ferramentas que automatizam a pós-exploração veem aumentando, como por exemplo, o uso do Mimikatz.
Entretanto, é possível realizar o bloqueio / detecção dessas ferramentas.
Portanto, eu separei de forma lógica, ao decorrer da minha carreira e dos meus estudos, alguns comandos que me ajudaram a realizar a pós-exploração em sistemas Windows.
Em meu lab, possuí um usuário chamado Carlos Silva (hackware.local\carlos.silva). Iremos trabalhar com o acesso a maquina dele.
Procurando arquivos .bat, .vbs e .ps1
Normalmente, esses arquivos são criados pela equipe do Suporte Técnico afim de automatizar alguma tarefa nas maquinas dos usuários. Para realizar essa busca, podemos utilizar o seguinte comando:
C:\Users\carlos.silva\ > dir *.bat *.vbs *.ps1 /s
Esse comando realiza a busca dos arquivos com formatos bat, vbs e ps1 no diretório atual e nas subpastas presentes.
A saída do comando nos retornou dois arquivos:
Vamos entender o conteúdo do arquivo run.bat:
Podemos deduzir então, de forma clara, que o usuário pedro.bastos invoca o executável contabil.exe sem a necessidade de inserir a senha, pois já esta salva. Com isso, podemos executar o seguinte comando:
Como podemos ver, dessa vez o runas executa o arquivo pivoting.exe, que tem como objetivo estabelecer uma conexão reversa com a minha maquina (atacante). Resultado após executar o arquivo:
Dica: para visualizar as credenciais atualmente armazenadas, basta utilizar o comando cmdkey /list:
- CollectSyncLogs.bat, proprietário do OneDrive.
- run.bat, vamos analisar.
Podemos utilizar o comando more para visualizar o conteúdo dentro do arquivo run.bat:
Vamos entender o conteúdo do arquivo run.bat:
Podemos deduzir então, de forma clara, que o usuário pedro.bastos invoca o executável contabil.exe sem a necessidade de inserir a senha, pois já esta salva. Com isso, podemos executar o seguinte comando:
Como podemos ver, dessa vez o runas executa o arquivo pivoting.exe, que tem como objetivo estabelecer uma conexão reversa com a minha maquina (atacante). Resultado após executar o arquivo:
Dica: para visualizar as credenciais atualmente armazenadas, basta utilizar o comando cmdkey /list:
Variáveis de ambiente
Outro meio para se conseguir credenciais é checando as variáveis de ambiente presentes no sistema. Para encontrar variáveis que podem possuir senhas / logins, eu utilizo um comando para automatizar a busca. Esse comando lê um arquivo onde contem algumas palavras chaves, como por exemplo password, senha. Vejamos a seguir:
OBDC (Open Database Connectivity)
Sendo bastante utilizado para o acesso a sistemas gerenciadores de bancos de dados, muitas das vezes a configuração não é criptografada ao ser salva no Registros do Windows. Podemos explorar essa falha de segurança utilizando o seguinte comando a seguir:
Comando utilizado no Powershell.
Entendendo o comando:
- User DSN: HKEY_CURRENT_USER-> Software -> ODBC -> ODBC.INI -> DSNNAME
- System DSN: HKEY_LOCAL_MACHINE-> Software -> ODBC -> ODBC.INI -> DSNNAME
Conclusão
Conforme dito no inicio do artigo, o uso de ferramentas que automatizam a pós-exploração veem aumentando, mas estão cada vez mais difíceis de serem utilizadas em ambientes que possuem uma segurança mais rigorosa. O uso de comandos também estão cada vez mais sendo detectados, principalmente com o uso de Machine Learning.