


Обзор
Sooty — это инструмент, разработанный для помощи аналитикам SOC в автоматизации части их рабочего процесса. Одна из целей Sooty — выполнять как можно больше рутинных проверок, позволяя аналитику больше времени уделять более глубокому анализу в том же временном интервале. Подробную информацию о многих функциях Sooty можно найти ниже.
Sooty теперь гордо поддерживается Tines.com! Платформа SOAR для команд корпоративной безопасности.
Содержание

Sooty в настоящее время может:
- Очищать URL-адреса для безопасной отправки в письмах.
- Выполнять обратный DNS-поиск и DNS-запросы.
- Выполнять проверки репутации с помощью:
- Определять, является ли адрес потенциально вредоносным, используемым для спама, веб-ботов:
- Проверять, является ли IP-адрес выходным узлом TOR.
- Декодировать URL-адреса Proofpoint, URL-адреса в кодировке UTF-8, URL-адреса Office SafeLink, строки Base64 и пароли Cisco7.
- Получать хеши файлов и сравнивать их с VirusTotal (см. требования).
- Выполнять WhoIs-запросы.
- Проверять имена пользователей и электронные письма на HaveIBeenPwned, чтобы узнать, произошла ли утечка (см. требования).
- Простой анализ электронных писем для извлечения URL, адресов электронной почты и информации из заголовков.
- Извлекать IP-адреса из электронных писем.
- Раскрывать сокращённые URL-адреса, созданные внешними сервисами (ограничено 10 запросами в час).
- Запрашивать URLScan.io для отчётов о репутации.
- Анализировать адреса электронной почты на предмет известной вредоносной активности и формировать отчёт о репутации домена с использованием EmailRep.io.
- Создавать динамические шаблоны электронных писем, которые могут использоваться как основа для ответа при триаже фишинговых писем (только .msg, поддержка .eml появится в будущем обновлении).
- Выполнять обогащение анализа фишинговых писем с помощью базы данных HaveIBeenPwned, определять, был ли скомпрометирован адрес электронной почты в прошлом, когда это произошло и где произошла утечка (требуется API-ключ).
- Отправлять URL-адреса на PhishTank (см. требования).
- Раскрывать URL-адреса через CLI-версию Unfurl.
└── Main Menu
├── Sanitize URL's for use in emails
| └── URL Sanitizing Tool
├── Decoders
| ├── ProofPoint Decoder
| ├── URL Decoder
| ├── Office Safelinks Decoder
| ├── URL Unshortener
| ├── Base 64 Decoder
| ├── Cisco Password 7 Decoder
| └── Unfurl URL
├── Reputation Checker
| └── Reputation Checker for IP's, URL's or email addresses
├── DNS Tools
| ├── Reverse DNS Lookup
| ├── DNS Lookup
| └── WhoIs Lookup
├── Hashing Functions
| ├── Hash a File
| ├── Hash a Text Input
| ├── Check a hash for known malicious activity
| └── Hash a file and check for known malicious activity
├── Phishing Analysis
| ├── Analyze an Email
| ├── Analyze an email address for known malicious activity
| ├── Generate an email template based on analysis
| ├── Analyze a URL with Phishtank
| └── HaveIBeenPwned Lookup
├── URL Scan
| └── URLScan.io lookup
├── Extra's
| ├── About
| ├── Contributors
| ├── Version
| ├── Wiki
| └── Github Repo
└── Exit


Требования и установка
- Python 3.x
- Установите все зависимости из файла requirements.txt:
pip install -r requirements.txt
- Запустите инструмент, перейдя в основную директорию и выполнив
python Sooty.py или просто Sooty.py
- Для полной функциональности Sooty требуется несколько API-ключей. Однако инструмент будет работать и без них, просто без дополнительных возможностей. Ссылки приведены ниже:
- Замените соответствующий ключ в файле
example_config.yaml и переименуйте файл в config.yaml. Пример структуры ниже:
- Для поддержки PhishTank также требуется уникальное имя приложения в качестве дополнительного поля. Просто обновите файл
config.yaml своим уникальным именем.

Запуск с Docker
- docker build -t sooty . && docker run --rm -it sooty
Разработка
Хотите внести вклад? Отлично!
Вклад в код
- Если вы хотите работать над какой-либо функцией, оставьте комментарий на странице с задачами, и я назначу её вам.
- На вкладке "Проекты" приведён список функций, которые ожидают начала разработки или завершения.
- Все модификации, улучшения или дополнения кода должны выполняться через pull request.
- После проверки и слияния контрибьюторы будут добавлены в ReadMe.
Нашли ошибку? Покажите!
Ошибки и проблемы
- Если обнаружена проблема / ошибка, пожалуйста, откройте тикет в системе отслеживания задач и используйте шаблон отчёта об ошибке. Заполните этот шаблон и включите любую дополнительную информацию.
- Если вы хотите поработать над известной ошибкой, оставьте комментарий на странице задачи и откройте Pull Request для отслеживания прогресса. Я назначу её вам.
- Если возникла проблема с установкой или использованием, используйте предоставленный шаблон, и я отвечу ASAP.
Запрос функций
- Новые функции / запросы следует начинать с открытия задачи. Пожалуйста, используйте прилагаемый шаблон при создании новой задачи. Это помогает отслеживать новые функции и предотвращать пересечения. При необходимости прикрепите любую дополнительную информацию, которая кажется уместной. Перед созданием новой задачи проверьте вкладку "Проекты", чтобы узнать, не была ли эта задача уже запрошена, а также другие открытые задачи.
Журнал изменений
Версия 1.3 — Обновление шаблонов (The Templating Update)
- Добавлена первая итерация динамических шаблонов электронных писем, которые генерируются на основе анализа Sooty. Пример ниже:

- Добавлен Docker-образ
- Добавлен Unfurl
Версия 1.2 — Фишинговое обновление (The Phishing Update)
- Добавлена первая итерация инструмента для фишинга.
- Возможность анализировать электронное письмо (пока протестировано только outlook / .msg), извлекать адреса электронной почты, URL-адреса (при необходимости декодировать Proofpoint) и извлекать информацию из заголовков.
- Извлекать IP-адреса из тела письма.
- Проверка репутации отправителя письма с предоставлением обогащённой информации.
Версия 1.1 — Обновление репутации (The Reputation Update)
- Улучшенный проверщик репутации.
- Добавлена функциональность HaveIBeenPwned.
- Добавлены DNS-инструменты и функциональность WhoIs.
- Добавлены проверщики хешей и VirusTotal.
- Добавлены Abuse IPDB, выходные узлы TOR, BadIP's в проверку репутации.
Версия 1.0
- Первоначальный выпуск.
- Декодер URL и Proofpoint.
- Первоначальная реализация проверки репутации.
- Очистка ссылок для безопасной отправки по электронной почте.
План развития
Ниже приведён список функций, которые будут добавлены в будущих версиях.
Версия 1.2 — Фишинговое обновление (The Phishing Update)
- Сканирование вложений электронных писем на наличие вредоносного содержимого, макросов, файлов, хешей и т.д.
Версия 1.3 — Обновление шаблонов (The Templating Update)
Добавить динамические шаблоны писем, генерируемые на основе анализа Sooty. Примечание: Добавлено.
- Проверка MX-записей.
- Выполнение DKIM-проверки.
Версия 1.4 — Обновление анализа PCAP (The PCAP Analysis Update)
- Добавить возможность анализа файлов .pcap с предоставлением краткой обогащённой информации.
Версия 1.x — Обновление "Дело" (The Case Update)
- Добавить функцию "Новое дело", позволяющую выводить результаты работы инструмента в текстовый файл.
Контрибьюторы:
Вклад в код:
- Aaron J Copley за модифицированную версию кода ProofPoint для декодирования URL-адресов ProofPoint.
- James Duarte за добавление опции хеширования с автоматической проверкой в функцию хеширования.
- mrpnkt за добавление отсутствующего требования whois в requirements.txt.
- Gurulhu за добавление декодера Base64 в меню декодеров.
- AndThenEnteredAlex за добавление функции URLScan от URLScan.io.
- Eric Kelson за исправление требования pywin32, ненужного в Linux, в requirements.txt.
- Jenetiks за удаление и очистку дублирующихся импортов, накопившихся со временем, и за добавление переключения между публичными и частными сканированиями в URLScan.io.
- Nikosch86 за исправление проблемы с hexdigest, неправильно сохранявшим хеш файла.
- Naveci за многочисленные исправления ошибок, улучшения качества жизни, декодирование паролей Cisco 7 и внедрение рабочего процесса для помощи с будущими проблемами. Также добавлена поддержка PhishTank и дополнительные IP-черные списки для проверки репутации.
- MrMeeseeks2014 за исправление ошибки, связанной с загрузками хешей.
- mrn42 за добавление поддержки Docker.
- Ryan Benson за добавление поддержки Unfurl в раздел декодеров.
- Nitin Mukesh за обнаружение и исправление ошибки с проверкой репутации BadIP's, а также за создание сохраненного текстового вывода анализа Sooty.
- Sarthak за исправление проблемы, связанной с API-ключом emailrep.
Соавторы документации:
- Danielf-5 за улучшение читаемости.
- Paralax за исправление опечаток в readme.
- mrn42 за добавление документации по Docker в readme.
