Введение
Metasploit Framework — это мощный инструмент с открытым исходным кодом, используемый для тестирования на проникновение и исследований в области безопасности. Он построен вокруг концепции модулей, которые представляют собой взаимозаменяемые фрагменты кода, выполняющие конкретные задачи. Понимание различных типов модулей является основой для эффективного использования Metasploit.
В этой лаборатории вы изучите основные типы модулей в Metasploit:
- Exploits (Эксплойты): Код, использующий уязвимость системы.
- Auxiliary (Вспомогательные): Модули для сканирования, фаззинга и других действий, которые не являются прямыми эксплойтами.
- Post-Exploitation (Пост-эксплуатация): Модули, используемые после получения доступа к целевой системе.
- Payloads (Полезные нагрузки): Код, который выполняется на целевой системе после успешного эксплойта.
Вы научитесь перечислять и идентифицировать эти модули с помощью консоли Metasploit (msfconsole).
Список доступных модулей эксплойтов
На этом шаге вы научитесь выводить список всех доступных модулей эксплойтов в Metasploit Framework. Модули эксплойтов предназначены для использования конкретного недостатка или уязвимости в системе, службе или приложении для получения несанкционированного доступа.
Сначала вам нужно запустить консоль Metasploit Framework. Мы будем использовать флаг -q для подавления стартового баннера, чтобы получить более чистый интерфейс. Оказавшись в консоли, вы можете использовать команду show exploits.
Откройте терминал и выполните следующую команду для запуска msfconsole:
msfconsole -q
Как только появится приглашение msfconsole (msf6 >), введите следующую команду для вывода списка всех модулей эксплойтов:
show exploits
Вы увидите длинный список доступных эксплойтов, а также дату их раскрытия, ранг и краткое описание. Ранг указывает на надежность эксплойта.
msf6 > show exploits
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/aix/local/ibstat_exec 2009-07-27 excellent No AIX ibstat Command Execution
1 exploit/aix/local/invscout_priv_esc 2012-03-30 excellent Yes AIX invscout Privilege Escalation
2 exploit/aix/rpc_catd 1995-01-01 great No AIX CDE ToolTalk rpc.catd Command Execution
...
2300 exploit/windows/smb/ms17_010_psexec 2017-03-14 excellent Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
...
После просмотра списка вы можете выйти из консоли Metasploit, введя exit:
exit
Список доступных вспомогательных модулей
На этом шаге вы выведете список вспомогательных модулей. В отличие от эксплойтов, вспомогательные модули не приводят напрямую к получению доступа к системе. Вместо этого они используются для широкого спектра задач, таких как сканирование открытых портов, идентификация служб, фаззинг, атаки типа "отказ в обслуживании" (Denial-of-Service) и сбор информации.
Как и на предыдущем шаге, запустите консоль Metasploit, а затем используйте команду show.
Снова запустите msfconsole из вашего терминала:
msfconsole -q
В приглашении msf6 > используйте команду show auxiliary, чтобы увидеть все доступные вспомогательные модули:
show auxiliary
Вывод отобразит полный список модулей, используемых для разведки и других действий, не являющихся эксплойтами.
msf6 > show auxiliary
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/admin/2wire/xslt_password_reset normal No 2Wire Cross-Site Scripting and Password Reset
1 auxiliary/admin/appletv/appletv_display_image normal No AppleTV Display Image
...
450 auxiliary/scanner/http/http_login normal No HTTP Login Utility
451 auxiliary/scanner/http/http_put normal Yes HTTP PUT File Upload Utility
...
Когда закончите, выйдите из консоли:
exit
Список доступных модулей пост-эксплуатации
На этом шаге вы изучите модули пост-эксплуатации. Эти модули используются после успешного компрометирования целевой системы. Их цель — помочь вам поддерживать доступ, собирать конфиденциальную информацию, повышать привилегии и перемещаться к другим системам в сети.
Процесс вывода списка этих модулей аналогичен предыдущим шагам.
Запустите консоль Metasploit:
msfconsole -q
В приглашении введите show post, чтобы вывести список всех модулей пост-эксплуатации:
show post
Вы увидите список модулей, сгруппированных по целевой операционной системе (например, Windows, Linux, OSX) и выполняемой ими функции (например, gather, manage, escalate).
msf6 > show post
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 post/android/capture/screen normal No Android Screen Capture
1 post/android/gather/contacts normal No Android Gather Contacts
...
250 post/linux/gather/enum_configs normal No Linux Gather Configurations
251 post/linux/gather/enum_protections normal No Linux Gather Protection Mechanisms
...
400 post/windows/gather/credentials/total_commander normal No Windows Gather Total Commander FTP Passwords
...
Не забудьте выйти из консоли, когда закончите изучение списка:
exit
Список доступных модулей полезной нагрузки (payload)
На этом шаге вы выведете список доступных модулей полезной нагрузки (payload). Полезная нагрузка — это код, который эксплойт доставляет целевой системе. Как только эксплойт успешно компрометирует систему, полезная нагрузка выполняется, предоставляя атакующему контроль. Полезные нагрузки могут варьироваться от простых командных оболочек (command shells) до высокоразвитого Meterpreter, который обеспечивает обширный контроль над машиной жертвы.
Выведем их с помощью msfconsole.
Запустите консоль Metasploit:
msfconsole -q
В приглашении msf6 > используйте команду show payloads:
show payloads
Вывод покажет различные полезные нагрузки, часто категоризированные по типу устанавливаемого соединения (например, reverse shell, bind shell) и целевой архитектуре.
msf6 > show payloads
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 payload/aix/ppc/shell_bind_tcp normal No AIX PowerPC Command Shell, Bind TCP Inline
1 payload/aix/ppc/shell_find_port normal No AIX PowerPC Command Shell, Find Port Inline
...
500 payload/linux/x86/meterpreter/reverse_tcp normal No Linux Meterpreter, Reverse TCP Stager
...
1000 payload/windows/x64/meterpreter/reverse_tcp normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (x64)
...
Наконец, выйдите из консоли:
exit
Различие между эксплойтом и полезной нагрузкой (payload)
На этом заключительном шаге мы закрепим ваше понимание ключевого различия между эксплойтом и полезной нагрузкой. Хотя они работают вместе, они служат разным целям.
- Эксплойт (Exploit): Это "транспортное средство доставки". Его единственная задача — использовать уязвимость для доставки полезной нагрузки в целевую систему. Думайте об этом как о ключе, который открывает дверь.
- Полезная нагрузка (Payload): Это "груз". Это код, который выполняется после успешного срабатывания эксплойта. Он определяет, что вы можете делать в скомпрометированной системе. Думайте об этом как о том, что вы делаете после того, как открыли дверь и вошли внутрь.
Эксплойт не может функционировать без полезной нагрузки, а полезная нагрузка не может быть доставлена без эксплойта.
Чтобы продемонстрировать свое понимание, создайте простой текстовый файл с именем difference.txt в вашем каталоге проекта, который обобщает эту концепцию.
Выполните следующую команду в вашем терминале:
echo "Exploit: Gains access. Payload: Runs after access." > /home/labex/project/difference.txt
Вы можете проверить правильность создания файла с помощью команды cat:
cat /home/labex/project/difference.txt
Вы должны увидеть следующий вывод:
Exploit: Gains access. Payload: Runs after access.
Это простое упражнение помогает укрепить основную взаимосвязь между этими двумя фундаментальными компонентами Metasploit.
Резюме
Поздравляем с завершением этой лабораторной работы! Вы успешно изучили основные типы модулей в Metasploit Framework.
Вы узнали, что:
- Модули эксплойтов (Exploit modules) используются для использования уязвимостей с целью получения первоначального доступа.
- Модули вспомогательных средств (Auxiliary modules) используются для сканирования, разведки и других действий, не связанных с эксплойтами.
- Модули пост-эксплуатации (Post-exploitation modules) запускаются в системе после ее компрометации.
- Модули полезной нагрузки (Payload modules) — это код, доставляемый эксплойтом, который выполняется на цели.
Самое главное, теперь вы понимаете критическое различие между эксплойтом (методом входа) и полезной нагрузкой (кодом, который выполняется после входа). Эти фундаментальные знания необходимы для проведения эффективных тестов на проникновение с использованием Metasploit.


