Навигация по базовой оболочке Meterpreter

Kali LinuxBeginner
Практиковаться сейчас

Введение

Meterpreter — это продвинутый полезный груз (payload) из Metasploit Framework, который предоставляет интерактивную оболочку (shell) на скомпрометированной системе. Это критически важный инструмент для пентестеров.

В этой лабораторной работе вы изучите основные команды для базовой навигации и сбора информации в оболочке Meterpreter. Мы будем использовать скрипт для симуляции реальной сессии Meterpreter.

Для начала выполните следующую команду в вашем терминале, который уже находится в директории ~/project, чтобы запустить симулированную сессию. Ваш приглашение изменится на meterpreter >.

./meterpreter_simulator.sh

Вы увидите некоторый вывод, симулирующий соединение, и все последующие команды в этой лабораторной работе следует вводить в это новое приглашение meterpreter >.

Получение базовой информации о системе с помощью команды sysinfo

На этом шаге вы научитесь использовать команду sysinfo. Эта команда — одна из первых, которую следует выполнить после получения сессии, поскольку она предоставляет быстрый и ценный обзор целевой системы. Она раскрывает имя компьютера, операционную систему и архитектуру системы.

В приглашении meterpreter > введите команду sysinfo и нажмите Enter:

sysinfo

Вы увидите вывод, аналогичный следующему, детализирующий базовую информацию о симулированной целевой машине:

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

Определение текущего пользователя с помощью команды getuid

На этом шаге мы будем использовать команду getuid. Понимание привилегий вашей текущей сессии имеет решающее значение. Команда getuid мгновенно сообщает вам, под какой учетной записью пользователя запущен полезный груз Meterpreter. Эта информация помогает определить, какие действия вы можете выполнять в системе и нужно ли вам пытаться повысить привилегии.

В приглашении meterpreter > введите getuid:

getuid

Вывод показывает имя пользователя и связанный с ним идентификатор пользователя (uid). В данном случае мы работаем под пользователем labex.

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

Список запущенных процессов с помощью команды ps

На этом шаге вы научитесь выводить список запущенных процессов с помощью команды ps. Команда ps в Meterpreter аналогична своей версии для Linux, но выполняется через сессию на удаленной машине. Список процессов необходим для оценки ситуации. Он может помочь вам выявить программное обеспечение безопасности, найти интересные приложения или выбрать стабильный процесс для миграции.

Теперь выполните команду ps в вашей оболочке Meterpreter:

ps

Вывод будет представлять собой список процессов, запущенных в целевой системе. Наша симуляция показывает несколько ключевых процессов, включая оболочку (zsh) и сам скрипт (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

Использование команды help для просмотра всех команд Meterpreter

На этом шаге мы изучим команду help. Meterpreter обладает множеством функций, и невозможно запомнить каждую команду. Команда help — ваш лучший друг, предоставляющий полный список всех доступных команд, сгруппированных по категориям.

Чтобы увидеть список доступных команд, просто введите help:

help

Вывод отображает основные команды, а также команды из загруженных модулей, таких как stdapi. Уделите немного времени, чтобы просмотреть список и получить представление о возможностях 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

Перевод сессии в фоновый режим с помощью команды background

На этом шаге вы научитесь использовать команду background. При управлении несколькими скомпрометированными системами вы не захотите закрывать сессию, чтобы заняться другой задачей. Команда background переводит текущую сессию Meterpreter в фоновый режим, позволяя вернуться в основную консоль Metasploit (msf6 >) для управления сессиями или запуска других модулей.

В нашей симуляции выполнение команды background завершит скрипт и вернет вас в стандартный терминал Linux. Введите background сейчас:

background

Вы увидите подтверждающее сообщение, и ваш командный процессор изменится с meterpreter > на обычный labex@ubuntu:~/project$. Это означает, что вы успешно перевели сессию в фоновый режим.

[*] Backgrounding session 1...

Итоги

Поздравляем с завершением этой лабораторной работы! Вы научились ориентироваться в базовой сессии Meterpreter и проводить первоначальную разведку.

Теперь вы знакомы со следующими основными командами:

  • sysinfo: для сбора базовой информации об операционной системе и оборудовании.
  • getuid: для определения уровня привилегий текущего пользователя.
  • ps: для вывода списка запущенных процессов на целевой машине.
  • help: для отображения всех доступных команд.
  • background: для возврата в основную консоль без завершения сессии.

Эти команды являются основой для более продвинутых действий после эксплуатации. Овладение ими — первый шаг к тому, чтобы стать опытным пользователем Metasploit Framework.