Como realizar pós-exploração com Metasploit
Este tutorial faz parte do GUIA COMPLETO do professional em Segurança Ofensiva de Software, saiba mais.
Aula 20: Pós Exploração
Nas publicações anteriores você aprendeu como identificar serviços, encontrar uma vulnerabilidade e explorar com o Metasploit. Agora você verá o processo de pós-exploração o que inclui o escalonamento de privilégios, instalação de persistência e extração de credenciais.
Para uma simulação mais completa do processo de pós exploração, o lab a seguir foi realizado online utilizando uma trilha de conhecimento da plataforma ine.com . Não se preocupe em fazer a mesma trilha, utilize o conhecimento adquirido aqui para aplicar em qualquer outra aplicação vulnerável que encontrar.
20.1: Introdução do lab
Esse lab possui uma aplicação vulnerável que pode ser acessada em um domínio específico. O objetivo é identificar serviços no alvo, encontrar uma vulnerabilidade, explorar essa vulnerabilidade com Metasploit, instalar um backdoor persistente e extrair credenciais de auto login de algum usuário.
20.2: Identificando serviços no alvo
Figura 1 - Ping e Nmap |
Para identificar serviços disponíveis no alvo, primeiramente foi descoberto o IP do alvo para poder realizar um scan com a ferramenta Nmap (Figura 1).
Figura 2 - Portas |
Durante o scan foram descobertas 4 portas abertas além da porta 80. Existe um serviço http na porta 80 e alguns serviços Microsoft em outras portas (Figura 2). A máquina alvo está rodando o sistema operacional Windows.
20.3 Encontrando vulnerabilidade no alvo
Figura 3 - Vulnerabilidades |
Durante o scan com Nmap foi utilizado o argumento “–script vuln” permitindo assim buscar por vulnerabilidades na máquina. Como se pode observar (Figura 3), as vulnerabilidades encontradas caso exploradas não serviriam para o objetivo de execução de código remoto.
Figura 4 - Aplicação web |
Então acessando a página web (Figura 4), endereço do alvo, é observado que a aplicação web está utilizando servidor web HttpFileServer 2.3 .
Figura 5 - Metasploit search |
Pesquisando no Metasploit (Figura 5) por esse servidor é encontrado um exploit que permite realizar a execução de código remoto! Esse exploit explora os comandos de script do servidor usando byte nulo '%00' para ignorar a filtragem pois existe uma sanitização mal implementada dos dados de entrada da aplicação.
20.4 Explorando alvo
Figura 6 - Configurando exploit |
Para utilizar o exploit foi configurado o IP do alvo no campo RHOSTS (Figura 6) e conferido se o campo LHOST estava com o IP da máquina atacante.
Figura 7 - Exploit |
Após digitar o comando exploit a vulnerabilidade começou a ser explorada (Figura 7). Assim logo foi possível obter uma sessão do meterpreter com nível de privilégio de administrador da máquina Windows.
20.5 Obtendo privilégio de SYSTEM
Figura 8 - Obtendo privilégio de SYSTEM |
Para escalonar privilégio pode-se utilizar o comando getsystem no meterpreter para obter privilégio de system na máquina (Figura 8).
20.6 Instalando backdoor persistente
Figura 9 - Pesquisando backdoors |
No Metasploit existem diversos módulos que permitem tornar a exploração persistente (Figura 9). O módulo persistence instala um payload no registro de inicialização do Windows.
Figura 10 - Configurando módulo |
Então utilizando um destes módulos é necessário configurar o campo SESSION apontando a sessão meterpreter já aberta que será utilizada para instalar o payload (Figura 10). Note que o payload utilizado é para obtenção de uma shell reversa do meterpreter via tcp.
Figura 11 - Instalação do backdoor |
Após o comando exploit aparentemente a instalação do payload junto ao registro do Windows ocorreu com sucesso. Como o payload só é executado na inicialização, foi enviado o comando para reiniciar a máquina (Figura 11). Infelizmente a operação falhou, provavelmente devido a alguma limitação do laboratório virtual.
Figura 12 - Configuração do módulo |
Então foi escolhido outro módulo. Esse módulo envia um executável para a máquina alvo para se tornar um serviço persistente na máquina (Figura 12).
Figura 13 - Nova sessão aberta |
Logo após enviar o payload uma nova sessão foi aberta (Figura 13).
Figura 14 - Configurando multi handler |
Figura 15 - Configurando escuta |
Para testar o acesso persistente à máquina alvo foi finalizado todas as sessões abertas (Figura 14) e configurado um multi handler (Figura 15), um payload genérico, para ficar escutando por tentativas de conexões no IP da máquina atacante porta 4444, ou seja, as mesmas configurações de conexão do payload backdoor da Figura 12.
Figura 16 - Conexão recebida |
Assim que é dado o comando exploit uma sessão do meterpreter foi aberta com sucesso provando que o backdoor está funcionando (Figura 16).
20.7 Extrair credenciais de auto login
Figura 17 - Módulos para extrair credenciais |
Para extrair as credenciais de auto login do Windows será utilizado o módulo windows_autologin (Figura 17).
Figura 18 - Tentativa de extração |
Após selecionar o módulo, basta apontar a sessão meterpreter aberta e executar. Infelizmente o módulo identificou que o host não configurou uma senha de auto login (Figura 18).
Figura 19 - Consultando processo atual |
Figura 20 - Migrando processo atual |
Como não é possível obter as credenciais de autologin com privilégio de system. É necessário migrar para privilégio de algum usuário que possua autologin habilitado. Consultado a lista de processos (Figura 19), podemos tentar migrar para um processo pertencente ao Administrator (Figura 20).
Figura 21 - Extração de credenciais |
Executando o módulo novamente após enviar a sessão do meterpreter para background, foi possível obter uma credencial de autologin: DefaultPassword=hello_attackdefense (Figura 21).
Nesse lab você viu como escalonar privilégio, instalar persistência e extrair credenciais de usuários Windows.
Próxima aula, clique aqui.
COMENTÁRIOS