Metasploit для юнцов [Часть 1]

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 3K
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

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
Начнем с того, что вы можете использовать Metasploit из командной строки Kali или в режиме msfcli. На первый взгляд кажется, что когда мы находимся в консоли, мы используем командную строку. В действительности же мы используем интерактивную консоль со специальными ключевыми словами и командами. Когда же мы работаем из msfcli, то фактически используем командную строку Linux.

Чтобы получить информацию обо всех доступных командах msfcli, наберите в консоли:
Код:
kali > msfcli -h

Теперь, чтобы выполнить эксплоит из msfcli наберите команду:
Код:
kali > msfcli <the exploit> payload = <the payload> rhost = <IP> lhost = <IP> E
Где «E» — сокращение от «Execute» (выполнить)

В этом разделе по созданию payload (полезных нагрузок) для защиты от антивирусных программ мы используем команду msfencode и msfpayload в режиме командной строки (msfcli).
Недостатком использования msfcli является то, что он не так хорошо поддерживается как msfconsole, и вы ограничены единственным шелом, что делает некоторые из более сложных эксплойтов невозможными.


  • Armitage
Если вы хотите использовать Metasploit с графическим интерфейсом (GUI), то здесь есть несколько вариантов. Например, Рафаэль Мадж (Raphael Mudge) разработал Armitage (это имя главного героя в весьма оригинальной научно-фантастической книге о кибер-хакинге «Neuromancer». Ее должен прочитать каждый хакер, которому нравится жанр SciFi).

Чтобы запустить 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 есть шесть разных модулей:

  1. payloads
  2. exploits
  3. post
  4. nops
  5. auxiliary
  6. encoders
Payloads — это код, который мы оставляем на взломанной системе. Некоторые называют их слушателями (listener), руткитами (rootkit) и т.д. В Metasploit они называются payload (полезными нагрузками). Payloads включают утилиты командной строки, Meterpreter и т.д. Payload‘ы бывают разных типов, например, staged, inline, NoNX (обходит функцию «No Execute» (без выполнения) в некоторых современных процессорах), PassiveX (обходит правила брандмауэра об исходящем трафике), IPv6 и другие.

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
Понимание и использование всего нескольких ключевых слов поможет вам ориентироваться и управлять этим мощным инструментом. Давайте рассмотрим несколько наиболее простых и необходимых команд. Это далеко не исчерпывающий список, однако, он охватывает основные команды, которые вам придется выполнять в Metasploit, пока вы не приобретете больше опыта. Если у вас уже есть небольшой опыт работы в Metasploit и нужны команды для работы с Meterpreter, то посмотрите шпаргалку по командам Meterpreter.



Шаг 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 вывел нам список эксплойтов, вспомогательных модулей, модулей пост-эксплуатации, payload-модулей, кодировщиков и nops («No operation» — команда ничего не делать).

На скриншоте ниже видно, что в текущей версии Metasploit есть 335 payload (у вас это количество может отличаться в зависимости от того, какую версию вы используете). Это огромное количество payload, которое можно использовать в различных ситуациях.


Когда мы вводим в консоль:
Код:
msf > show payloads
Metasploit показывает 335 payload‘ов, как на скриншоте ниже.




Типы payload
Эти 335 payload‘ов разделены на 8 типов.

  • Inline
Эти payload представляют собой единый пакет, состоящий из эксплоита и payload. Они более стабильны, но из-за своего размера не всегда могут использоваться в небольших уязвимых областях памяти.

  • Staged
Эти payload способны встраиваться в очень маленький объем памяти и создавать целый плацдарм в целевой системе, а затем вытаскивать остальную часть payload в систему.

  • Meterpreter
Является самым мощным payload, который мы чаще всего хотели бы видеть в системе жертвы. Он работает путем инъекций в .dll и полностью находится в памяти целевой системы, не оставляя при этом следов своего присутствия на жестком диске или в файловой системе. У него есть ряд специальных команд и скриптов, разработанных для него, которые позволяют работать в системе жертвы так, как нам вздумается.

  • PassiveX
Этот payload предназначен для использования в тех ситуациях, когда правила брандмауэра ограничивают исходящий трафик. По сути, он использует ActiveX через браузер Internet Explorer. Чтобы скрыть свой исходящий трафик и избежать блокировки брандмауэром он использует HTTP-запросы и отвечает на запросы так же, как и любой браузер.

  • NoNX
В некоторых процессорах есть встроенная функция безопасности, называемая DEP (Data Execution Prevention — предотвращение выполнения данных). В Windows это называется No eXecute или NX. Задача этой функции — не допустить, чтобы данные поступали в центральный процессор и им выполнялись. Задача payload NoNX — обойти эту функцию.

  • Ord
Эти типы payload работают со всеми операционными системами Windows. Они чрезвычайно малы, но несколько нестабильны. Их работа заключается в загрузке DLL (динамически подключаемых библиотек) в эксплуатируемый процесс.

  • IPv6
Эти payload, как и следует из названия, предназначены для работы в сетях IPv6.

  • Reflective DLL Injection («Отражающая DLL-инъекция»)
Эти payload-модули вводятся прямо в целевой процесс, в то время, когда он запущен в память, тем самым никогда ничего не записывая на жесткий диск и не оставляя следов.



Payload-модули
Если мы посмотрим в директории Metasploit в терминале Kali Linux, мы увидим, что Metasploitделит свои payload‘ы на три типа. Очевидно, что восемь перечисленных выше типов объединены в эти три директории внутри самого Metasploit‘а.
Код:
kali > cd /usr/share/metasploit-framework/modules/payloads
 kali > ls -l


  • Staged
Выполняемые поэтапно payload используют крохотные модули Stagers (см. ниже), чтобы встроиться в небольшие эксплуатируемые нами участки памяти. Другими словами, если буфер эксплуатации системы жертвы или другая область памяти очень мала и позволяет выполнить только очень небольшой код, то сначала в область памяти внедряется небольшой Stager-модуль. После того, как он внедрится, он начинает работать как плацдарм для «вытягивания» остального payload‘а.

В свою очередь эти крупные 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
Stagers — небольшие payload, единственная задача которых заключается в том, чтобы внедриться в небольшую область памяти, а затем «вытащить» большой Staged payload-модуль. Это похоже на то, как если бы они «установили флаг» на системе-жертве, а затем начали бы загружать больший по размерам payload.

  • Singles
Часто их называют «встроенными полезными нагрузками» (Inline payloads). Cинглы — самодостаточные сущности, для которых не требуется Stager. Они, как правило, более стабильны и их использование предпочтительно, но во многих случаях их код слишком велик для уязвимой области памяти в целевой системе.

Давайте посмотрим в директорию этих синглов.
Код:
kali > cd singles
 kali > ls -l

Как мы видим, синглы разделены по типам уязвимых платформ. Если мы хотим увидеть те синглы, которые доступны для платформы Windows, мы просто вводим:
Код:
kali > cd windows
 kali > ls -l

Внутри этой директории мы видим все синглы, доступные для Windows. Мы выделили один из них — shell_reverse_tcp, это тот, который мы использовали во многих наших хаках.

Payload являются ключевой частью инфраструктуры Metasploit и предоставляют доступ к системе после завершения работы эксплоита. Чем лучше мы их понимаем, тем круче мы будем как хакеры.
  • Armitage
Многие новички не привыкли использовать интерактивную консоль msfconsole и поэтому тратят значительно больше времени на использование Metasploit. Тем не менее, у Metasploit есть другие средства управления системой, которые облегчают работу и помогают тем, кто чувствует себя неуверенно в командной строке.

Для тех, кому удобнее пользоваться программами с графическим интерфейсом (GUI), Рафаэль Мадж (Raphael Mudge) разработал графическую оболочку, которая подключается к Metasploit и позволяет управляться с ним как с любым приложением Windows. Он назвал его Armitage. Новичкам Armitageпоможет обучиться хакингу при помощи Metasploit быстрее и легче.

Скачиваем Armitage

Первым шагом, конечно же, является загрузка Armitage. Если у вас есть BackTrack или ранние версии Kali, то у вас скорее всего Armitage не будет установлен по умолчанию. Скачать его можно с сайта Armitage.


Кликните по кнопке загрузки, и она загрузит следующую страницу. Убедитесь, что это версия для Linux.

Другой вариант установки заключается в использовании инструментов командной строки. Чтобы установить Armitage из командной строки просто введите в консоль:
Код:
kali apt-get install armitage
Вы также можете использовать инструменты установки Kali с графическим интерфейсом — «Добавить/удалить программное обеспечение» и найти «Armitage».




Запускаем Metasploit
После того, как вы установили Armitage в систему, следующим шагом будет запуск Matsploit. Убедитесь, что сервер базы данных postgreSQL запущен, для этого наберите в консоли:
Код:
kali> service postgresql start
Теперь запустите Metasploit, набрав:
Код:
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:

  1. Вспомогательные
  2. Exploit
  3. Payload
  4. Post-модули
Вы уже знаете, что в Metasploit модули организованы по группам. Для новичка наиболее важными модулями являются exploit и payload.

Мы можем развернуть каталог модулей эксплоитов, кликнув на стрелку вправо. Он раскроется и покажет нам свое содержимое.


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’ы и кодировщики.
 

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
можно использовать и на телефоне и быть более мобильным. Для этого много не надо, телефон на базе андроид выше 5.0, интернет, прямые руки и немного времени.
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя