Navegar por el Shell Básico de Meterpreter

Kali LinuxBeginner
Practicar Ahora

Introducción

Meterpreter es una carga útil avanzada del Metasploit Framework que proporciona un shell interactivo en un sistema comprometido. Es una herramienta fundamental para los probadores de penetración.

En este laboratorio, aprenderá los comandos fundamentales para la navegación básica y la recopilación de información dentro de un shell de Meterpreter. Utilizaremos un script para simular una sesión real de Meterpreter.

Para comenzar, ejecute el siguiente comando en su terminal, que ya se encuentra en el directorio ~/project, para iniciar la sesión simulada. Su prompt cambiará a meterpreter >.

./meterpreter_simulator.sh

Verá una salida simulando una conexión, y todos los comandos subsiguientes en este laboratorio deben ser introducidos en este nuevo prompt meterpreter >.

Obtener información básica del sistema con el comando sysinfo

En este paso, aprenderá a usar el comando sysinfo. Este comando es una de las primeras cosas que debe ejecutar después de obtener una sesión, ya que proporciona una visión general rápida y valiosa del sistema objetivo. Revela el nombre del equipo, el sistema operativo y la arquitectura del sistema.

En el prompt meterpreter >, escriba el comando sysinfo y presione Enter:

sysinfo

Verá una salida similar a la siguiente, detallando la información básica de la máquina objetivo simulada:

Computer        : labex-vm
OS              : Ubuntu 22.04 (Linux 5.15.0-generic)
Architecture    : x64
System Language : en_US
Meterpreter     : x64/linux

Identificar al usuario actual con el comando getuid

En este paso, utilizaremos el comando getuid. Comprender los privilegios de su sesión actual es fundamental. El comando getuid le indica instantáneamente la cuenta de usuario bajo la cual se está ejecutando la carga útil de Meterpreter. Esta información ayuda a determinar qué acciones puede realizar en el sistema y si necesita intentar una escalada de privilegios.

En el prompt meterpreter >, escriba getuid:

getuid

La salida muestra el nombre de usuario y el ID de usuario (uid) asociado. En este caso, estamos ejecutando como el usuario labex.

Server username: uid=1000, euid=1000, gid=1000 (labex)

Listar procesos en ejecución con el comando ps

En este paso, aprenderá a listar los procesos en ejecución utilizando el comando ps. El comando ps de Meterpreter es similar a su contraparte en Linux, pero se ejecuta a través de la sesión en la máquina remota. Listar procesos es esencial para la conciencia situacional. Puede ayudarle a identificar software de seguridad, encontrar aplicaciones interesantes o elegir un proceso estable al que migrar.

Ahora, ejecute el comando ps en su shell de Meterpreter:

ps

La salida será una lista de los procesos que se ejecutan en el sistema objetivo. Nuestra simulación muestra algunos procesos clave, incluido el shell (zsh) y el propio 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

Utilizar el comando help para ver todos los comandos de Meterpreter

En este paso, exploraremos el comando help. Meterpreter está repleto de funciones y es imposible recordar cada comando. El comando help es tu mejor aliado, ya que proporciona una lista completa de todos los comandos disponibles, agrupados por categoría.

Para ver la lista de comandos disponibles, simplemente escriba help:

help

La salida muestra los comandos principales, así como los comandos de los módulos cargados como stdapi. Tómese un momento para revisar la lista y tener una idea de las capacidades de 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

Poner en segundo plano la sesión con el comando background

En este paso, aprenderá a utilizar el comando background. Cuando gestione varios sistemas comprometidos, no querrá cerrar una sesión para trabajar en otra tarea. El comando background pone la sesión actual de Meterpreter en segundo plano, permitiéndole volver a la consola principal de Metasploit (msf6 >) para gestionar sesiones o lanzar otros módulos.

En nuestra simulación, ejecutar background finalizará el script y le devolverá a la terminal normal de Linux. Escriba background ahora:

background

Verá un mensaje de confirmación y su prompt volverá de meterpreter > al normal labex@ubuntu:~/project$. Esto indica que ha puesto la sesión en segundo plano con éxito.

[*] Backgrounding session 1...

Resumen

¡Felicitaciones por completar este laboratorio! Ha aprendido a navegar por una sesión básica de Meterpreter y a realizar reconocimiento inicial.

Ahora está familiarizado con los siguientes comandos fundamentales:

  • sysinfo: Para recopilar información básica del sistema operativo y del hardware.
  • getuid: Para identificar el nivel de privilegios del usuario actual.
  • ps: Para listar los procesos en ejecución en la máquina objetivo.
  • help: Para mostrar todos los comandos disponibles.
  • background: Para regresar a la consola principal sin terminar la sesión.

Estos comandos son los pilares para actividades de post-explotación más avanzadas. Dominarlos es el primer paso para ser competente con el Metasploit Framework.