Понимание типов модулей Metasploit

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

Введение

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.