HHIDE_DUMP
Гость
H
HHIDE_DUMP
Гость
Этим руководством мы начинаем объемную серию статей для обучения и использования Metasploit. Эта первая ознакомительная часть, где кратко будут рассмотрены основы Metasploit— одной из самых мощных хакерских платформ на планете Земля.
Происхождение и установка Metasploit
Metasploit — проект с открытым исходным кодом, разработанный хакером HD Moore в 2003 году. Первоначально он был написан на Perl, но в 2007 году полностью переписан на Ruby. В 2009 году был выкуплен Rapid7, компанией специализирующейся на предоставлении услуг по информационной безопасности, которая также выпустила сканер уязвимостей Nexpose.
Metasploit версии 4.12 уже включен в дистрибутив Kali Linux. Он также встроен в BackTrack. Если вы используете другой дистрибутив Linux или MaxOS, то вам придется скачать его с сайта Rapid7.
Если вы используете Windows, то вам также придется скачать Metasploit с сайта Rapid7, но мы не рекомендуем запускать его в Windows. Вы, безусловно, сможете это сделать, однако многие функции, которые мы будем рассматривать в этой статье, просто не будут там работать.
У Metasploit есть несколько версий, в том числе Metasploit Pro (полностью коммерческая версия) и Community Edition (бесплатная). Вот последняя как раз и встроена в Kali. Мы сосредоточимся на Community Edition, поскольку мы думаем, что большинство из вас не будет покупать Pro версию стоимостью в $ 30 000.
Способы использования Metasploit
Metasploit можно использовать несколькими способами. Наиболее распространенный способ, который и мы все время используем — это интерактивная консоль Metasploit. Она активируется путем ввода msfconsole в командной строке Kali. Существует также несколько других методов.
Чтобы получить информацию обо всех доступных командах msfcli, наберите в консоли:
Теперь, чтобы выполнить эксплоит из msfcli наберите команду:
Где «E» — сокращение от «Execute» (выполнить)
В этом разделе по созданию payload (полезных нагрузок) для защиты от антивирусных программ мы используем команду msfencode и msfpayload в режиме командной строки (msfcli).
Недостатком использования msfcli является то, что он не так хорошо поддерживается как msfconsole, и вы ограничены единственным шелом, что делает некоторые из более сложных эксплойтов невозможными.
Чтобы запустить Armitage в Kali, просто введите:
Если Armitage не может соединиться, то попробуйте другие команды:
Armitage — это графический интерфейс поверх самого Metasploit, построенный на архитектуре клиент-сервер. Вы запускаете Metasploit в качестве сервера, и Armitage становится его клиентом, предоставляя вам полный доступ к функциям Metasploit с помощью полнофункционального, хотя и не интуитивно понятного GUI. Если вам действительно нужен GUI, чтобы чувствовать себя комфортно, то, пожалуйста, используйте Armitage. Но овладение командной строкой — практически жизненная необходимость для любого уважающего себя хакера.
Модули
У Metasploit есть шесть разных модулей:
Exploits — это шелл-код, который использует уязвимость или недостатки в системе. Это очень специфичный код. Например, есть эксплоиты для операционной системы, пакетов обновлений (SP), для конкретных служб, портов и даже для приложений. Их также можно классифицировать по типам операционных систем, поэтому эксплойт Windows не работает в Linux и наоборот.
Post — это модули, которые мы можем использовать для пост эксплуатационных атак системы (т.е. после получения доступа к системе).
Nops — сокращение от No OPerationS. В процессорах семейства x86 обычно указывается как шестнадцатеричный 0x90. Это просто означает «ничего не делать». Это может иметь решающее значение для атак переполнения буфера (buffer overflow). Мы можем посмотреть модули nops с помощью команды show.
Auxiliary — включает в себя множество модулей (695), которые не вписываются ни в одну из других категорий. К ним относятся такие вещи, как фьюзеры (fuzzer), сканеры (scanner), модули для DoS-атак (на отказ в обслуживании) и многое другое.
Encoders — это модули, которые позволяют по-разному кодировать нашу полезную нагрузку (payloads), чтобы обойти антивирусное ПО и другие системы безопасности. Мы можем увидеть эти кодировщики, набрав:
Как видите, в Metasploit встроено довольно много кодировщиков. Один из наших фаворитов — shikata_ga_nai. Он позволяет использовать payload XOR, что помогает обманывать антивирусные программы и другие системы безопасности.
Поиск
В Metasploit 4 появилась возможность поиска. Раньше приходилось использовать msfcli и команду grep, чтобы найти модули. Теперь Rapid7 добавил поиск по ключевым словам и некоторые другие особенности. Добавление поиска было очень своевременным, поскольку Metasploit значительно разросся, а обычного поиска по запросам grep было уже недостаточно, чтобы найти что-нибудь среди более чем 1400 эксплойтов.
Поиск по ключевым словам позволяет выполнять как простой поиск, так и делать более детализированные поисковые запросы. Например, мы можем определить тип модуля, который нужно найти, используя ключевое слово type:
Если мы это сделаем, то Metasploit вернет нам 1295 эксплойтов. Не очень полезно.
Но если мы знаем, что хотим атаковать машину Sun Microsystems под управлением Solaris(Sun UNIX), то мы можем уточнить наш поиск и искать только эксплоиты для Solaris. В этом случае нам нужно использовать ключевое слово platform.
Теперь мы сузили наш поиск до тех немногих эксплойтов, которые будут работать против Solaris.
Для дальнейшего уточнения поиска предположим, что мы хотим атаковать Solaris RPC (sunrpc) и, соответственно, нам нужно видеть только те эксплоиты, которые атакуют эту конкретную службу. Мы добавляем ключевое слово «sunrpc» в наш поисковый запрос, как показано ниже:
Как видите, это сузило результаты поисковой выдачи до пяти модулей эксплойтов!
Шаг 1. Show
«Show» — одна из основных команд в Metasploit. Она может быть использована для отображения модулей, например, payload’ов, эксплоитов и т.д. Но она также может использоваться для отображения параметров после того как мы выберем эксплоит. Команда «show» начинает определять свой контекст, когда мы выбираем эксплоит. Поэтому, если мы введем в консоли «show payloads» перед тем, как выберем эксплоит, она покажет нам ВСЕ payload’ы. Если мы выберем «show payloads» уже после выбора конкретного эксплоита, то она покажет нам только те payload’ы, которые будут работать с данным конкретным эксплоитом.Например, когда нам нужно увидеть все параметры, которые мы должны определить при установке бэкдора в PDF-файл, мы используем команду «show options», как показано на этом скриншоте:
Шаг 2. Help
Команда «help» даст нам ограниченный список команд, которые мы можем использовать в msfconsole. Если вы потеряете эту статью и забудете все, что здесь написано, то просто введите в консоли «help» и получите основные команды.
Шаг 3. Info
«Info» — это еще одна базовая команда в Metasploit, которая позволяет нам видеть всю основную информацию об эксплоите. После того, как мы выбрали эксплоит, мы можем ввести в консоль команду «info» и она покажет нам все параметры, цели и описание эксплоита. Мы предпочитаем использовать «info» для любого эксплоита, который используем, чтобы лишний раз вспомнить его функции и требования. Например, вот скриншот из вывода команды «info» при использовании вспомогательного модуля ftp.
Шаг 4. Set
«Set» — это основная и критически важная команда (ключевое слово) в Metasploit. Мы можем использовать ее для установки параметров и переменных, необходимых для запуска эксплоита. Эти переменные могут включать payload’ы, RHOST, LHOST, цель, URIPATH и т.д. На скриншоте ниже видно, как при помощи команды «set» для взлома системы, модулю psexecустанавливаются параметры RHOST, LHOST, SMBUser и SMBPass.
Шаг 5. Back
Когда мы закончили работу с определенным модулем или если мы выбрали неправильный модуль, то мы можем использовать команду «back», чтобы вернуться в строку приглашения msfconsole. Например, если мы выбрали какой-то эксплоит, а потом вдруг поняли, что выбрали неправильный, то мы можем просто ввести «back», а затем использовать команду «use» (см. следующий раздел), чтобы выбрать другой модуль.
Шаг 6. Use
Когда мы определили, какой эксплоит хотим использовать против «вражеской» системы, мы должны воспользоваться командой «use» для загрузки этого эксплоита в память и чтобы отправить его в интересующую нас систему.
Шаг 7. Exploit
После того как мы выбрали нужный эксплоит, установили все необходимые переменные, выбрали какой payload будем использовать, последнее, что мы должны сделать — ввести в консоль команду «exploit». Она запустит эксплоит против целевой машины с тем payload’ом и теми переменными, которые мы для него установили. Пример этого можно найти в нашем руководстве по созданию эксплоита в невинно выглядящем Word-документе, а затем отправить его вашей подруге, чтобы узнать, не изменяет ли она вам.
Шаг 8. Sessions
Команда «sessions» применяется для отображения или установки сессии. При использовании с параметром -l (list) она отображает все открытые сессии. Когда она используется с числом («sessions -1»), то она дает Metasploit указание активировать первую сессию. Metasploitпозволяет нам запускать несколько сессий как в одной системе, так и в нескольких. Используя команду «sessions», мы можем найти все открытые сессии, переключаться между ними или активировать их. Вы можете найти пример использования этой команды в руководстве по созданию непрерывно подсоединяющегося к целевой системе бэкдора, как показано на скриншоте ниже.
Шаг 9. Exit
Когда мы хотим выйти из консоли msfconsole, то можем просто ввести «exit», чтобы вернуться в командную строку Linux.
Мы рассказала вам о базовом наборе команд, который позволит запускать практически любой взлом в Metasploit.
Payloads(Полезные нагрузки)
Как вы знаете, Metasploit — это эксплуатационный фреймворк, в котором каждый хакер должен уметь работать.
Metasploit позволяет нам использовать предварительно написанные эксплоиты против известных уязвимостей в операционных системах, браузерах и других приложениях, а также размещать на целевой системе некоторый код, который иногда называют руткитами (rootkit), «слушателями» (listener) или полезными нагрузками (payload). Payload’ы позволяют нам подключаться к целевой системе и использовать ее как нашу собственную, после того как мы воспользуемся уязвимостью в этой системе. Мы рассмотрим те payload, которые встроены в Metasploit.
Metasploit имеет множество различных типов payload, которые можно оставить в целевой системе. Мы надеемся, это поможет вам выбрать подходящий payload для вашего хака.
На скриншоте ниже видно, что в текущей версии Metasploit есть 335 payload (у вас это количество может отличаться в зависимости от того, какую версию вы используете). Это огромное количество payload, которое можно использовать в различных ситуациях.
Когда мы вводим в консоль:
Metasploit показывает 335 payload‘ов, как на скриншоте ниже.
Типы payload
Эти 335 payload‘ов разделены на 8 типов.
Payload-модули
Если мы посмотрим в директории Metasploit в терминале Kali Linux, мы увидим, что Metasploitделит свои payload‘ы на три типа. Очевидно, что восемь перечисленных выше типов объединены в эти три директории внутри самого Metasploit‘а.
В свою очередь эти крупные Staged payload’ы включают еще более сложные payload-модули, такие как Meterpreter и VNC Injection, каждый из которых имеет большой и сложный код. Как правило, имя Staged payload вставляется в имя основного payload между символами «/». Например, как это сделано в payload windows/shell/tcp_bind, где «Tcp_bind» — это «Stager» (см. ниже), а «shell» — это «Staged».
К сожалению, это соглашение не используется последовательно в Metasploit, поэтому часто нужно переходить в раздел «info» конкретного payload или искать директорию, в которой он находится, чтобы определить, является ли он Staged payload.
Давайте посмотрим в директорию этих синглов.
Как мы видим, синглы разделены по типам уязвимых платформ. Если мы хотим увидеть те синглы, которые доступны для платформы Windows, мы просто вводим:
Внутри этой директории мы видим все синглы, доступные для Windows. Мы выделили один из них — shell_reverse_tcp, это тот, который мы использовали во многих наших хаках.
Payload являются ключевой частью инфраструктуры Metasploit и предоставляют доступ к системе после завершения работы эксплоита. Чем лучше мы их понимаем, тем круче мы будем как хакеры.
Для тех, кому удобнее пользоваться программами с графическим интерфейсом (GUI), Рафаэль Мадж (Raphael Mudge) разработал графическую оболочку, которая подключается к Metasploit и позволяет управляться с ним как с любым приложением Windows. Он назвал его Armitage. Новичкам Armitageпоможет обучиться хакингу при помощи Metasploit быстрее и легче.
Скачиваем Armitage
Первым шагом, конечно же, является загрузка Armitage. Если у вас есть BackTrack или ранние версии Kali, то у вас скорее всего Armitage не будет установлен по умолчанию. Скачать его можно с сайта Armitage.
Кликните по кнопке загрузки, и она загрузит следующую страницу. Убедитесь, что это версия для Linux.
Другой вариант установки заключается в использовании инструментов командной строки. Чтобы установить Armitage из командной строки просто введите в консоль:
Вы также можете использовать инструменты установки Kali с графическим интерфейсом — «Добавить/удалить программное обеспечение» и найти «Armitage».
Запускаем Metasploit
После того, как вы установили Armitage в систему, следующим шагом будет запуск Matsploit. Убедитесь, что сервер базы данных postgreSQL запущен, для этого наберите в консоли:
Теперь запустите Metasploit, набрав:
Запускаем Armitage
Armitage реализует архитектуру клиент-сервер, где Metasploit является сервером, а сам Armitage — его клиентом. По сути, Armitage — это GUI-клиент, с которым можно взаимодействовать и контролировать сервер Metasploit.
Чтобы запустить Armitage наберите в консоли Kali:
Когда вы это сделаете, увидите примерно такое сообщение.
Если вы используете Metasploit из своей «домашней» системы, то оставьте все значения по умолчанию и нажмите «Connect» (Подключиться). Если вы хотите запустить Armitage на удаленной системе, тогда просто введите IP-адрес системы, на которой собираетесь запустить Metasploit в поле «Host».
Запускаем RPC-сервер
Armitage подключается к RPC-серверу для управления Metasploit. Скорее всего, вы увидите такое приглашение после запуска Armitage:
В некоторых случаях для подключения потребуется некоторое время. Выглядит это как на скриншоте ниже.
Когда Armitage, наконец, подключится к RPC-серверу Metasploit, появится такое окно.
Отлично! Вот теперь вы сможете использовать Metasploit через простой графический интерфейс.
Исследуем Armitage
Обратите внимание, что в верхнем левом углу окна Armitage расположены папки. Эти папки содержат четыре типа модулей Metasploit:
Мы можем развернуть каталог модулей эксплоитов, кликнув на стрелку вправо. Он раскроется и покажет нам свое содержимое.
Metasploit классифицирует свои эксплоиты по типу операционных систем, для которых они предназначены, например Windows, BSD, Linux, Solaris и т.д. Помните, что эксплоиты специфичны для каждой операционной системы, приложения, порта, службы, а иногда даже для языка. Теперь если мы перейдем к директории Windows и раскроем ее, то увидим все уязвимости Windows, классифицированные по их типу.
Теперь, когда мы ищем эксплойт для использования в конкретной операционной системе для конкретной уязвимости, мы можем просто навести на него курсор мышки и кликнуть на него.
Hail Mary!
Почти все, что вы можете сделать в консоли Metasploit, можно сделать и с помощью Armitage. Но есть одна вещь, которую можно выполнить при помощи Armitage, и которую нельзя сделать с помощью msfconsole (по крайней мере, без использования специальных скриптов). Это самая вещь называется Hail Mary! Hail Mary — это модуль Armitage, который будет пробовать запустить каждый эксплоит против сайта, чтобы проверить, работает ли какой-нибудь из них.
Просто перейдите в меню «Attacks» (Атаки) в верхней части Armitage и выберите «Hail Mary». Когда вы кликните на него, он выдаст предупреждающее сообщение как на скриншоте ниже.
Это не слишком эффективный способ взлома из-за того, что процесс не является скрытным. Это создаст так много «шума» на целевой системе, что вы, скорее всего, будете обнаружены практически сразу. Но на тестовой машине или в пентестирующем окружении — его использование может быть полезным, т.к. дает возможность попробовать многочисленные атаки против цели, чтобы посмотреть, какие из них будут работать, а какие нет.
Armitage позволяет начинающему хакеру быстро понять основы взлома при помощи Metasploitи начать использовать этот превосходный и мощный инструмент в очень короткие сроки. И мы все обязаны Рафаэлю Маджу за разработку этой прекрасной программы!
Заключение
Давайте подведем итоги того, что мы узнали в этой части нашей серии статей по Metasploit:
Мы показали различные способы использования Metasploit — от msfcli и msfconsole до клиента с графическим интерфейсом Armitage. Кроме того, мы изучили различные модули Metasploit, включая эксплоиты, payload’ы и кодировщики.
Происхождение и установка Metasploit
Metasploit — проект с открытым исходным кодом, разработанный хакером HD Moore в 2003 году. Первоначально он был написан на Perl, но в 2007 году полностью переписан на Ruby. В 2009 году был выкуплен Rapid7, компанией специализирующейся на предоставлении услуг по информационной безопасности, которая также выпустила сканер уязвимостей Nexpose.
Metasploit версии 4.12 уже включен в дистрибутив Kali Linux. Он также встроен в BackTrack. Если вы используете другой дистрибутив Linux или MaxOS, то вам придется скачать его с сайта Rapid7.
Если вы используете Windows, то вам также придется скачать Metasploit с сайта Rapid7, но мы не рекомендуем запускать его в Windows. Вы, безусловно, сможете это сделать, однако многие функции, которые мы будем рассматривать в этой статье, просто не будут там работать.
У Metasploit есть несколько версий, в том числе Metasploit Pro (полностью коммерческая версия) и Community Edition (бесплатная). Вот последняя как раз и встроена в Kali. Мы сосредоточимся на Community Edition, поскольку мы думаем, что большинство из вас не будет покупать Pro версию стоимостью в $ 30 000.
Способы использования Metasploit
Metasploit можно использовать несколькими способами. Наиболее распространенный способ, который и мы все время используем — это интерактивная консоль Metasploit. Она активируется путем ввода msfconsole в командной строке Kali. Существует также несколько других методов.
- Msfcli
Чтобы получить информацию обо всех доступных командах msfcli, наберите в консоли:
Код:
kali > msfcli -h
Теперь, чтобы выполнить эксплоит из msfcli наберите команду:
Код:
kali > msfcli <the exploit> payload = <the payload> rhost = <IP> lhost = <IP> E
В этом разделе по созданию payload (полезных нагрузок) для защиты от антивирусных программ мы используем команду msfencode и msfpayload в режиме командной строки (msfcli).
Недостатком использования msfcli является то, что он не так хорошо поддерживается как msfconsole, и вы ограничены единственным шелом, что делает некоторые из более сложных эксплойтов невозможными.
- Armitage
Чтобы запустить Armitage в Kali, просто введите:
Код:
kali > armitage
Если Armitage не может соединиться, то попробуйте другие команды:
Код:
kali > service start postgresql
kali > service start metasploit
kali > service stop metasploit
Armitage — это графический интерфейс поверх самого Metasploit, построенный на архитектуре клиент-сервер. Вы запускаете Metasploit в качестве сервера, и Armitage становится его клиентом, предоставляя вам полный доступ к функциям Metasploit с помощью полнофункционального, хотя и не интуитивно понятного GUI. Если вам действительно нужен GUI, чтобы чувствовать себя комфортно, то, пожалуйста, используйте Armitage. Но овладение командной строкой — практически жизненная необходимость для любого уважающего себя хакера.
Модули
У Metasploit есть шесть разных модулей:
- payloads
- exploits
- post
- nops
- auxiliary
- encoders
Exploits — это шелл-код, который использует уязвимость или недостатки в системе. Это очень специфичный код. Например, есть эксплоиты для операционной системы, пакетов обновлений (SP), для конкретных служб, портов и даже для приложений. Их также можно классифицировать по типам операционных систем, поэтому эксплойт Windows не работает в Linux и наоборот.
Post — это модули, которые мы можем использовать для пост эксплуатационных атак системы (т.е. после получения доступа к системе).
Nops — сокращение от No OPerationS. В процессорах семейства x86 обычно указывается как шестнадцатеричный 0x90. Это просто означает «ничего не делать». Это может иметь решающее значение для атак переполнения буфера (buffer overflow). Мы можем посмотреть модули nops с помощью команды show.
Код:
msf > show nops
Auxiliary — включает в себя множество модулей (695), которые не вписываются ни в одну из других категорий. К ним относятся такие вещи, как фьюзеры (fuzzer), сканеры (scanner), модули для DoS-атак (на отказ в обслуживании) и многое другое.
Encoders — это модули, которые позволяют по-разному кодировать нашу полезную нагрузку (payloads), чтобы обойти антивирусное ПО и другие системы безопасности. Мы можем увидеть эти кодировщики, набрав:
Код:
msf > show encoders
Как видите, в Metasploit встроено довольно много кодировщиков. Один из наших фаворитов — shikata_ga_nai. Он позволяет использовать payload XOR, что помогает обманывать антивирусные программы и другие системы безопасности.
Поиск
В Metasploit 4 появилась возможность поиска. Раньше приходилось использовать msfcli и команду grep, чтобы найти модули. Теперь Rapid7 добавил поиск по ключевым словам и некоторые другие особенности. Добавление поиска было очень своевременным, поскольку Metasploit значительно разросся, а обычного поиска по запросам grep было уже недостаточно, чтобы найти что-нибудь среди более чем 1400 эксплойтов.
Поиск по ключевым словам позволяет выполнять как простой поиск, так и делать более детализированные поисковые запросы. Например, мы можем определить тип модуля, который нужно найти, используя ключевое слово type:
Код:
msf > search type:exploit
Если мы это сделаем, то Metasploit вернет нам 1295 эксплойтов. Не очень полезно.
Но если мы знаем, что хотим атаковать машину Sun Microsystems под управлением Solaris(Sun UNIX), то мы можем уточнить наш поиск и искать только эксплоиты для Solaris. В этом случае нам нужно использовать ключевое слово platform.
Код:
msf > search type:exploit platform:solaris
Теперь мы сузили наш поиск до тех немногих эксплойтов, которые будут работать против Solaris.
Для дальнейшего уточнения поиска предположим, что мы хотим атаковать Solaris RPC (sunrpc) и, соответственно, нам нужно видеть только те эксплоиты, которые атакуют эту конкретную службу. Мы добавляем ключевое слово «sunrpc» в наш поисковый запрос, как показано ниже:
Код:
msf > search type:exploit platform:solaris sunrpc
Как видите, это сузило результаты поисковой выдачи до пяти модулей эксплойтов!
- Ключевые слова Metasploit
Шаг 1. Show
«Show» — одна из основных команд в Metasploit. Она может быть использована для отображения модулей, например, payload’ов, эксплоитов и т.д. Но она также может использоваться для отображения параметров после того как мы выберем эксплоит. Команда «show» начинает определять свой контекст, когда мы выбираем эксплоит. Поэтому, если мы введем в консоли «show payloads» перед тем, как выберем эксплоит, она покажет нам ВСЕ payload’ы. Если мы выберем «show payloads» уже после выбора конкретного эксплоита, то она покажет нам только те payload’ы, которые будут работать с данным конкретным эксплоитом.Например, когда нам нужно увидеть все параметры, которые мы должны определить при установке бэкдора в PDF-файл, мы используем команду «show options», как показано на этом скриншоте:
Шаг 2. Help
Команда «help» даст нам ограниченный список команд, которые мы можем использовать в msfconsole. Если вы потеряете эту статью и забудете все, что здесь написано, то просто введите в консоли «help» и получите основные команды.
Шаг 3. Info
«Info» — это еще одна базовая команда в Metasploit, которая позволяет нам видеть всю основную информацию об эксплоите. После того, как мы выбрали эксплоит, мы можем ввести в консоль команду «info» и она покажет нам все параметры, цели и описание эксплоита. Мы предпочитаем использовать «info» для любого эксплоита, который используем, чтобы лишний раз вспомнить его функции и требования. Например, вот скриншот из вывода команды «info» при использовании вспомогательного модуля ftp.
Шаг 4. Set
«Set» — это основная и критически важная команда (ключевое слово) в Metasploit. Мы можем использовать ее для установки параметров и переменных, необходимых для запуска эксплоита. Эти переменные могут включать payload’ы, RHOST, LHOST, цель, URIPATH и т.д. На скриншоте ниже видно, как при помощи команды «set» для взлома системы, модулю psexecустанавливаются параметры RHOST, LHOST, SMBUser и SMBPass.
Шаг 5. Back
Когда мы закончили работу с определенным модулем или если мы выбрали неправильный модуль, то мы можем использовать команду «back», чтобы вернуться в строку приглашения msfconsole. Например, если мы выбрали какой-то эксплоит, а потом вдруг поняли, что выбрали неправильный, то мы можем просто ввести «back», а затем использовать команду «use» (см. следующий раздел), чтобы выбрать другой модуль.
Шаг 6. Use
Когда мы определили, какой эксплоит хотим использовать против «вражеской» системы, мы должны воспользоваться командой «use» для загрузки этого эксплоита в память и чтобы отправить его в интересующую нас систему.
Шаг 7. Exploit
После того как мы выбрали нужный эксплоит, установили все необходимые переменные, выбрали какой payload будем использовать, последнее, что мы должны сделать — ввести в консоль команду «exploit». Она запустит эксплоит против целевой машины с тем payload’ом и теми переменными, которые мы для него установили. Пример этого можно найти в нашем руководстве по созданию эксплоита в невинно выглядящем Word-документе, а затем отправить его вашей подруге, чтобы узнать, не изменяет ли она вам.
Шаг 8. Sessions
Команда «sessions» применяется для отображения или установки сессии. При использовании с параметром -l (list) она отображает все открытые сессии. Когда она используется с числом («sessions -1»), то она дает Metasploit указание активировать первую сессию. Metasploitпозволяет нам запускать несколько сессий как в одной системе, так и в нескольких. Используя команду «sessions», мы можем найти все открытые сессии, переключаться между ними или активировать их. Вы можете найти пример использования этой команды в руководстве по созданию непрерывно подсоединяющегося к целевой системе бэкдора, как показано на скриншоте ниже.
Шаг 9. Exit
Когда мы хотим выйти из консоли msfconsole, то можем просто ввести «exit», чтобы вернуться в командную строку Linux.
Мы рассказала вам о базовом наборе команд, который позволит запускать практически любой взлом в Metasploit.
Payloads(Полезные нагрузки)
Как вы знаете, Metasploit — это эксплуатационный фреймворк, в котором каждый хакер должен уметь работать.
Metasploit позволяет нам использовать предварительно написанные эксплоиты против известных уязвимостей в операционных системах, браузерах и других приложениях, а также размещать на целевой системе некоторый код, который иногда называют руткитами (rootkit), «слушателями» (listener) или полезными нагрузками (payload). Payload’ы позволяют нам подключаться к целевой системе и использовать ее как нашу собственную, после того как мы воспользуемся уязвимостью в этой системе. Мы рассмотрим те payload, которые встроены в Metasploit.
Metasploit имеет множество различных типов payload, которые можно оставить в целевой системе. Мы надеемся, это поможет вам выбрать подходящий payload для вашего хака.
- Запустите Kali Linux и откройте Metasploit
На скриншоте ниже видно, что в текущей версии Metasploit есть 335 payload (у вас это количество может отличаться в зависимости от того, какую версию вы используете). Это огромное количество payload, которое можно использовать в различных ситуациях.
Когда мы вводим в консоль:
Код:
msf > show payloads
Типы payload
Эти 335 payload‘ов разделены на 8 типов.
- Inline
- Staged
- Meterpreter
- PassiveX
- NoNX
- Ord
- IPv6
- Reflective DLL Injection («Отражающая DLL-инъекция»)
Payload-модули
Если мы посмотрим в директории Metasploit в терминале Kali Linux, мы увидим, что Metasploitделит свои payload‘ы на три типа. Очевидно, что восемь перечисленных выше типов объединены в эти три директории внутри самого Metasploit‘а.
Код:
kali > cd /usr/share/metasploit-framework/modules/payloads
kali > ls -l
- Staged
В свою очередь эти крупные Staged payload’ы включают еще более сложные payload-модули, такие как Meterpreter и VNC Injection, каждый из которых имеет большой и сложный код. Как правило, имя Staged payload вставляется в имя основного payload между символами «/». Например, как это сделано в payload windows/shell/tcp_bind, где «Tcp_bind» — это «Stager» (см. ниже), а «shell» — это «Staged».
К сожалению, это соглашение не используется последовательно в Metasploit, поэтому часто нужно переходить в раздел «info» конкретного payload или искать директорию, в которой он находится, чтобы определить, является ли он Staged payload.
- Stagers
- Singles
Давайте посмотрим в директорию этих синглов.
Код:
kali > cd singles
kali > ls -l
Как мы видим, синглы разделены по типам уязвимых платформ. Если мы хотим увидеть те синглы, которые доступны для платформы Windows, мы просто вводим:
Код:
kali > cd windows
kali > ls -l
Внутри этой директории мы видим все синглы, доступные для Windows. Мы выделили один из них — shell_reverse_tcp, это тот, который мы использовали во многих наших хаках.
Payload являются ключевой частью инфраструктуры Metasploit и предоставляют доступ к системе после завершения работы эксплоита. Чем лучше мы их понимаем, тем круче мы будем как хакеры.
- Armitage
Для тех, кому удобнее пользоваться программами с графическим интерфейсом (GUI), Рафаэль Мадж (Raphael Mudge) разработал графическую оболочку, которая подключается к Metasploit и позволяет управляться с ним как с любым приложением Windows. Он назвал его Armitage. Новичкам Armitageпоможет обучиться хакингу при помощи Metasploit быстрее и легче.
Скачиваем Armitage
Первым шагом, конечно же, является загрузка Armitage. Если у вас есть BackTrack или ранние версии Kali, то у вас скорее всего Armitage не будет установлен по умолчанию. Скачать его можно с сайта Armitage.
Кликните по кнопке загрузки, и она загрузит следующую страницу. Убедитесь, что это версия для Linux.
Другой вариант установки заключается в использовании инструментов командной строки. Чтобы установить Armitage из командной строки просто введите в консоль:
Код:
kali apt-get install armitage
Запускаем Metasploit
После того, как вы установили Armitage в систему, следующим шагом будет запуск Matsploit. Убедитесь, что сервер базы данных postgreSQL запущен, для этого наберите в консоли:
Код:
kali> service postgresql start
Код:
kali> msfconsole
Запускаем Armitage
Armitage реализует архитектуру клиент-сервер, где Metasploit является сервером, а сам Armitage — его клиентом. По сути, Armitage — это GUI-клиент, с которым можно взаимодействовать и контролировать сервер Metasploit.
Чтобы запустить Armitage наберите в консоли Kali:
Код:
kali> armitage
Если вы используете Metasploit из своей «домашней» системы, то оставьте все значения по умолчанию и нажмите «Connect» (Подключиться). Если вы хотите запустить Armitage на удаленной системе, тогда просто введите IP-адрес системы, на которой собираетесь запустить Metasploit в поле «Host».
Запускаем RPC-сервер
Armitage подключается к RPC-серверу для управления Metasploit. Скорее всего, вы увидите такое приглашение после запуска Armitage:
В некоторых случаях для подключения потребуется некоторое время. Выглядит это как на скриншоте ниже.
Когда Armitage, наконец, подключится к RPC-серверу Metasploit, появится такое окно.
Отлично! Вот теперь вы сможете использовать Metasploit через простой графический интерфейс.
Исследуем Armitage
Обратите внимание, что в верхнем левом углу окна Armitage расположены папки. Эти папки содержат четыре типа модулей Metasploit:
- Вспомогательные
- Exploit
- Payload
- Post-модули
Мы можем развернуть каталог модулей эксплоитов, кликнув на стрелку вправо. Он раскроется и покажет нам свое содержимое.
Metasploit классифицирует свои эксплоиты по типу операционных систем, для которых они предназначены, например Windows, BSD, Linux, Solaris и т.д. Помните, что эксплоиты специфичны для каждой операционной системы, приложения, порта, службы, а иногда даже для языка. Теперь если мы перейдем к директории Windows и раскроем ее, то увидим все уязвимости Windows, классифицированные по их типу.
Теперь, когда мы ищем эксплойт для использования в конкретной операционной системе для конкретной уязвимости, мы можем просто навести на него курсор мышки и кликнуть на него.
Hail Mary!
Почти все, что вы можете сделать в консоли Metasploit, можно сделать и с помощью Armitage. Но есть одна вещь, которую можно выполнить при помощи Armitage, и которую нельзя сделать с помощью msfconsole (по крайней мере, без использования специальных скриптов). Это самая вещь называется Hail Mary! Hail Mary — это модуль Armitage, который будет пробовать запустить каждый эксплоит против сайта, чтобы проверить, работает ли какой-нибудь из них.
Просто перейдите в меню «Attacks» (Атаки) в верхней части Armitage и выберите «Hail Mary». Когда вы кликните на него, он выдаст предупреждающее сообщение как на скриншоте ниже.
Это не слишком эффективный способ взлома из-за того, что процесс не является скрытным. Это создаст так много «шума» на целевой системе, что вы, скорее всего, будете обнаружены практически сразу. Но на тестовой машине или в пентестирующем окружении — его использование может быть полезным, т.к. дает возможность попробовать многочисленные атаки против цели, чтобы посмотреть, какие из них будут работать, а какие нет.
Armitage позволяет начинающему хакеру быстро понять основы взлома при помощи Metasploitи начать использовать этот превосходный и мощный инструмент в очень короткие сроки. И мы все обязаны Рафаэлю Маджу за разработку этой прекрасной программы!
Заключение
Давайте подведем итоги того, что мы узнали в этой части нашей серии статей по Metasploit:
Мы показали различные способы использования Metasploit — от msfcli и msfconsole до клиента с графическим интерфейсом Armitage. Кроме того, мы изучили различные модули Metasploit, включая эксплоиты, payload’ы и кодировщики.