Navegar no Shell Básico do Meterpreter

Kali LinuxBeginner
Pratique Agora

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.