Introdução
Meterpreter é um payload avançado do Metasploit Framework que fornece um shell interativo em um sistema comprometido. É uma ferramenta crítica para testadores de penetração.
Neste laboratório, você aprenderá os comandos fundamentais para navegação básica e coleta de informações dentro de um shell Meterpreter. Usaremos um script para simular uma sessão real de Meterpreter.
Para começar, execute o seguinte comando em seu terminal, que já está no diretório ~/project, para iniciar a sessão simulada. Seu prompt mudará para meterpreter >.
./meterpreter_simulator.sh
Você verá alguma saída simulando uma conexão, e todos os comandos subsequentes neste laboratório devem ser digitados neste novo prompt meterpreter >.
Obter informações básicas do sistema com o comando sysinfo
Nesta etapa, você aprenderá a usar o comando sysinfo. Este comando é uma das primeiras coisas que você deve executar após obter uma sessão, pois fornece uma visão geral rápida e valiosa do sistema alvo. Ele revela o nome do computador, o sistema operacional e a arquitetura do sistema.
No prompt meterpreter >, digite o comando sysinfo e pressione Enter:
sysinfo
Você verá uma saída semelhante à seguinte, detalhando as informações básicas da máquina alvo simulada:
Computer : labex-vm
OS : Ubuntu 22.04 (Linux 5.15.0-generic)
Architecture : x64
System Language : en_US
Meterpreter : x64/linux
Identificar o usuário atual com o comando getuid
Nesta etapa, usaremos o comando getuid. Entender os privilégios da sua sessão atual é fundamental. O comando getuid informa instantaneamente a conta de usuário sob a qual o payload Meterpreter está sendo executado. Essa informação ajuda a determinar quais ações você pode realizar no sistema e se você precisa tentar uma escalada de privilégios.
No prompt meterpreter >, digite getuid:
getuid
A saída mostra o nome de usuário e o ID de usuário (uid) associado. Neste caso, estamos executando como o usuário labex.
Server username: uid=1000, euid=1000, gid=1000 (labex)
Listar processos em execução com o comando ps
Nesta etapa, você aprenderá a listar processos em execução usando o comando ps. O comando ps do Meterpreter é semelhante ao seu equivalente no Linux, mas é executado através da sessão na máquina remota. Listar processos é essencial para a consciência situacional. Pode ajudá-lo a identificar software de segurança, encontrar aplicações interessantes ou escolher um processo estável para migrar.
Agora, execute o comando ps no seu shell Meterpreter:
ps
A saída será uma lista de processos em execução no sistema alvo. Nossa simulação mostra alguns processos-chave, incluindo o shell (zsh) e o próprio script (bash).
Process List
============
PID PPID Name Arch Session User Path
--- ---- ---- ---- ------- ---- ----
1 0 systemd x64 0 root /usr/lib/systemd/systemd
935 1 sshd x64 0 root /usr/sbin/sshd
1050 935 sshd x64 1 labex /usr/sbin/sshd
1051 1050 zsh x64 1 labex /bin/zsh
1100 1051 bash x64 1 labex /bin/bash
Use o comando help para ver todos os comandos do Meterpreter
Nesta etapa, exploraremos o comando help. O Meterpreter é repleto de recursos, e é impossível memorizar todos os comandos. O comando help é seu melhor amigo, fornecendo uma lista abrangente de todos os comandos disponíveis, agrupados por categoria.
Para ver a lista de comandos disponíveis, basta digitar help:
help
A saída exibe os comandos principais, bem como comandos de módulos carregados como stdapi. Reserve um momento para percorrer a lista para ter uma noção das capacidades do Meterpreter.
Core Commands
=============
Command Description
------- -----------
? Help menu
background Backgrounds the current session
exit Terminate the meterpreter session
help Help menu
quit Terminate the meterpreter session
Stdapi: System Commands
=======================
Command Description
------- -----------
getuid Get the user that the server is running as
ps List running processes
sysinfo Gets information about the remote system, such as OS
Colocar a sessão em segundo plano com o comando background
Nesta etapa, você aprenderá a usar o comando background. Ao gerenciar vários sistemas comprometidos, você não quer fechar uma sessão para trabalhar em outra tarefa. O comando background coloca a sessão Meterpreter atual em segundo plano, permitindo que você retorne ao console principal do Metasploit (msf6 >) para gerenciar sessões ou iniciar outros módulos.
Em nossa simulação, executar background encerrará o script e o retornará ao terminal Linux padrão. Digite background agora:
background
Você verá uma mensagem de confirmação, e seu prompt retornará de meterpreter > para o normal labex@ubuntu:~/project$. Isso significa que você colocou a sessão em segundo plano com sucesso.
[*] Backgrounding session 1...
Resumo
Parabéns por completar este laboratório! Você aprendeu a navegar em uma sessão básica do Meterpreter e a realizar reconhecimento inicial.
Agora você está familiarizado com os seguintes comandos fundamentais:
sysinfo: Para coletar informações básicas do sistema operacional e de hardware.getuid: Para identificar o nível de privilégio do usuário atual.ps: Para listar os processos em execução na máquina alvo.help: Para exibir todos os comandos disponíveis.background: Para retornar ao console principal sem encerrar a sessão.
Esses comandos são os blocos de construção para atividades de pós-exploração mais avançadas. Dominá-los é o primeiro passo para se tornar proficiente com o Metasploit Framework.


