Общая информация
Бесплатный курс от разработчика MSF
Для обучения предлагается использовать metasploitable - виртуальную машину с набором уязвимостей.
Дополнительные инструменты для работы:
- nessus для поиска возможных уязвимостей
- nmap для сетевого сканирования
- w3af сканер уязвимостей web приложений
- Armitage фреймворк автоматизации атак, использующий MSF в качестве backend
Структура фреймворка:
В Kali обычно установлен в /usr/share/metasploit-framework Модули расположены в директории modules, плагины - в plugins.
Auxiliaries: небольшие вспомогательные утилиты. Более 1000.
Payloads: нагрузка. Singles (однократная)- все в одном. Контейнер, содержащий все что нужно. Недостаток - размер. Stagers (минимальная) - только поднимает соединение, больше ничего нет. Stages - скачиваемый код после установки соединения.
Exploits: более 2500, в 19 категорий. Для выбора необходимо знать операционную систему (включая точную версию и архитектуру), открытые порты, сервисы (включая версии).
Encoders: обфускация кода. Около 10 категорий.
NOP: отсутствие команды. Модифицирует эксплоит для снижения вероятности обнаружения
Post: модули дальнейших действий после взлома системы.
Evasion: большинство нагрузок и шелл-кодов определяются антивирусом. Этот модуль для дополнительной модификации.
Ресурсные скрипты
Аналог bash скриптов для msf. Текстовые файлы с расширением rc, выполняются консолью msf построчно. Можно создать скрипт из введенных команд
Запуск
Из существующего где-то файла:
msfconsole -r /path/to/script/attack.rc param1 param2
Можно как-то импортировать, чтобы скрипты были доступны из msf. Их скрипты размещаются в /usr/share/metasploit-framework/scripts/resource
msf > resource /path/to/script param1 param 2
Можно сохранить последние введенные команды. ! ~ не работает, нужен полный путь !
msf > makerc /home/kali/lessons_ruby/myscript.rc
makerc запоминает, какие команды уже были сохранены. Поэтому если сразу же повторить предыдущую команду, то будет сообщение [-] No commands to save!
Добавление Ruby
В данные скрипты можно добавлять скрипты на Ruby:
workspace -a http_title
db_nmap -Pn -T4 -n -v -p 80 --open 192.168.33.0/24
use auxiliary/scanner/http/title
<ruby>
run_single("set RHOSTS #{framework.db.hosts.map(&:address).join(' ')}")
</ruby>
run
Скрипты расположены в /usr/share/metasploit-framework/scripts/resource
Команды
Общие команды
| connect ip:port | Пробное соединение |
| route | Управление маршрутами. |
| save | Сохраняет установленные параметры |
Работа с модулями
|
search <sometext> |
Поиск эксплойта по имени. Поддерживает регулярки. Можно комбинировать несколько, по И правилу.
Можно ограничить поиск по именам модуля
Возможные ограничения:
|
| use <path> | Перейти в модуль. Например, модуль сканирования портов:
|
| info | Информация об эксплойте |
| show options | Показать требуемые данному модулю параметры. |
| set <parameter> / unset | Устанавливает локальное значение параметра / Убирает |
| get <parameter> | Вывести параметр |
| getg | Вывести глобальное значение параметра |
| setg | Устанавливает глобальное значение параметра |
| run | !Если это модуль! Запускает модуль с установленными параметрами |
| check | Проверка настроек |
| exploit | !Если это эксплоит! Запуск эксплойта |
| back | Вернуться назад |
История и команды
| spool |
off отключает логгирование результатов в файл filepath включает логгирование в файл |
| makerc |
Сохраняет вводимые команды. Аналогично spool |
Функционал:
- Управление задачами. jobs, kill
- Управление сессиями
Дополнительные утилиты
| msf-exe2vbs | Конвертирует exe в VBScript |
| msf-exe2vba | Можно выполнить даже в Excel |
| msf-pdf2xdp | Pdf в xdp |
| msf-pattern_create | Быстрое создание паттернов |
| msf-virustotal | Проверка зловреда на virustotal |
