Всех приветствую читатели Хабра!
Сегодня я поведую о том как установить, настроить, и эксплуатировать уязвимости заранее уязвимой машины 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, либо можно их использовать санкционировано, в рамках аудита на сервер компании с которой заключен контракт на аудит информационной безопасности (проще говоря пентест). Не санкционированное использование подобных программ незаконно.

Всем спасибо за внимание до новых встреч.

Комментарии (5)


  1. Dynasaur
    12.10.2024 16:23

    объясните чайнику, службы позволяют тупо перебирать пароли и логины и не вводят задержку после n попыток? Просто, если после 10й попытки перебора добавить задержку ответа 30 сек, то дальнейший перебор займёт вечность. Неужели такой простой защиты не предусмотрено? А если предусмотрено, то смысл перебора околонулевой.


    1. leha_gorbunov
      12.10.2024 16:23

      Не все знают про fail2ban наверное


      1. KoshelevGeorge1989 Автор
        12.10.2024 16:23

        Именно для отражения атак и необходимы fail2ban и другие методы защиты, такие как файерволы


      1. Dynasaur
        12.10.2024 16:23

        не понятно почему он не установлен по умолчанию. есть причина, что он кому-то не нужен?


        1. KoshelevGeorge1989 Автор
          12.10.2024 16:23

          Так это специально уязвимая машина, для оттачивания навыков пентеста