msploitego — набор для пентестинга в Maltego




ЭТО БЕТА-ВЕРСИЯ, пожалуйста, будьте снисходительны и сообщайте о любых проблемах
Что нового
- Новые возможности
- Теперь поддерживается несколько рабочих областей для Metasploit через запросы к Postgres
- Bash-скрипт, который запускает множество вспомогательных модулей против целей. Действительно «жирнит» базу данных Metasploit
- Transform-ы:
- Перечисление рабочих областей Metasploit
- Парсер Nikto [из файла]
- Парсер Enum4linux из файла
- Сканирование DNS
- Исправления ошибок
- Transform-ы на основе nmap, выдававшие ложноотрицательные результаты
- Неправильные пути
msploitego использует данные, собранные в базе данных Metasploit, путем перечисления и создания сущностей для служб. Для таких служб, как Samba, SMTP, SNMP, HTTP, имеются transform-ы для дальнейшего перечисления. Сущности можно загрузить из XML-файла Metasploit или взять непосредственно из базы данных Postgres msf
Я открыт для предложений по новым transform-ам и улучшениям!!!
Требования
- Python 2.7
- Протестировано только на Kali Linux
- Установленное ПО:
- Metasploit Framework
- nmap
- enum4linux
- snmp-check
- nikto
- exploitdb
- wpscan
Установка
- В Maltego импортируйте конфигурацию из msploitego/src/msploitego/resources/maltego/msploitego.mtz
- Задайте и обновите путь к transform-ам в Maltego
- проще всего создать символическую ссылку на каталог transforms в /root/
- ln -s /путь/к/вашему/msploitego/src/msploitego/transforms /root/
Общее использование
- Запустите db_nmap в Metasploit или импортируйте предыдущее сканирование:
-
msf> db_nmap -vvvv -T5 -A -sS -sT -Pn <цель>
-
msf> db_import /путь/к/вашему/nmapfile.xml
-
Экспортируйте базу данных в XML-файл:
-
msf> db_export -f xml /путь/к/вашему/output.xml
-
В Maltego перетащите сущность MetasploitDBXML на граф.
-
Укажите путь к вашему файлу базы данных Metasploit.
-
Запустите transform MetasploitDB для перечисления хостов.
-
После этого станет доступно несколько transform-ов для перечисления служб и уязвимостей, хранящихся в базе данных Metasploit.
- Этот метод не рекомендуется из-за проблем с производительностью. Если XML-файл большой, запуск transform-ов будет потреблять много памяти.
Использование Postgres (рекомендуется!)
- Перетащите сущность Postgresql DB на холст, введите данные БД.
- Запускайте transform-ы Postgresql напрямую из работающей базы данных.
- если вы не знаете пароль от своего экземпляра postgresql, посмотрите в /usr/share/metasploit-framework/config/database.yml
Рекомендации
- Для начала «накачивайте» базу данных Metasploit
- Посмотрите на msploitstarter.sh в каталоге scripts. Он запускает nmap, а затем множество вспомогательных модулей, чтобы утолстить базу данных Metasploit.
- Запустите детальное сканирование nmap, например: db_nmap -vvvv -sS -sV -sU -A -T5 1.1.1.1/24
- Импортируйте результаты из Nessus или OpenVAS в Metasploit и используйте transform Enum Vulnerabilities.
- Запустите auxiliary/crawler/msfcrawler на всех http/https портах. Это соберет полезные данные.
- Запустите nikto с выводом в xml, затем укажите полный путь к файлу в поле «Nikto File». Запустите парсер Nikto для перечисления.
Планы
- Прямое подключение к базе данных Postgres — BETA
- Гораздо больше transform-ов для действий над созданными сущностями.
Известные проблемы
- Некоторые сущности Metasploit, например файлы добычи (loot), иногда содержат недопустимый символ, который класс MaltegoTransform не может обработать. Это вызывает исключение, и ничего не возвращается. Я бился головой об стену, пытаясь «очистить»/декодировать данные, но безуспешно.