Mihari - помощник по выполнению OSINT запросов и непрерывному анализу результатов
Салют, дорогие друзья!
Сегодня рассмотрим инструмент, который значительно упрощает жизнь кибер-детективам.
Как работает Mihari
Михари выполняет запросы к Shodan, Censys, VirusTotal, SecurityTrails и т.д., извлекая из результатов артефакты (IP-адреса, домены, URL-адреса и хэши), а так же проверяет, наличие артефактов в БД (SQLite3 или PostgreSQL).
Если артефакты найдены:
- Cоздает оповещение на TheHive. (По желанию)
- Отправляет уведомление в Slack. (По желанию)
- Создает мероприятие на MISP. (По желанию)
Пример оповещения TheHive:
Пример уведомления Slack:
Пример события MISP:
Требования:
- Ruby 2.6+
- SQLite3
- libpq
# For Debian / Ubuntu apt-get install sqlite3 libsqlite3-dev libpq-dev
Установка:
gem install mihari
С использованием Docker'а:
docker pull ninoseki/mihari
Базовое использование
Mihari по умолчанию поддерживает следующие сервисы:
- BinaryEdge
- Censys
- CIRCL passive DNS / passive SSL
- crt.sh
- DN Pedia
- dnstwister
- Onyphe
- OTX
- PassiveTotal
- SecurityTrails
- Shodan
- urlscan.io
- VirusTotal
- ZoomEye
Перекрестный поиск
В Mihari есть функции перекрестного поиска. Перекрестный поиск - это поиск сразу по множеству сервисов.
- Вы можете получить агрегированные результаты, используя следующие команды:
Команда http_hash
- Использование команды http_hash будет немного сложное:
Есть 2 способа использовать эту команду.
- Первый из них испоьзует --md5, --sha256и --mmh3 параметры:
mihari http_hash --md5=881191f7736b5b8cfad5959ca99d2a51 --sha256=b064187ebdc51721708ad98cd89dacc346017cb0fb0457d530032d387f1ff20e --mmh3=-1467534799
- Другой передает --html параметр. В этом случае автоматически вычисляются хэши HTML-файла:
wget http://example.com -O /tmp/index.html mihari http_hash --html /tmp/index.html
Примеры использования
# Censys lookup for PANDA C2 mihari censys '("PANDA" AND "SMAdmin" AND "layui")' --title "PANDA C2" # VirusTotal passive DNS lookup of a FAKESPY host mihari virustotal "jppost-hi.top" --title "FAKESPY passive DNS" # You can pass a "defanged" indicator as an input mihari virustotal "jppost-hi[.]top" --title "FAKESPY passive DNS"
Импорт из JSON
echo '{ "title": "test", "description": "test", "artifacts": ["1.1.1.1", "github.com", "2.2.2.2"] }' | mihari import_from_json
- Вводные JSON-данные должны иметь title, description и artifacts ключ.
tags key - необязательный параметр.
{ "title": "test", "description": "test", "artifacts": ["1.1.1.1", "github.com"], "tags": ["test"] }
Конфигурация
Конфигурация может быть выполнена с помощью переменных среды или файла YAML:
mihari virustotal 1.1.1.1 --config /path/to/yaml.yml
- Файл YAML должен содержать хеш YAML, как показано ниже:
database: /tmp/mihari.db thehive_api_endpoint: https://localhost thehive_api_key: foo virustotal_api_key: foo
- Проверить статус конфигурации можно с помощью команды:
mihari status
На сегодня все. Удачной разведки!