Знай своего врага ― одна из максим, которой руководствуются специалисты по информационной безопасности. Она касается и зловредов. Существуют сотни инструментов, которые помогают исследовать вредоносное ПО. К счастью, многие из них бесплатны и имеют открытый исходный код.
Под катом мы собрали онлайн-сканеры подозрительных файлов, некоторые инструменты для статического и динамического анализа, системы для описания и классификации угроз и, конечно, репозитории с малварью, которую можно исследовать.
Это неполный перечень ПО, которое используют исследователи от мира информационной безопасности. Так, для расследования уже совершенных атак, применяют иной арсенал.
Деление на группы в статье не претендует на звание классификации, оно сделано для удобства чтения и во многом условно. Отдельные инструменты могли попасть сразу в несколько групп и оказались в конкретных разделах благодаря грубому авторскому произволу.
Онлайн-службы для анализа зловредов
VirusTotal ― бесплатная служба для анализа подозрительных файлов и ссылок. В представлении не нуждается.
Intezer ― детектор зловредов, поддерживающий динамический и статический анализ.
Triage ― онлайн-сервис для анализа больших объемов вредоносного ПО с функцией статического анализа образцов.
FileScan.IO — служба анализа вредоносных программ, с динамическим анализом и функцией извлечения индикаторов компрометации (IOC).
Sandbox.pikker ― онлайн-версия известной системы анализа вредоносных программ Cuckoo Sandbox. Предоставляет подробный отчет с описанием поведения файла при выполнении в реалистичной, но изолированной среде далеко в облаке.
Manalyzer ― бесплатный сервис, для статического анализа PE-файлов и выявления маркеров нежелательного поведения. Имеет офлайн-версию.
Opswat ― сканирует файлы, домены, IP-адреса и хеши при помощи технологии Content Disarm & Reconstruction.
InQuest Labs ― сервис для сканирования текстовых документов файлов Microsoft и Open Office, электронных таблиц и презентаций. Основан на базе механизмов Deep File Inspection (DFI).
Any Run ― еще одна онлайн-песочница с красивым интерфейсом и дополнительными опциями.
Yoroi ― итальянская служба анализа подозрительных файлов на базе песочницы. Переваривает PE (например, .exe-файлы), документы (doc и PDF), файлы сценариев (типа wscript, Visual Basic) и APK, но мучительно медленно готовит отчеты.
Unpacme ― онлайн-сервис для автоматической распаковки вредоносных программ и извлечения артефактов.
Malwareconfig ― веб-приложение для извлечения, декодирования и отображения параметров конфигурации распространенных вредоносных программ.
Malsub ― фреймворк Python RESTful для работы с API онлайн-сервисов для анализа вредоносного ПО.
Дистрибутивы для анализа вредоносных программ
REMnux — готовый дистрибутив реверс-инжиниринга и анализа вредоносных программ на основе Ubuntu. Предоставляет полный пакет необходимых утилит с открытым исходным кодом и включает многие инструменты, упомянутые ниже.
Tsurugi Linux ― Linux-дистрибутив, ориентированный на цифровую криминалистику, анализ вредоносных программ и разведку по открытым источникам.
Flare-vm ― настраиваемый дистрибутив для анализа вредоносных программ на базе Windows.
Комбайны и тулкиты
Ghidra Software Reverse Engineering Framework ― продвинутая среда для реверс-инжиниринга ПО под Windows, macOS и Linux. Поддерживает широкий набор инструкций процессора и исполняемых форматов, работает и в ручном, и в автоматическом режимах, поддерживает пользовательские сценарии. Некоторые такие заготовки, упрощающие анализ вредоносного ПО, можно найти в репозитории Ghidra-Scripts.
FLARE VM ― настраиваемый дистрибутив для анализа вредоносных программ на базе Windows 10.
Indetectables Toolkit ― набор из 75 приложений для реверс-инжиниринга и анализа двоичных файлов и вредоносных программ.
MobSF ― платформа для автоматизированного статического и динамического анализа и оценки безопасности мобильных приложений.
CyberChef — приложение для анализа и декодирования данных без необходимости иметь дело со сложными инструментами или языками программирования.
Pev ― набор инструментов для анализа подозрительных PE-файлов. Работает в Windows, Linux и macOS.
Vivisect ― фреймворк Python, который включает функции дизассемблера, статического анализатора, символьного выполнения и отладки.
Pharos ― экспериментальный фреймворк, объединяющий шесть инструментов для автоматизированного статического анализа бинарных файлов.
Инструменты статического анализа и реверс-инжиринга
IDA ― дизассемблер и отладчик для Windows с бесплатной версией и возможность расширения функциональности при помощи open-source-плагинов, например, Diaphora и FindYara.
Binary ninja — популярная альтернатива IDA с бесплатной облачной версией и частично открытым исходным кодом.
ret-sync ― набор плагинов, которые позволяют синхронизировать сеансы в дизассемблерах IDA, Ghidra и Binary Ninja.
Binary Analysis Platform ― мультиплатформенный набор утилит и библиотек для анализа машинного кода. Поддерживает x86, x86-64, ARM, MIPS, PowerPC. Другие архитектуры могут быть добавлены в виде плагинов.
Radare2 ― UNIX-подобная среда для реверс-инжиниринга. Позволяет анализировать, эмулировать, отлаживать, модифицировать и дизассемблировать любой бинарник. Может работать через удаленный сервер gdb.
Rizin ― форк Radeone2 с упором на удобство использования и стабильность. Включает все необходимое для полноценного бинарного анализа.
cutter ― бесплатная платформа для реверс-инжиниринга с открытым исходным кодом и плагином для интеграции с декомпилятором Ghidra. Построена на базе rizin. Предоставляет удобный пользовательский интерфейс.
Un{i}packer ― кроссплатформенная альтернатива деббагеру x64Dbg.
diStorm ― быстрый дизассемблер для анализа вредоносного шелл-кода.
angr ― мультиплатформенный фреймворк для исследования бинарных файлов.
Binwalk ― простой в использовании инструмент для анализа, извлечения образов и реверс-инжиниринга микропрограмм.
4n4lDetector ― инструмент для быстрого анализа исполняемых файлов Windows. Показывает PE-заголовок и его структуру, содержимое разделов, различные типы строк. Облегчает идентификацию вредоносного кода внутри анализируемых файлов. Исходный код не опубликован.
capa ― анализирует возможности исполняемых файлов. Вы скармливаете PE, ELF и шеллкод, а capa сообщает, что, может сделать программа.
LIEF ― кроссплатформенная библиотека для анализа, изменения и абстрагирования форматов ELF, PE, MachO, DEX, OAT, ART и VDEX без использования дизассемблера.
IDR ― декомпилятор исполняемых файлов (EXE) и динамических библиотек (DLL), написанный на Delphi. Часто используется для анализа банковских вредоносных программ.
Manalyze ― синтаксический анализатор PE-файлов с поддержкой плагинов. Лежит в основе вышеупомянутого онлайн-сервиса Manalyzer.
PortEx ― библиотека Java для статического анализа переносимых исполняемых файлов с акцентом на анализ вредоносных программ и устойчивость к искажениям PE.
PE-bear ― анализатор файлов PE-формата со встроенным Hex-редактором и возможностью детектирования различных упаковщиков по сигнатурам.
CFF Explorer ― аналог PE-bear, созданный Эриком Пистелли. Представляет собой набор инструментов: шестнадцатеричный редактор, сканер и менеджер подписей, дизассемблер, обходчик зависимостей и т. д. Первый PE-редактор с поддержкой внутренних структур .NET.
Qu1cksc0pe ― универсальный инструмент для статического анализа исполняемых файлов Windows, Linux, OSX, а также APK.
Quark-Engine ― система оценки вредоносного ПО для Android, игнорирующая обфускацию. Входит в комплект поставки Kali Linux и BlackArch.
Argus-SAF ― платформа для статического анализа Android-приложений.
RiskInDroid ― инструмент для оценки потенциальной опасности Android-приложений на основе методов машинного обучения.
MobileAudit ― SAST-анализатор вредоносных программ для Android.
Obfuscation Detection ― набор скриптов для автоматического обнаружения запутанного кода.
de4dot ― деобфускатор и распаковщик .NET, написанный на C#.
FLARE ― статический анализатор для автоматической деобфускации бинарных файлов вредоносных программ.
JSDetox ― утилита для анализа вредоносного Javascript-кода с функциями статического анализа и деобфускации.
XLMMacroDeobfuscator ― используется для декодирования запутанных макросов XLM. Использует внутренний эмулятор XLM для интерпретации макросов без полного выполнения кода. Поддерживает форматы xls, xlsm и xlsb.
Инструменты динамического анализа и песочницы
Cuckoo Sandbox — платформа для анализа разнообразных вредоносных файлов в виртуализированных средах Windows, Linux, macOS и Android. Поддерживает YARA и анализ памяти зараженной виртуальной системы при помощи Volatility.
CAPE ― песочница с функцией автоматической распаковки вредоносного ПО. Построена на базе Cuckoo. Позволяет проводить классификацию на основе сигнатур Yara.
Qubes OS ― защищенная операционная система, основанная на концепции разграничения сред. Использует гипервизор Xen и состоит из набора отдельных виртуальных машин. Может служить площадкой для исследования вредоносов, однако не включает в себя специализированные инструменты для их анализа.
x64dbg ― отладчик с открытым исходным кодом под Windows, предназначенный для реверс-инжиниринга вредоносных файлов. Выделяется обширным списком специализированных плагинов.
DRAKVUF ― безагентная система бинарного анализа типа «черный ящик». Позволяет отслеживать выполнение бинарных файлов без установки специального программного обеспечения на виртуальной машине. Требует для работы процессор Intel с поддержкой виртуализации (VT-x) и Extended Page Tables (EPT).
Noriben ― простая портативная песочница для автоматического сбора и анализа информации о вредоносных программах и составления отчетов об их действиях.
Process Hacker ― продвинутый диспетчер задач, позволяющий наблюдать за поведением подозрительных программ в реальном времени. Отображает сетевые подключения, активные процессы, информацию об использовании памяти и обращениях к жестким дискам, использовании сети. Также отображает трассировки стека.
Sysmon ― системная служба Windows, регистрирующая активность системы в журнале событий Windows. Предоставляет подробную информацию о происходящем в системе: о создании процессов, сетевых подключениях времени создания и изменения файлов. Работает с заранее созданными конфигурационными файлами, которые можно найти на github.
hollows_hunter ― сканер процессов, нацеленный на обнаружение вредоносных программ и сбор материалов для дальнейшего анализа. Распознает и создает дамп различных имплантов в рамках сканируемых процессов. Основан на PE-sieve.
Sandboxapi ― API Python для создания интеграций с различными проприетарными песочницами.
DECAF ― Dynamic Executable Code Analysis Framework ― платформа для анализа бинарных файлов, основанная на QEMU. Поддерживает 32-разрядные версии Windows XP/Windows 7/linux и X86/arm.
Frida ― внедряет фрагменты JavaScript в нативные приложения для Windows, Mac, Linux, iOS и Android, что позволяет изменять и отлаживать запущенные процессы. Frida не требует доступа к исходному коду и может использоваться на устройствах iOS и Android, которые не взломаны или не имеют root-доступа.
box-js ― инструмент для изучения вредоносного JavaScript-ПО с поддержкой JScript/WScript и эмуляцией ActiveX.
Fibratus ― инструмент для исследования и трассировка ядра Windows.
analysis-tools ― большая коллекция инструментов динамического анализа для различных языков программирования.
Инструменты анализа сетевой активности
MiTMProxy ― перехватывающий HTTP-прокси с поддержкой SSL/TLS.
Wireshark ― известный универсальный инструмент для анализа сетевого трафика.
Zeek ― фреймворк для анализа трафика и мониторинга безопасности, ведет подробные журналы сетевой активности.
Maltrail ― система обнаружения вредоносного трафика на базе общедоступных черных списков сетевых адресов.
PacketTotal ― онлайн-движок для анализа .pcap-файлов и визуализации сетевого трафика.
Хранение и классификация и мониторинг
YARA ― инструмент, предназначенный для помощи в идентификации и классификации зловредов. Позволяет создавать описания семейств вредоносных программ в виде правил ― в общепринятом удобном для обработки формате. Работает на Windows, Linux и Mac OS X.
Yara-Rules ― обширный список правил для YARA, позволяет быстро подготовить этот инструмент к использованию.
yarGen ― генератор правил YARA из подозрительных фрагментов кода, найденных в файлах вредоносных программ. Автоматизирует процесс создания новых правил.
Awesome YARA ― пополняемая коллекция инструментов, правил, сигнатур и полезных ресурсов для пользователей YARA.
YETI ― платформа, для сбора и агрегации данных об угрозах в едином репозитории. Умеет обогащать загруженные данные, снабжена удобным графическим интерфейсом и развитым API.
Viper ― утилита для организации, анализа и менеджмента личной коллекции вредоносных программ, образцов эксплойтов и скриптов. Хорошо работает в связке с Cuckoo и YARA.
MISP ― ПО для сбора, хранения обмена индикаторами компрометации и данными, полученными в результате анализа вредоносных программ.
Malice ― фреймворк для анализа вредоносных программ, который называют open source версией VirusTotal.
Hostintel ― модульное приложение на Python для сбора сведений о вредоносных хостах.
mailchecker — проверка электронной почты на разных языках. Утилита снабжена базой данных из более чем 38 000 поддельных провайдеров электронной почты.
URLhaus ― портал для обмена URL-адресами, которые используются для распространения вредоносных программ.
All Cybercrime IP Feeds ― агрегатор опасных IP-адресов с акцентом на хакерские атаки, распространение вредоносного ПО и мошенничество. Использует данные из более чем 300 источников.
Machinae — инструмент для сбора информации о зловредах из общедоступных источников. Позволяет получить списки подозрительных IP-адресов, доменных имен, URL, адресов электронной почты, хешей файлов и SSL fingerprints.
ThreatIngestor — конвейер для сбора данных об угрозах из Twitter, GitHub, RSS каналов и других общедоступных источников.
InQuest REPdb и InQuest IOCdb агрегаторы IOC из различных открытых источников.
IntelOwl — решение для получения данных при помощи единого API. Предоставляет централизованный доступ к ряду онлайн-анализаторов вредоносных программ.
Malwoverview ― инструмент для классификации и сортировки вредоносных программ IOC и хешей с возможностью генерации отчетов по результатам статического и динамического анализа.
dnstwist ― инструмент для поиска мошеннических доменов, маскирующихся под ваш сайт.
Образцы вредоносных программ
В этом разделе собраны ссылки на опасные вредоносные программы. Они не деактивированы и представляют реальную угрозу. Не скачивайте их, если не уверены в том, что делаете. Используйте для исследований только изолированные программные среды. В этих коллекциях много червей, которые заразят все, до чего смогут дотянуться.
Ссылки предоставляются исключительно в научных и образовательных целях.
theZoo ― активно пополняемая коллекция вредоносных программ, собранная специально для исследователей и специалистов по кибербезопасности.
Malware-Feed ― коллекция вредоносных программ от virussamples.com.
Malware samples ― пополняемый github-репозиторий с вредоносами, к которым прилагаются упражнения по анализу вредоносного ПО.
vx-underground ― еще одна обширная и постоянно растущая коллекция бесплатных образцов вредоносных программ.
Malshare ― репозиторий, который помимо образцов малвари предлагает дополнительные данные для YARA.
MalwareBazaar ― проект, целью которого является обмен образцами вредоносного ПО с поставщиками антивирусных программ и сообществом экспертов по информационной безопасности. Поддерживает собственное API.
Virusbay ― онлайн-платформа для совместной работы, которая связывает специалистов из центров мониторинга информационной безопасности с исследователями вредоносных программ. Представляет собой специализированную социальную сеть.
VirusShare ― большой репозиторий вредоносных программ с обязательной регистрацией.
The Malware Museum ― вирусы, распространявшиеся в 1980-х и 1990-х годах. Практически безобидны на фоне остальных ссылок из этого раздела и представляют скорее историческую ценность.
Многие современные зловреды выходят из-под пера талантливых профессиональных программистов. В них используются оригинальные пути проникновения в системные области данных, новейшие уязвимости и ошибки в безопасности операционных систем и целые россыпи грязных хаков. Если проявить осторожность, ум и внимательность, во вредоносном ПО можно найти немало интересного.
Удачной охоты!
Justlexa
Есть ещё отечественный PEAnatomist, вьювер кучи всяких известных и недокументированных хидеров и метаданных из PE и OBJ/LIB, легковесный и быстрый. Авось пригодится кому.