Всех приветствую читатели Хабра!
Сегодня я поведую о том как установить, настроить, и эксплуатировать уязвимости заранее уязвимой машины Metasploitable2-Linux. В данной статье я скорее даже поделюсь своим опытом взлома уязвимого хоста в виртуальной машине.
Но для начала правовая информация:
Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей
Естественно для целей изучения указанного софта я и использую виртуальную машину у себя на своем личном компьютере, а не удаленный хост или сервер.
Моя основная система Kali GNU/Linux, цель моей атаки - виртуальная машина Metasploitable2-Linux. Вообще Metasploitable2-Linux была создана для тестирования на проникновения (пенстест, белый хакинг) другого известного фреймворка - metasploit-framework. Но metasploit-framework я использовать в данном случае не буду, а буду пробовать атаковать уязвимый хост программами для брутфорса - hydra, medusa, ncrack.
Итак у нас имеются две задачи сейчас:
I "Поднять" уязвимую машину в virtual box, и настроить ее.
II Проэксплуатировать уязвимости машины.
I. Как ни странно но первая задача оказалась гораздо сложнее второй.
Скакчать образ уязвимой машины можно вот туТъ https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
После скачивания увидим архив, который мы и распакуем.
Видим что внутри архива находится несколько файлов.
Далее установим весь необходимый нам софт командой:
sudo apt install nmap whatweb hydra medusa ncrack virtualbox
В операционной системе Kali GNU/Linux пакеты nmap whatweb hydra medusa ncrack предустановлены, а вот виртуал бокс мне необходимо установить.
После установки открываем программу
Нажимаем "создать", даем имя, выбираем тип Linux, Версия Other Linux 64bit
Далее задаем оперативной памяти 512Мб, 2 ядра процессора, объем на жестком диске около 2Гб, Далее очень важно!!! Выбираем использовать существующим виртуальный жесткий диск Metasploitable.vdmk.
Далее необходимо настроить сетевой мост, это также крайне важно. Я использую для подключение к сети usb шнур значит и для виртуального хоста необходимо это выбрать, иначе виртуальному хосту будет присвоен ipv6 адрес и процедура взлома либо усложнится, либо выхода в локальную сеть у такого хоста вообще не будет. Нажимаем настройки (прав. кнопка мыши на нашей виртуалке) далее сеть. Выбираем сетевой мост и usb0 интерфейс.
Все на этом настройка и установка закончены.
II Сам взлом
Запускаем нашу виртуальную машину, авторизируемся - логин и пароль msfadmin. Вводим команду ifconfig и видим ip адрес машины - 192.168.166.234.
Далее сканируем хост (некоторые команды и программы выполняются от имени root, поэтому иногда необходима приставка sudo):
whatweb 192.168.166.234
sudo nmap 192.168.166.234
Видим службы, ОС, другую информацию, а также открытые порты.
Создаем словари юзеров и паролей - user.txt, pass.txt. У меня они совсем небольшие, я выведу их содержимое командой cat.
Информация по утилитам, атакуемым протоколам, на скриншотах ниже:
Далее начинаем взлом методом брутфорса. Для начала ncrack. Введем по очереди три команды:
ncrack -U user.txt -P pass.txt 192.168.166.234:21 -v
ncrack -U user.txt -P pass.txt 192.168.166.234:23 -v
ncrack -U user.txt -P pass.txt 192.168.166.234:22 -v
Как видно и скрина пара пароль-логин подобрана успешно во всех трех случаях. То есть, программа запускает перебор по словарям логинов и паролей с указанием порта уязвимой службы (21 -ftp, 22 - ssh, 23 - telnet). В свою очередь открытые порты мы узнали используя nmap.
Ради интереса зайдем по протоколу telnet (23 порт) в уязвимую машину, используя подобранный ncrack логин и пароль msfadmin.
Как видно на скрине ниже успешно:
Далее используем medusa:
sudo medusa -U user.txt -P pass.txt -h 192.168.166.234 -M ssh
sudo medusa -U user.txt -P pass.txt -h 192.168.166.234 -M ftp
Как видно для медузы необходимо назначить не порт, а протокол (в данном случае ssh и ftp)
Как видно из скринов ниже, медуза также справляется с задачей:
Теперь используем hydra, по аналогии, только для данной программы необходимо кроме словарей указывать и порт и протокол:
hydra -L user.txt -P pass.txt ftp://192.168.166.234:21
Как видно из скринов ниже успешно, причем подобранную пару логин-пароль гидра подсвечивает:
Попробуем зайти на ftp используя пару user-user подобранную гидрой:
Успешно
Как видно из примеров все три утилиты hydra, medusa, ncrack имеют аналогичный синтаксис. И использовать их довольно легко против целевого хоста, необходимо лишь составить (либо скачать) словари логинов и паролей, предварительно просканировав открытые порты nmap-ом. Но использовать такого рода программы можно лишь на уязвимых машинах типа Metasploitable, либо можно их использовать санкционировано, в рамках аудита на сервер компании с которой заключен контракт на аудит информационной безопасности (проще говоря пентест). Не санкционированное использование подобных программ незаконно.
Всем спасибо за внимание до новых встреч.
Dynasaur
объясните чайнику, службы позволяют тупо перебирать пароли и логины и не вводят задержку после n попыток? Просто, если после 10й попытки перебора добавить задержку ответа 30 сек, то дальнейший перебор займёт вечность. Неужели такой простой защиты не предусмотрено? А если предусмотрено, то смысл перебора околонулевой.
leha_gorbunov
Не все знают про fail2ban наверное
KoshelevGeorge1989 Автор
Именно для отражения атак и необходимы fail2ban и другие методы защиты, такие как файерволы
Dynasaur
не понятно почему он не установлен по умолчанию. есть причина, что он кому-то не нужен?
KoshelevGeorge1989 Автор
Так это специально уязвимая машина, для оттачивания навыков пентеста