
[1] → Введение: почему анализ малвари критичен в 2026 году
[2] → Что такое анализ вредоносного ПО и зачем он нужен
[3] → Подготовка изолированной лаборатории для анализа
[4] → Статический анализ: базовый уровень (без запуска)
[5] → Статический анализ: продвинутый уровень (дизассемблирование)
[6] → Динамический анализ: базовый уровень (поведенческий)
[7] → Динамический анализ: продвинутый уровень (отладка)
[8] → Анализ сетевой активности вредоносного ПО
[9] → Анализ вредоносных документов и скриптов
[10] → Инструменты специалиста: полный арсенал 2026
[11] → Классификация и атрибуция вредоносного ПО
[12] → Написание отчёта по результатам анализа
[13] → Продвинутые техники: обход антиотладки и обфускации
[14] → Автоматизация анализа и YARA-правила
[15] → Типичные ошибки при анализе малвари
[16] → FAQ: 12 вопросов об анализе вредоносного ПО
РАЗДЕЛ 1. ВВЕДЕНИЕ: ПОЧЕМУ АНАЛИЗ МАЛВАРИ КРИТИЧЕН В 2026 ГОДУ
#введение #малварь2026 #анализвредоносногопо
По данным отчётов крупнейших вендоров кибербезопасности, в 2025
году количество уникальных образцов вредоносного ПО превысило
900 миллионов. Ежедневно исследователи фиксируют сотни тысяч
новых семплов — от банальных стилеров до сложнейших APT-
инструментов с многоуровневой обфускацией и механизмами
обхода защиты. В 2026 году ситуация не улучшилась: атаки
становятся сложнее, малварь — умнее, а цена ошибки аналитика —
выше.
Именно поэтому структурированный подход к анализу вредоносного
ПО перестал быть привилегией крупных SOC-команд и стал
обязательным навыком для каждого специалиста по
информационной безопасности. Хаотичный анализ «по ощущениям»
давно не работает: современная малварь специально разработана
так, чтобы сбивать с толку неподготовленного исследователя,
тратить его время и скрывать реальную функциональность.
Чек-лист — это не просто список действий. Это методология,
выстроенная на основе реального опыта тысяч аналитиков,
которая гарантирует: вы не пропустите ни одного важного
индикатора компрометации, правильно классифицируете угрозу и
дадите команде защиты всё необходимое для реагирования.
ЧТО ВЫ ПОЛУЧИТЕ ИЗ ЭТОЙ СТАТЬИ:
→ Полный пошаговый чек-лист статического анализа (базовый
и продвинутый уровни)
→ Полный пошаговый чек-лист динамического анализа (базовый
и продвинутый уровни)
→ Список инструментов с конкретными командами и параметрами
→ Методику построения изолированной лаборатории
→ Шаблон профессионального отчёта
→ Разбор типичных ошибок и способов их избежать
→ YARA-правила и автоматизацию рутинных задач
ДЛЯ КОГО ЭТА СТАТЬЯ:
Материал рассчитан на три категории читателей:
1. НАЧИНАЮЩИЕ АНАЛИТИКИ — те, кто только входит в профессию
и хочет получить системную основу, а не набор разрозненных
советов. Вы найдёте здесь объяснение каждого шага с нуля.
2. СПЕЦИАЛИСТЫ СРЕДНЕГО УРОВНЯ — те, кто уже работает с
малварью, но хочет структурировать свои знания, закрыть
пробелы и познакомиться с актуальными инструментами 2026
года.
3. ОПЫТНЫЕ ИССЛЕДОВАТЕЛИ — те, кому нужен готовый чек-лист
для стандартизации процессов в команде или для передачи
знаний новым сотрудникам.
ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ:
Весь анализ вредоносного ПО необходимо проводить ТОЛЬКО
в изолированной среде. Никогда не запускайте неизвестные
файлы на рабочих или личных машинах. Незаконный анализ
чужих систем преследуется по закону. Данное руководство
предназначено исключительно для легитимных целей: защиты
инфраструктуры, исследований в области ИБ и образования.
Объём статьи превышает 12 000 слов — используйте навигацию
выше, чтобы быстро перейти к нужному разделу.
ПЕРЕХОД К РАЗДЕЛУ 2 → [Что такое анализ вредоносного ПО]
РАЗДЕЛ 2. ЧТО ТАКОЕ АНАЛИЗ ВРЕДОНОСНОГО ПО И ЗАЧЕМ ОН НУЖЕН
#анализмалвари #определение #классификация #зачеманализировать
2.1 ОПРЕДЕЛЕНИЕ И ЦЕЛИ АНАЛИЗА
--------------------------------
Анализ вредоносного программного обеспечения (Malware Analysis)
— это процесс изучения подозрительного или заведомо
вредоносного кода с целью понять его происхождение,
функциональность, механизмы распространения и потенциальный
ущерб.
Основные цели анализа:
ЦЕЛЬ 1: ПОНЯТЬ ФУНКЦИОНАЛЬНОСТЬ
Что именно делает программа? Шифрует файлы? Собирает пароли?
Открывает бэкдор? Без ответа на этот вопрос невозможно оценить
реальный ущерб от заражения.
ЦЕЛЬ 2: ИЗВЛЕЧЬ ИНДИКАТОРЫ КОМПРОМЕТАЦИИ (IOC)
IP-адреса C2-серверов, домены, хэши файлов, пути реестра,
мьютексы — всё это позволяет обнаружить заражение в
инфраструктуре и заблокировать угрозу.
ЦЕЛЬ 3: РАЗРАБОТАТЬ СИГНАТУРЫ И ПРАВИЛА ОБНАРУЖЕНИЯ
На основе анализа создаются YARA-правила, сигнатуры для SIEM,
правила для IDS/IPS, которые позволят автоматически
обнаруживать аналогичные угрозы в будущем.
ЦЕЛЬ 4: АТРИБУЦИЯ УГРОЗЫ
Определение группировки или кампании, стоящей за атакой.
Это важно для понимания мотивации, прогнозирования следующих
шагов и обмена данными с другими командами защиты.
ЦЕЛЬ 5: РЕАГИРОВАНИЕ НА ИНЦИДЕНТ
Понимание поведения малвари позволяет правильно выстроить
процесс устранения последствий: что удалить, что
восстановить, какие системы проверить в первую очередь.
2.2 ДВА ФУНДАМЕНТАЛЬНЫХ ПОДХОДА
----------------------------------
В профессиональном сообществе принято разделять анализ
на два принципиально разных метода:
СТАТИЧЕСКИЙ АНАЛИЗ — изучение файла БЕЗ его запуска.
Аналитик работает непосредственно с байтами файла,
его структурой, строками, метаданными, дизассемблированным
кодом. Метод безопасен (малварь не выполняется), но требует
глубоких технических знаний для работы с кодом.
ДИНАМИЧЕСКИЙ АНАЛИЗ — изучение поведения файла ВО ВРЕМЯ
его выполнения в контролируемой среде. Аналитик наблюдает
за тем, что реально делает программа: какие файлы создаёт,
какие ключи реестра изменяет, с какими серверами связывается.
Метод даёт быстрые результаты, но требует тщательной
изоляции среды.
На практике эти методы не противопоставляются, а дополняют
друг друга. Профессиональный аналитик всегда использует оба
подхода, переключаясь между ними в зависимости от ситуации.
2.3 ТИПЫ ВРЕДОНОСНОГО ПО, С КОТОРЫМИ ПРЕДСТОИТ РАБОТАТЬ
----------------------------------------------------------
Перед тем как приступить к чек-листу, важно понимать
разнообразие объектов анализа:
ВИРУСЫ — самовоспроизводящийся код, внедряющийся в
легитимные файлы. Классический, но не самый распространённый
тип в 2026 году.
ТРОЯНЫ — программы, маскирующиеся под легитимное ПО.
Наиболее массовый тип. Включают банкеры, стилеры, RAT.
RANSOMWARE — программы-вымогатели, шифрующие данные.
Один из наиболее опасных и прибыльных для злоумышленников
типов. Требует особого внимания при анализе из-за скорости
работы.
РУТКИТЫ — ПО, скрывающее своё присутствие в системе.
Наиболее сложны в обнаружении и анализе.
БУТКИТЫ — заражают загрузочный сектор диска. Работают
до загрузки ОС, что делает их крайне устойчивыми.
БОТНЕТ-АГЕНТЫ — компоненты бот-сетей. Обычно имеют
модульную архитектуру и механизмы обновления.
СТИЛЕРЫ — специализируются на краже учётных данных,
криптовалютных кошельков, данных браузеров.
ЗАГРУЗЧИКИ (LOADERS/DROPPERS) — доставляют и запускают
основную нагрузку. Часто являются первым звеном в цепочке
заражения.
APT-ИНСТРУМЕНТЫ — сложные целевые инструменты,
используемые группировками для длительного скрытного
присутствия в инфраструктуре.
2.4 ПРАВОВЫЕ АСПЕКТЫ
----------------------
Анализ вредоносного ПО в России регулируется рядом
нормативных актов. Статья 273 УК РФ предусматривает
ответственность за создание, использование и распространение
вредоносных программ. Легитимный анализ в рамках защиты
собственной инфраструктуры или по договору с заказчиком
не является нарушением закона, однако важно соблюдать
несколько правил:
→ Работайте только с образцами, полученными законным путём
→ Не распространяйте рабочие образцы малвари
→ Документируйте все свои действия
→ При работе по договору — убедитесь, что у вас есть
письменное разрешение на проведение анализа
ПЕРЕХОД К РАЗДЕЛУ 3 → [Подготовка изолированной лаборатории]
РАЗДЕЛ 3. ПОДГОТОВКА ИЗОЛИРОВАННОЙ ЛАБОРАТОРИИ ДЛЯ АНАЛИЗА
#лаборатория #изоляция #виртуальнаямашина #безопаснаясреда
Это один из наиболее критичных разделов. Ошибки на этапе
подготовки среды могут привести к заражению рабочей
инфраструктуры, утечке данных или некорректным результатам
анализа. Уделите этому разделу максимальное внимание.
3.1 ТРЕБОВАНИЯ К АППАРАТНОМУ ОБЕСПЕЧЕНИЮ
------------------------------------------
Для профессиональной работы рекомендуется следующая
конфигурация физической машины:
МИНИМАЛЬНАЯ КОНФИГУРАЦИЯ:
ЦП: 4-ядерный процессор с поддержкой виртуализации
(Intel VT-x или AMD-V)
ОЗУ: 16 ГБ (для запуска 2-3 виртуальных машин)
HDD: 500 ГБ SSD (для хранения снапшотов и образцов)
ОС: Linux (рекомендуется Ubuntu 22.04 LTS или Debian 12)
РЕКОМЕНДУЕМАЯ КОНФИГУРАЦИЯ:
ЦП: 8-ядерный процессор (Intel Core i7/i9 или AMD Ryzen 7)
ОЗУ: 32 ГБ
HDD: 1 ТБ NVMe SSD + 2 ТБ HDD для архива
ОС: Linux с гипервизором KVM или VMware Workstation Pro
ПРОФЕССИОНАЛЬНАЯ КОНФИГУРАЦИЯ:
ЦП: Серверный процессор или Xeon с 12+ ядрами
ОЗУ: 64 ГБ и более
HDD: RAID-массив для хранения образцов
ОС: Выделенный сервер под управлением ESXi или Proxmox
ВАЖНО: Лабораторная машина должна быть ФИЗИЧЕСКИ ИЗОЛИРОВАНА
от корпоративной и домашней сети. Это не рекомендация —
это обязательное требование.
3.2 НАСТРОЙКА ВИРТУАЛЬНЫХ МАШИН
---------------------------------
Для большинства задач анализа используется виртуализация.
Рекомендуемый стек:
ГИПЕРВИЗОР:
→ VMware Workstation Pro 17+ (Windows/Linux хост)
→ VirtualBox 7.x (бесплатная альтернатива)
→ KVM/QEMU (для Linux-хостов, наилучшая изоляция)
ГОСТЕВЫЕ ОС ДЛЯ АНАЛИЗА:
→ Windows 10 Pro (64-bit) — для анализа Windows-малвари
→ Windows 7 SP1 (32/64-bit) — для старых образцов
→ Ubuntu 22.04 — для анализа Linux-малвари
→ Android x86 — для мобильных угроз (опционально)
НАСТРОЙКА СЕТЕВОГО АДАПТЕРА ВИРТУАЛЬНОЙ МАШИНЫ:
Никогда не подключайте аналитическую ВМ к реальной сети
напрямую. Используйте один из трёх вариантов:
ВАРИАНТ 1: HOST-ONLY (только хост)
Наиболее безопасный вариант для статического анализа.
ВМ полностью изолирована от внешней сети.
Настройка в VMware: VM → Settings → Network Adapter →
Host-only
ВАРИАНТ 2: INTERNAL NETWORK (внутренняя сеть)
ВМ видит только другие ВМ в той же внутренней сети.
Позволяет моделировать корпоративную среду.
ВАРИАНТ 3: FAKENAT (эмуляция сети через INetSim/FakeNet)
Оптимален для динамического анализа. Специальный инструмент
эмулирует сетевые сервисы (DNS, HTTP, SMTP и др.),
позволяя малвари "думать", что она подключена к интернету,
при этом весь трафик перехватывается и анализируется.
3.3 НЕОБХОДИМЫЕ ИНСТРУМЕНТЫ ДЛЯ УСТАНОВКИ В АНАЛИТИЧЕСКУЮ ВМ
--------------------------------------------------------------
Перед созданием снапшота "чистой" системы установите
следующий набор инструментов:
ДЛЯ WINDOWS-АНАЛИТИЧЕСКОЙ ВМ:
МОНИТОРИНГ ПРОЦЕССОВ И СИСТЕМЫ:
- Process Monitor (Procmon) от Sysinternals
- Process Hacker 2 / System Informer
- Autoruns от Sysinternals
- Process Explorer от Sysinternals
СЕТЕВОЙ АНАЛИЗ:
- Wireshark
- FakeNet-NG (эмуляция сетевых сервисов)
- TCPView от Sysinternals
СТАТИЧЕСКИЙ АНАЛИЗ:
- PEStudio
- CFF Explorer
- PE-bear
- HxD (hex-редактор)
- Strings (от Sysinternals)
- ExeinfoPE (определение упаковщиков)
- Detect-It-Easy (DIE)
ДИЗАССЕМБЛЕРЫ И ДЕКОМПИЛЯТОРЫ:
- Ghidra (бесплатно, NSA)
- x64dbg / x32dbg (отладчик)
- IDA Free (бесплатная версия IDA Pro)
- Binary Ninja (опционально)
- dnSpy (для .NET)
- de4dot (деобфускатор .NET)
ДОПОЛНИТЕЛЬНЫЕ УТИЛИТЫ:
- RegShot (снапшоты реестра)
- Noriben (автоматизация Procmon)
- hollows_hunter (обнаружение инжекций)
- PE-sieve (сканирование памяти)
3.4 СОЗДАНИЕ СНАПШОТА ЧИСТОЙ СИСТЕМЫ
--------------------------------------
После установки всех инструментов и ПЕРЕД ЛЮБЫМ АНАЛИЗОМ
создайте снапшот "чистой" системы:
В VMware:
VM → Snapshot → Take Snapshot
Название: "Clean_[дата]_[конфигурация]"
Например: "Clean_2026-01-15_Win10_x64_Tools"
В VirtualBox:
Machine → Take Snapshot
ПРАВИЛО: После каждого сеанса анализа откатывайтесь
к чистому снапшоту. Никогда не анализируйте несколько
образцов в одной "загрязнённой" среде — результаты
будут недостоверными.
3.5 ДОПОЛНИТЕЛЬНЫЕ МЕРЫ БЕЗОПАСНОСТИ
--------------------------------------
→ Отключите общие папки между хостом и ВМ
→ Отключите drag-and-drop и copy-paste между хостом и ВМ
(или используйте только в одном направлении: хост → ВМ)
→ Передавайте файлы только через монтируемые ISO-образы
или выделенный USB (только для лаборатории)
→ Установите уникальный hostname и username в ВМ
(некоторая малварь проверяет типичные аналитические имена
вроде "sandbox", "analyst", "malware")
→ Установите реалистичное количество файлов на рабочем столе
и в папке "Документы" — часть малвари проверяет признаки
реальной пользовательской активности
→ Настройте реалистичное разрешение экрана (не 800x600)
ПЕРЕХОД К РАЗДЕЛУ 4 → [Статический анализ: базовый уровень]
РАЗДЕЛ 4. СТАТИЧЕСКИЙ АНАЛИЗ: БАЗОВЫЙ УРОВЕНЬ (БЕЗ ЗАПУСКА)
#статическийанализ #хэши #строки #PEструктура #базовыйанализ
Статический анализ базового уровня — это первое, что делает
аналитик при получении нового образца. Цель: максимально
быстро получить первичную информацию о файле, не запуская его.
Этот этап занимает от 15 до 60 минут и даёт около 40-50%
всей необходимой информации.
4.1 ЧЕК-ЛИСТ: ШАГ 1 — ПЕРВИЧНАЯ ИДЕНТИФИКАЦИЯ ФАЙЛА
------------------------------------------------------
□ Получить и зафиксировать хэши файла
КОМАНДЫ:
# В Windows PowerShell:
Get-FileHash -Algorithm MD5 .\sample.exe
Get-FileHash -Algorithm SHA1 .\sample.exe
Get-FileHash -Algorithm SHA256 .\sample.exe
# В Linux:
md5sum sample.exe
sha1sum sample.exe
sha256sum sample.exe
ssdeep sample.exe # нечёткий хэш для поиска похожих образцов
ЗАЧЕМ: MD5/SHA256 — уникальные идентификаторы файла.
По ним можно проверить образец в базах данных (VirusTotal,
MalwareBazaar, Any.run) и убедиться, что файл не был
изменён после получения.
□ Проверить хэши в публичных базах данных
РЕСУРСЫ ДЛЯ ПРОВЕРКИ:
- https://www.virustotal.com — загрузка/поиск по хэшу
- https://bazaar.abuse.ch — база MalwareBazaar
- https://any.run — интерактивная песочница с историей
- https://app.any.run — публичные отчёты
- https://www.hybrid-analysis.com — Falcon Sandbox
ВАЖНО: Если хэш уже известен VirusTotal — не загружайте
файл повторно (это может предупредить злоумышленника,
если он мониторит загрузки своих образцов). Ищите только
по хэшу.
□ Определить реальный тип файла
ИНСТРУМЕНТЫ:
# Linux:
file sample.exe
# Вывод: sample.exe: PE32+ executable (GUI) x86-64
# Windows: Detect-It-Easy (DIE) или PEStudio
# Проверить сигнатуру (magic bytes) в hex-редакторе
MAGIC BYTES РАСПРОСТРАНЁННЫХ ФОРМАТОВ:
4D 5A (MZ) → PE-файл Windows (EXE, DLL, SYS)
7F 45 4C 46 → ELF-файл Linux
50 4B 03 04 → ZIP-архив (и форматы на его основе)
25 50 44 46 → PDF-документ
D0 CF 11 E0 → Office 97-2003 (DOC, XLS, PPT)
50 4B (PK) → DOCX/XLSX/PPTX (Office Open XML)
4D 5A + CE D1 → NSIS-инсталлятор
□ Проверить размер файла
Аномально маленький размер (50 МБ) —
на намеренное раздувание файла для обхода загрузки
в песочницу.
4.2 ЧЕК-ЛИСТ: ШАГ 2 — АНАЛИЗ СТРОК (STRINGS)
------------------------------------------------
□ Извлечь строки из файла
КОМАНДЫ:
# Sysinternals Strings (Windows):
strings.exe -n 6 sample.exe > strings_output.txt
strings.exe -n 6 -u sample.exe >> strings_output.txt # Unicode
# Linux:
strings -n 6 sample.exe > strings_output.txt
strings -a -n 6 sample.exe # поиск по всему файлу
# FLOSS (FireEye Obfuscated String Solver):
floss.exe sample.exe # находит и декодирует обфусцированные строки
# Рекомендуется как замена стандартному strings
□ Искать в строках следующие индикаторы:
СЕТЕВЫЕ ИНДИКАТОРЫ:
→ IP-адреса (регулярное выражение: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
→ Доменные имена
→ URL-адреса (http://, https://, ftp://)
→ Строки, похожие на C2-адреса
СИСТЕМНЫЕ ИНДИКАТОРЫ:
→ Пути файловой системы (C:\, %APPDATA%, %TEMP%)
→ Ключи реестра (HKEY_CURRENT_USER, SOFTWARE\)
→ Имена файлов и расширения
→ Имена мьютексов (часто уникальны для конкретной малвари)
→ Имена сервисов и задач планировщика
ФУНКЦИОНАЛЬНЫЕ ИНДИКАТОРЫ:
→ Названия функций Windows API (CreateRemoteThread,
VirtualAllocEx, WriteProcessMemory — признаки инжекции)
→ Команды cmd.exe или PowerShell
→ Base64-строки (признак обфускации)
→ Пути к отладочной информации PDB (раскрывают структуру проекта)
КРИПТОГРАФИЧЕСКИЕ ИНДИКАТОРЫ:
→ Строки, похожие на ключи шифрования
→ Названия алгоритмов (AES, RSA, RC4)
→ Жёстко заданные пароли или токены
□ Искать PDB-пути
Пути к PDB-файлам (отладочная информация) часто содержат
имя пользователя разработчика, структуру проекта и даже
кодовое название малвари. Пример:
C:\Users\developer\Desktop\ransomware_v2\Release\payload.pdb
4.3 ЧЕК-ЛИСТ: ШАГ 3 — АНАЛИЗ PE-СТРУКТУРЫ
--------------------------------------------
Большинство Windows-малвари — это PE-файлы (Portable
Executable). Понимание структуры PE даёт огромный объём
информации.
ИНСТРУМЕНТЫ: PEStudio, CFF Explorer, PE-bear
□ Проверить заголовок PE-файла
ОСНОВНЫЕ ПОЛЯ ДЛЯ ПРОВЕРКИ:
- TimeDateStamp: дата компиляции (может быть подделана)
- Machine: архитектура (x86/x64/ARM)
- Subsystem: GUI или Console
- Characteristics: является ли DLL, драйвером и т.д.
□ Проанализировать секции файла
СТАНДАРТНЫЕ СЕКЦИИ PE:
.text → исполняемый код
.data → инициализированные данные
.rdata → данные только для чтения (строки, импорты)
.rsrc → ресурсы (иконки, манифесты, встроенные файлы)
.reloc → таблица релокации
ПОДОЗРИТЕЛЬНЫЕ ПРИЗНАКИ:
→ Нестандартные имена секций
→ Секция с атрибутами RWX (Read+Write+Execute)
одновременно — признак упакованного кода или шеллкода
→ Высокая энтропия секции (>7.0) — признак шифрования
или сжатия (упаковщик, крипт)
→ Размер Raw Data = 0 при ненулевом Virtual Size —
код распаковывается в память во время выполнения
□ Вычислить энтропию секций
ИНСТРУМЕНТЫ: PEStudio (автоматически), DIE, python-pefile
# Python:
import pefile, math
pe = pefile.PE('sample.exe')
for section in pe.sections:
data = section.get_data()
entropy = calculate_entropy(data)
print(f"{section.Name.decode().strip()}: {entropy:.2f}")
ИНТЕРПРЕТАЦИЯ:
0.0 - 1.0 → практически пустая секция
4.0 - 6.5 → нормальный исполняемый код
6.5 - 7.0 → возможно сжатие
7.0 - 8.0 → почти наверняка шифрование или упаковка
□ Проанализировать таблицу импортов (IAT)
Таблица импортов показывает, какие функции Windows API
использует программа. Это один из самых информативных
источников при базовом статическом анализе.
КРИТИЧЕСКИ ПОДОЗРИТЕЛЬНЫЕ КОМБИНАЦИИ ИМПОРТОВ:
ИНЖЕКЦИЯ КОДА:
VirtualAllocEx + WriteProcessMemory + CreateRemoteThread
→ классическая инжекция в удалённый процесс
РАСПАКОВКА В ПАМЯТИ:
VirtualAlloc + VirtualProtect + (RtlMoveMemory или memcpy)
→ самораспаковывающийся код
КЕЙЛОГГИНГ:
SetWindowsHookEx (с WH_KEYBOARD_LL) + GetMessage
→ перехват нажатий клавиш
PERSISTENCE:
RegSetValueEx + CreateService + SchtasksCreateTask
→ закрепление в системе
СЕТЕВАЯ АКТИВНОСТЬ:
WSAStartup + connect + send/recv
→ базовая сетевая коммуникация
InternetOpen + InternetConnect + HttpSendRequest
→ HTTP-коммуникация через WinINet
□ Проверить таблицу экспортов (для DLL)
Если образец является DLL, экспортируемые функции
раскрывают её назначение. Особое внимание:
→ Функция с именем DllRegisterServer — COM-объект
→ Функции с именами вроде "Start", "Run", "Execute"
→ Безымянные экспорты (только по ординалу)
□ Проверить ресурсы файла
Злоумышленники часто прячут дополнительные файлы
(дроппер прячет полезную нагрузку) в секции ресурсов.
ИНСТРУМЕНТЫ: Resource Hacker, CFF Explorer → Resources
Что искать:
→ Необычно большие ресурсы
→ Ресурсы с типом "RCDATA" или нестандартным именем
→ Высокая энтропия ресурса
→ PE-сигнатура (MZ) внутри ресурса
4.4 ЧЕК-ЛИСТ: ШАГ 4 — ОПРЕДЕЛЕНИЕ УПАКОВЩИКА/КРИПТА
------------------------------------------------------
□ Запустить Detect-It-Easy (DIE) или ExeinfoPE
КОМАНДА (DIE):
diec.exe sample.exe
# или
diec sample.exe --json # JSON-вывод для автоматизации
РАСПРОСТРАНЁННЫЕ УПАКОВЩИКИ:
- UPX — самый популярный, легко распаковывается:
upx.exe -d packed_sample.exe -o unpacked_sample.exe
- MPRESS — требует ручной распаковки
- Themida / WinLicense — коммерческие протекторы,
сложная распаковка
- .NET Reactor, ConfuserEx — для .NET-малвари
- PyInstaller, cx_Freeze — упакованные Python-скрипты
□ Если файл упакован — принять решение о распаковке
ВАРИАНТЫ ДЕЙСТВИЙ:
1. Автоматическая распаковка (UPX и некоторые другие)
2. Дамп памяти после динамической распаковки в отладчике
3. Продолжить динамический анализ для получения
распакованного кода в памяти
ПЕРЕХОД К РАЗДЕЛУ 5 → [Статический анализ: продвинутый уровень]
РАЗДЕЛ 5. СТАТИЧЕСКИЙ АНАЛИЗ: ПРОДВИНУТЫЙ УРОВЕНЬ
#дизассемблирование #гидра #IDAPro #реверсинжиниринг #CFG
Продвинутый статический анализ — это работа непосредственно
с кодом программы: дизассемблирование, декомпиляция,
построение графа потока управления. Этот этап требует
значительно больше времени (от нескольких часов до нескольких
дней для сложных образцов) и глубоких знаний архитектуры
процессора и Windows API.
5.1 ЧЕК-ЛИСТ: РАБОТА С GHIDRA
--------------------------------
Ghidra — бесплатный инструмент от АНБ США, ставший
стандартом де-факто для бесплатного дизассемблирования.
□ Создать новый проект и импортировать файл
File → New Project → Non-Shared Project
File → Import File → выбрать образец
Анализировать с настройками по умолчанию (Auto Analyze)
□ Изучить список функций
Window → Functions
Сортировать по размеру — крупные функции обычно
содержат основную функциональность
□ Переименовать функции по мере анализа
Нажать F → ввести имя функции
Пример: sub_00401A30 → decrypt_strings
□ Использовать декомпилятор Ghidra
Открыть функцию → Window → Decompiler
Даёт псевдо-C-код, значительно упрощающий анализ
□ Искать перекрёстные ссылки (XREFs)
Правая кнопка → References → Find All References to
Показывает, где используется функция или переменная
□ Анализировать строки в контексте кода
Window → Defined Strings
Двойной клик на строке → переход к месту использования
5.2 ЧЕК-ЛИСТ: РАБОТА С X64DBG/X32DBG (ОТЛАДЧИК)
--------------------------------------------------
x64dbg — лучший бесплатный отладчик для Windows.
Используется совместно с дизассемблером.
□ Настроить точки останова (breakpoints)
СТАНДАРТНЫЕ ТОЧКИ ОСТАНОВА ДЛЯ АНАЛИЗА МАЛВАРИ:
bp CreateFileA/CreateFileW → отслеживать создание файлов
bp RegSetValueExA/W → отслеживать изменения реестра
bp connect → отслеживать сетевые подключения
bp CreateProcessA/W → отслеживать создание процессов
bp VirtualAlloc → отслеживать выделение памяти
bp WriteProcessMemory → отслеживать инжекцию кода
bp CryptEncrypt/CryptDecrypt → отслеживать шифрование
КОМАНДЫ X64DBG:
bp kernel32.CreateFileA → точка останова на функцию
bpx CreateFileA → альтернативный синтаксис
run / F9 → запустить/продолжить выполнение
step into / F7 → шаг с входом в функцию
step over / F8 → шаг без входа в функцию
run to cursor / F4 → выполнить до курсора
□ Снять дамп памяти упакованного файла
После того как упаковщик распаковал код в память:
1. Дождаться OEP (Original Entry Point)
2. Плагин Scylla (встроен в x64dbg):
Plugins → Scylla → Dump → Fix Dump
3. Сохранить восстановленный PE-файл
5.3 ЧЕК-ЛИСТ: АНАЛИЗ .NET-МАЛВАРИ
------------------------------------
Значительная часть современной малвари написана на .NET.
Для неё существуют специализированные инструменты.
□ Открыть образец в dnSpy или ILSpy
Эти инструменты декомпилируют .NET-код обратно в C#
с высоким качеством — часто получается практически
исходный код.
□ Если код обфусцирован — запустить de4dot
КОМАНДА:
de4dot.exe sample.exe -o deobfuscated.exe
de4dot.exe sample.exe --detect # определить обфускатор
□ Проверить ресурсы .NET-сборки
В dnSpy: Resources → проверить встроенные файлы
Часто дроппер прячет полезную нагрузку как ресурс
□ Проверить метаданные сборки
Assembly → Properties → версия, автор, GUID
5.4 ЧЕК-ЛИСТ: АНАЛИЗ СКРИПТОВ И ДОКУМЕНТОВ
--------------------------------------------
□ Для PowerShell-скриптов:
- Базовая деобфускация: заменить invoke-expression
на Write-Output для получения декодированного кода
- Инструмент: PowerShell AST Parser
- Инструмент: PSDecode (автоматическая деобфускация)
□ Для VBScript/JScript:
- Инструмент: JsBeautifier (для JS)
- Ручная деобфускация через замену eval на alert/print
□ Для Python-малвари (PyInstaller):
- Инструмент: pyinstxtractor.py (распаковка)
- Затем: uncompyle6 или decompile3 (декомпиляция .pyc)
□ Для AutoIt:
- Инструмент: Exe2Aut (декомпилятор)
ПЕРЕХОД К РАЗДЕЛУ 6 → [Динамический анализ: базовый уровень]
РАЗДЕЛ 6. ДИНАМИЧЕСКИЙ АНАЛИЗ: БАЗОВЫЙ УРОВЕНЬ (ПОВЕДЕНЧЕСКИЙ)
#динамическийанализ #поведение #Procmon #Autoruns #мониторинг
Динамический анализ — это наблюдение за поведением малвари
в контролируемой среде. Базовый уровень не требует знания
ассемблера и даёт быстрые результаты. Именно с него
рекомендуется начинать, если статический анализ не дал
достаточно информации или файл сильно упакован.
6.1 ПОДГОТОВКА К ДИНАМИЧЕСКОМУ АНАЛИЗУ
----------------------------------------
□ Убедиться, что используется чистый снапшот ВМ
□ Настроить сеть: HOST-ONLY или FakeNet-NG
□ Запустить все инструменты мониторинга ДО запуска образца
□ Сделать снапшот реестра ПЕРЕД запуском (RegShot — первый снимок)
□ Начать захват трафика в Wireshark
□ Запустить Process Monitor с фильтрами
6.2 ЧЕК-ЛИСТ: МОНИТОРИНГ С PROCESS MONITOR
--------------------------------------------
Process Monitor (Procmon) — главный инструмент поведенческого
анализа от Sysinternals.
□ Настроить фильтры Procmon
РЕКОМЕНДУЕМЫЕ ФИЛЬТРЫ:
Добавить: Process Name → contains → [имя образца] → Include
Убрать шум: Process Name → is → procmon.exe → Exclude
Убрать шум: Process Name → is → System → Exclude
□ Запустить образец и наблюдать за активностью
□ После завершения работы образца — анализировать лог
ЧТО ИСКАТЬ В ЛОГЕ PROCMON:
ФАЙЛОВАЯ АКТИВНОСТЬ (вкладка File System):
→ CreateFile: создание новых файлов
(особое внимание к %TEMP%, %APPDATA%, %SystemRoot%)
→ WriteFile: запись данных в файлы
→ SetRenameInformationFile: переименование файлов
(признак шифровальщика — часто меняет расширения)
→ DeleteFile: удаление файлов (следы замётания)
РЕЕСТР (вкладка Registry):
→ RegSetValue в ключах автозапуска:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
→ Признак закрепления в системе
→ RegSetValue в ключах сервисов:
HKLM\SYSTEM\CurrentControlSet\Services\
→ Создание вредоносного сервиса
ПРОЦЕССЫ (вкладка Process Activity):
→ Process Create: запуск дочерних процессов
(cmd.exe, powershell.exe, wscript.exe — подозрительно)
→ Process Exit: завершение процессов
→ Load Image: загрузка DLL в адресное пространство
6.3 ЧЕК-ЛИСТ: АНАЛИЗ ИЗМЕНЕНИЙ РЕЕСТРА (REGSHOT)
--------------------------------------------------
□ Сделать первый снимок реестра (ДО запуска):
RegShot → 1st shot → Shot
□ Запустить образец, дать ему отработать 1-2 минуты
□ Сделать второй снимок реестра (ПОСЛЕ запуска):
RegShot → 2nd shot → Shot
□ Сравнить снимки:
RegShot → Compare
□ Анализировать результат:
Разделы "Keys added", "Values added", "Values modified"
содержат все изменения, которые малварь внесла в реестр.
КЛЮЧИ РЕЕСТРА, ТРЕБУЮЩИЕ ОСОБОГО ВНИМАНИЯ:
АВТОЗАПУСК:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
СЕРВИСЫ:
HKLM\System\CurrentControlSet\Services\
БРАУЗЕРНЫЕ РАСШИРЕНИЯ (стилеры):
HKLM\Software\Google\Chrome\Extensions
HKLM\Software\Mozilla\Firefox\
ПОЛИТИКИ (отключение защиты):
HKLM\Software\Policies\Microsoft\Windows Defender
6.4 ЧЕК-ЛИСТ: МОНИТОРИНГ ПРОЦЕССОВ (PROCESS HACKER)
------------------------------------------------------
□ Запустить Process Hacker до запуска образца
□ После запуска образца отслеживать:
→ Новые процессы (подсвечиваются зелёным)
→ Завершённые процессы (подсвечиваются красным)
→ Инжекции в существующие процессы
→ Необычные связи "родитель-потомок"
(explorer.exe → cmd.exe без действий пользователя)
→ Процессы с пустым именем или путём к файлу
→ Память процесса с атрибутами RWX
□ Проверить вкладку "Memory" для подозрительных процессов:
Искать регионы памяти с типом "Private" и атрибутами RWX
Сохранить такие регионы для дальнейшего анализа
□ Проверить вкладку "Network" для подозрительных процессов:
Какие соединения установлены? Куда? По какому порту?
6.5 ЧЕК-ЛИСТ: АНАЛИЗ АВТОЗАПУСКА (AUTORUNS)
---------------------------------------------
□ Запустить Autoruns после работы образца
□ Сравнить с чистым состоянием (File → Compare)
□ Проверить все вкладки:
Logon, Explorer, Services, Drivers, Scheduled Tasks,
Boot Execute, Codecs, LSA Providers, Print Monitors
□ Обратить внимание на записи:
→ Без цифровой подписи (Not Verified)
→ С подозрительными путями (%TEMP%, %APPDATA%)
→ С нестандартными именами (случайные строки)
ПЕРЕХОД К РАЗДЕЛУ 7 → [Динамический анализ: продвинутый уровень]
РАЗДЕЛ 7. ДИНАМИЧЕСКИЙ АНАЛИЗ: ПРОДВИНУТЫЙ УРОВЕНЬ (ОТЛАДКА)
#отладка #x64dbg #APIMonitor #hollowsHunter #инжекция
7.1 ЧЕК-ЛИСТ: АНАЛИЗ ИНЖЕКЦИЙ КОДА
-------------------------------------
Инжекция кода — техника, при которой малварь внедряет свой
код в адресное пространство другого (легитимного) процесса.
Это один из наиболее распространённых методов уклонения
от обнаружения.
ТИПЫ ИНЖЕКЦИЙ И КАК ИХ ОБНАРУЖИТЬ:
□ CLASSIC DLL INJECTION (классическая инжекция DLL)
API: OpenProcess → VirtualAllocEx → WriteProcessMemory
→ CreateRemoteThread (LoadLibraryA)
Обнаружение: Process Hacker → вкладка Modules целевого
процесса → найти нестандартные DLL
□ PROCESS HOLLOWING (опустошение процесса)
Создаётся легитимный процесс в suspended-состоянии,
его код заменяется вредоносным, затем процесс возобновляется.
API: CreateProcess (CREATE_SUSPENDED) → NtUnmapViewOfSection
→ VirtualAllocEx → WriteProcessMemory → SetThreadContext
→ ResumeThread
Обнаружение: PE-sieve, hollows_hunter
□ PROCESS DOPPELGÄNGING
Использует транзакции NTFS для создания процесса из
модифицированного файла, который никогда не записывается
на диск.
Обнаружение: hollows_hunter
□ REFLECTIVE DLL INJECTION
DLL загружает себя в память без использования стандартного
LoadLibrary — не оставляет следов в списке модулей.
Обнаружение: поиск PE-заголовков в регионах памяти
с помощью PE-sieve
КОМАНДЫ ДЛЯ ОБНАРУЖЕНИЯ ИНЖЕКЦИЙ:
# PE-sieve (сканирование всех процессов):
pe-sieve64.exe /pid 0 /quiet
# hollows_hunter (поиск подозрительных процессов):
hollows_hunter64.exe /dir output_dir
# В x64dbg: проверить регионы памяти текущего процесса
# Memory Map → найти регионы MEM_PRIVATE с атрибутами RX или RWX
7.2 ЧЕК-ЛИСТ: API MONITOR
---------------------------
API Monitor позволяет перехватывать вызовы Windows API
в реальном времени — мощнейший инструмент для понимания
того, что именно делает малварь.
□ Выбрать API для мониторинга:
Рекомендуемые группы для начала:
- Cryptography API
- File Management
- Registry
- Network (Winsock, WinINet)
- Process and Thread
□ Прикрепиться к процессу или запустить файл через API Monitor
□ Анализировать лог вызовов:
→ Последовательность вызовов раскрывает логику программы
→ Параметры вызовов содержат конкретные данные:
имена файлов, ключи реестра, данные для шифрования,
сетевые адреса
7.3 ЧЕК-ЛИСТ: АНАЛИЗ ТЕХНИК УКЛОНЕНИЯ ОТ ОБНАРУЖЕНИЯ
-------------------------------------------------------
Современная малварь активно противодействует анализу.
Необходимо знать эти техники и уметь их обходить.
□ ANTI-VM ТЕХНИКИ (определение виртуальной машины)
Признаки, которые малварь ищет в системе:
→ CPUID с EAX=1: бит 31 ECX (гипервизор)
→ Строки в реестре: "VMware", "VirtualBox", "VBOX"
HKLM\SOFTWARE\VMware, Inc.
HKLM\SOFTWARE\Oracle\VirtualBox
→ Специфические драйверы: vmmouse.sys, vmhgfs.sys,
VBoxGuest.sys, VBoxMouse.sys
→ MAC-адреса VMware (00:0C:29, 00:50:56) и VirtualBox
→ Имена процессов: vmtoolsd.exe, vboxservice.exe
ПРОТИВОДЕЙСТВИЕ:
→ Изменить MAC-адрес виртуального адаптера
→ Удалить VMware/VirtualBox Tools
→ Переименовать характерные процессы
→ Использовать плагины для x64dbg (anti-anti-vm)
→ Pafish — инструмент для проверки обнаруживаемости ВМ
□ ANTI-DEBUG ТЕХНИКИ (определение отладчика)
Распространённые методы:
→ IsDebuggerPresent() — простейшая проверка
→ CheckRemoteDebuggerPresent() — проверка внешнего отладчика
→ NtQueryInformationProcess с ProcessDebugPort
→ Проверка TEB/PEB флагов (BeingDebugged, NtGlobalFlag)
→ Timing attacks: RDTSC, GetTickCount — измерение времени
между инструкциями (в отладчике выполнение медленнее)
→ Hardware breakpoint detection
ПРОТИВОДЕЙСТВИЕ В X64DBG:
→ ScyllaHide плагин (автоматически обходит большинство
anti-debug техник)
→ Настройки: Options → Preferences → Engine → ScyllaHide
→ Вручную: поставить точку останова на IsDebuggerPresent
и изменить возвращаемое значение (EAX = 0)
□ ANTI-SANDBOX ТЕХНИКИ
→ Проверка количества файлов на рабочем столе
(в песочницах обычно 0-2 файла)
→ Проверка времени работы системы (uptime)
(песочницы запускаются "свежими")
→ Проверка активности мыши и клавиатуры
→ Проверка количества запущенных процессов
→ Sleep() вызовы для ожидания завершения работы песочницы
ПРОТИВОДЕЙСТВИЕ:
→ Добавить файлы на рабочий стол ВМ
→ Настроить скрипт имитации пользовательской активности
→ Патчить вызовы Sleep() в отладчике или через плагин
ПЕРЕХОД К РАЗДЕЛУ 8 → [Анализ сетевой активности]
РАЗДЕЛ 8. АНАЛИЗ СЕТЕВОЙ АКТИВНОСТИ ВРЕДОНОСНОГО ПО
#сетевойанализ #Wireshark #C2 #трафик #FakeNet
8.1 ЧЕК-ЛИСТ: ПЕРЕХВАТ И АНАЛИЗ СЕТЕВОГО ТРАФИКА
--------------------------------------------------
□ Настроить FakeNet-NG (рекомендуется для динамического анализа)
FakeNet-NG эмулирует сетевые сервисы и перехватывает весь
трафик малвари, позволяя ей "думать", что она подключена
к интернету.
УСТАНОВКА И ЗАПУСК:
pip install fakenet-ng
fakenet.exe # или python fakenet.py в Linux
FakeNet эмулирует: DNS, HTTP/HTTPS, SMTP, FTP, IRC,
и многие другие протоколы.
□ Параллельно запустить Wireshark для полного захвата
ПОЛЕЗНЫЕ ФИЛЬТРЫ WIRESHARK:
dns → весь DNS-трафик
http → HTTP-запросы и ответы
http.request.method == POST → POST-запросы (часто эксфильтрация)
tcp.flags.syn == 1 → новые TCP-соединения
ip.addr == [подозрительный IP] → фильтр по IP
!ip.addr == 192.168.x.x → исключить локальный трафик
□ Анализировать DNS-запросы
ЧТО ИСКАТЬ:
→ Запросы к необычным доменам (случайные строки, DGA)
→ Высокая частота DNS-запросов (признак DGA или beacon)
→ DNS TXT-запросы (могут использоваться для C2)
→ Запросы к .onion доменам (Tor)
→ Запросы к динамическим DNS-сервисам (no-ip.com, dyndns.org)
DGA (Domain Generation Algorithm) — алгоритм генерации
доменов. Признаки: домены из случайных символов,
запросы к сотням доменов за короткое время.
□ Анализировать HTTP/HTTPS-трафик
ДЛЯ HTTP (нешифрованного):
Wireshark → File → Export Objects → HTTP
Сохранить все передаваемые файлы и данные
ЧТО ИСКАТЬ В HTTP-ЗАПРОСАХ:
→ User-Agent (нестандартные строки User-Agent — признак
малвари, например: "Mozilla/4.0" без дополнений)
→ URL-паттерны C2: /gate.php, /panel/, /admin/, /bot/
→ POST-данные: зашифрованные или закодированные данные
(Base64, hex) — признак эксфильтрации
→ Cookie-заголовки с нестандартными значениями
(могут использоваться для передачи данных)
ДЛЯ HTTPS (шифрованного):
Трафик зашифрован, но метаданные доступны:
→ IP-адреса серверов
→ SNI (Server Name Indication) — имя домена в TLS handshake
→ Размеры и тайминги пакетов (для профилирования)
Для дешифровки HTTPS в лабораторных условиях:
→ mitmproxy с установленным корневым сертификатом в ВМ
→ Burp Suite (Community Edition достаточно)
□ Анализировать нестандартные протоколы
→ IRC (порт 6667) — старые ботнеты
→ SMTP (порт 25/465/587) — спам-боты
→ FTP (порт 21) — загрузка/скачивание файлов
→ Нестандартные порты: 4444, 8080, 8443, 1234 —
часто используются для C2
8.2 ЧЕК-ЛИСТ: АНАЛИЗ C2-КОММУНИКАЦИЙ
---------------------------------------
□ Определить тип C2-инфраструктуры:
ТИПЫ C2 ПО АРХИТЕКТУРЕ:
1. Прямое подключение: малварь → C2-сервер
(простейший вариант, легко обнаружить и заблокировать)
2. Peer-to-Peer: боты общаются между собой
(сложнее отключить, нет единой точки отказа)
3. Domain Fronting: скрытие реального C2 за CDN
(трафик выглядит как обращение к легитимному сервису)
4. Использование легитимных сервисов: Telegram, Pastebin,
GitHub, Google Docs как канал C2
□ Извлечь C2-конфигурацию из памяти
Многие RAT и ботнеты хранят конфигурацию (адреса C2,
ключи шифрования) в зашифрованном виде. После расшифровки
в памяти её можно извлечь:
Инструменты: Process Hacker → Memory → Search for string
Или: Volatility (для анализа дампов памяти)
□ Исследовать C2-домены и IP-адреса
РЕСУРСЫ ДЛЯ ИССЛЕДОВАНИЯ:
→ Shodan.io — информация о серверах
→ Censys.io — сканирование интернета
→ WHOIS — регистрационные данные домена
→ VirusTotal Graph — связи между IOC
→ ThreatFox (abuse.ch) — база IOC
→ URLhaus (abuse.ch) — вредоносные URL
ПЕРЕХОД К РАЗДЕЛУ 9 → [Анализ вредоносных документов]
РАЗДЕЛ 9. АНАЛИЗ ВРЕДОНОСНЫХ ДОКУМЕНТОВ И СКРИПТОВ
#вредоносныедокументы #макросы #PDF #Office #фишинг
Вредоносные документы (malicious documents, maldocs) —
один из наиболее распространённых векторов первоначального
заражения. По данным отчётов за 2025 год, более 35%
успешных фишинговых атак использовали вредоносные документы
Office или PDF.
9.1 ЧЕК-ЛИСТ: АНАЛИЗ ДОКУМЕНТОВ MICROSOFT OFFICE
--------------------------------------------------
□ Определить тип документа
ФОРМАТЫ:
.doc/.xls/.ppt → Office 97-2003 (бинарный формат OLE)
.docx/.xlsx/.pptx → Office Open XML (ZIP-архив с XML)
.docm/.xlsm → с поддержкой макросов
□ Извлечь макросы (VBA)
ИНСТРУМЕНТЫ:
# olevba (из пакета oletools):
olevba sample.doc
olevba --decode sample.doc # автодекодирование Base64
olevba --reveal sample.doc # показать деобфусцированный код
# oledump:
oledump.py sample.doc # список потоков
oledump.py -s A -v sample.doc # декодировать макрос
□ Анализировать извлечённый VBA-код
ПОДОЗРИТЕЛЬНЫЕ ФУНКЦИИ В VBA:
→ Shell(), CreateObject("WScript.Shell") → запуск команд
→ CreateObject("MSXML2.XMLHTTP") → HTTP-запросы
→ CreateObject("Scripting.FileSystemObject") → работа с файлами
→ AutoOpen(), AutoExec(), Document_Open() → автозапуск
→ Chr(), StrReverse(), Replace() → обфускация строк
→ Environ("TEMP"), Environ("APPDATA") → системные пути
□ Проверить OLE-структуру документа
# oleid — определение подозрительных признаков:
oleid sample.doc
# oleobj — извлечение встроенных объектов:
oleobj sample.doc -d output_dir/
□ Проверить наличие эксплойтов
Некоторые документы эксплуатируют уязвимости без макросов:
→ Equation Editor (CVE-2017-11882) — .doc
→ Follina (CVE-2022-30190) — .docx с MSDT
→ Инструмент: rtfobj (для RTF-файлов с Ole10Native)
9.2 ЧЕК-ЛИСТ: АНАЛИЗ PDF-ДОКУМЕНТОВ
--------------------------------------
□ Анализировать структуру PDF
# pdfid — быстрый анализ:
pdfid.py sample.pdf
ПОДОЗРИТЕЛЬНЫЕ ЭЛЕМЕНТЫ:
→ /JavaScript или /JS — встроенный JavaScript
→ /OpenAction, /AA — автоматические действия при открытии
→ /Launch — запуск внешних программ
→ /EmbeddedFile — встроенные файлы
→ /Encrypt — зашифрованное содержимое
# pdf-parser — детальный анализ:
pdf-parser.py -s JavaScript sample.pdf
pdf-parser.py --object [номер] sample.pdf
□ Извлечь и деобфусцировать JavaScript
# peepdf — интерактивный анализ:
peepdf.py -i sample.pdf
Внутри peepdf:
> js
> extract js > output.js
9.3 ЧЕК-ЛИСТ: АНАЛИЗ СКРИПТОВ
--------------------------------
□ PowerShell:
- Декодировать Base64: [System.Text.Encoding]::Unicode.GetString
([System.Convert]::FromBase64String("..."))
- Инструмент: PSDecode
- Инструмент: PowerShell ISE с логированием
□ JavaScript/JScript (WSH):
- Форматировать код: js-beautify
- Заменить WScript.Shell.Run на WScript.Echo
- Анализировать в изолированной среде
□ VBScript:
- Заменить Execute/Eval на MsgBox
- Инструмент: UnVBSObfuscator
ПЕРЕХОД К РАЗДЕЛУ 10 → [Инструменты специалиста 2026]
РАЗДЕЛ 10. ИНСТРУМЕНТЫ СПЕЦИАЛИСТА: ПОЛНЫЙ АРСЕНАЛ 2026
#инструменты #malwareanalysis #tools #арсенал2026
10.1 КАТЕГОРИИ ИНСТРУМЕНТОВ
-----------------------------
Ниже представлен структурированный список инструментов,
актуальных на 2026 год. Все инструменты проверены и
активно используются профессиональными аналитиками.
СТАТИЧЕСКИЙ АНАЛИЗ — БАЗОВЫЙ:
┌─────────────────────────────────────────────────────┐
│ Инструмент │ Назначение │ Лицензия │
├─────────────────────────────────────────────────────┤
│ PEStudio 9.x │ Анализ PE-файлов │ Бесплатно│
│ CFF Explorer │ Редактор PE-структуры │ Бесплатно│
│ PE-bear │ Анализ PE + распаковка │ Бесплатно│
│ HxD 2.5 │ Hex-редактор │ Бесплатно│
│ DIE (Detect-It) │ Определение упаковщиков │ Бесплатно│
│ ExeinfoPE │ Определение упаковщиков │ Бесплатно│
│ FLOSS 3.x │ Извлечение строк │ Бесплатно│
│ Resource Hacker │ Редактор ресурсов PE │ Бесплатно│
└─────────────────────────────────────────────────────┘
СТАТИЧЕСКИЙ АНАЛИЗ — ПРОДВИНУТЫЙ:
┌─────────────────────────────────────────────────────┐
│ Инструмент │ Назначение │ Лицензия │
├─────────────────────────────────────────────────────┤
│ Ghidra 11.x │ Дизассемблер+декомп. │ Бесплатно│
│ IDA Free │ Дизассемблер │ Бесплатно│
│ IDA Pro 8.x │ Дизассемблер (полный) │ Платно │
│ Binary Ninja │ Дизассемблер │ Платно │
│ Cutter (rizin) │ Дизассемблер │ Бесплатно│
│ x64dbg │ Отладчик x64/x32 │ Бесплатно│
│ WinDbg Preview │ Отладчик Microsoft │ Бесплатно│
│ dnSpy │ .NET декомпилятор │ Бесплатно│
│ ILSpy │ .NET декомпилятор │ Бесплатно│
│ de4dot │ .NET деобфускатор │ Бесплатно│
└─────────────────────────────────────────────────────┘
ДИНАМИЧЕСКИЙ АНАЛИЗ:
┌─────────────────────────────────────────────────────┐
│ Инструмент │ Назначение │ Лицензия │
├─────────────────────────────────────────────────────┤
│ Process Monitor │ Мониторинг активности │ Бесплатно│
│ Process Hacker 3│ Мониторинг процессов │ Бесплатно│
│ System Informer │ Продолжение PH │ Бесплатно│
│ Autoruns 14.x │ Анализ автозапуска │ Бесплатно│
│ RegShot 1.9 │ Снапшоты реестра │ Бесплатно│
│ API Monitor │ Перехват API-вызовов │ Бесплатно│
│ PE-sieve │ Обнаружение инжекций │ Бесплатно│
│ hollows_hunter │ Обнаружение hollowing │ Бесплатно│
│ Noriben │ Автоматизация Procmon │ Бесплатно│
└─────────────────────────────────────────────────────┘
СЕТЕВОЙ АНАЛИЗ:
┌─────────────────────────────────────────────────────┐
│ Инструмент │ Назначение │ Лицензия │
├─────────────────────────────────────────────────────┤
│ Wireshark 4.x │ Захват и анализ трафика │ Бесплатно│
│ FakeNet-NG │ Эмуляция сети │ Бесплатно│
│ INetSim │ Эмуляция сети (Linux) │ Бесплатно│
│ mitmproxy 10.x │ Перехват HTTPS │ Бесплатно│
│ Burp Suite CE │ Анализ HTTP/HTTPS │ Бесплатно│
│ TCPView │ Мониторинг соединений │ Бесплатно│
│ NetworkMiner │ Анализ PCAP │ Бесплатно│
└─────────────────────────────────────────────────────┘
АНАЛИЗ ДОКУМЕНТОВ:
┌─────────────────────────────────────────────────────┐
│ oletools │ Анализ OLE/Office │ Бесплатно│
│ pdftools │ Анализ PDF │ Бесплатно│
│ peepdf │ Интерактивный PDF │ Бесплатно│
│ rtfobj │ Анализ RTF │ Бесплатно│
└─────────────────────────────────────────────────────┘
ПАМЯТИ И ФОРЕНЗИКА:
┌─────────────────────────────────────────────────────┐
│ Volatility 3.x │ Анализ дампов памяти │ Бесплатно│
│ Rekall │ Анализ памяти │ Бесплатно│
│ DumpIt │ Создание дампов памяти │ Бесплатно│
│ WinPmem │ Создание дампов памяти │ Бесплатно│
└─────────────────────────────────────────────────────┘
ОНЛАЙН-СЕРВИСЫ И ПЕСОЧНИЦЫ:
┌─────────────────────────────────────────────────────┐
│ VirusTotal │ Мультисканер + анализ │ Бесплатно│
│ Any.run │ Интерактивная песочница │ Freemium │
│ Hybrid Analysis │ Автоматический анализ │ Бесплатно│
│ Triage │ Песочница (tria.ge) │ Freemium │
│ Joe Sandbox │ Глубокий анализ │ Платно │
│ Cuckoo Sandbox │ Локальная песочница │ Бесплатно│
│ CAPE Sandbox │ Развитие Cuckoo │ Бесплатно│
└─────────────────────────────────────────────────────┘
10.2 РЕКОМЕНДУЕМЫЕ ДИСТРИБУТИВЫ ДЛЯ АНАЛИЗА
---------------------------------------------
Готовые дистрибутивы Linux с предустановленными
инструментами для анализа малвари:
FLARE VM (Windows):
Разработан FireEye/Mandiant. Скрипт установки
превращает чистую Windows в полноценную
аналитическую рабочую станцию.
Репозиторий: github.com/mandiant/flare-vm
REMnux (Linux):
Специализированный дистрибутив Linux для анализа
малвари. Содержит сотни предустановленных инструментов.
Сайт: remnux.org
CAINE (Linux):
Ориентирован на цифровую криминалистику,
включает инструменты для анализа малвари.
ПЕРЕХОД К РАЗДЕЛУ 11 → [Классификация и атрибуция]
РАЗДЕЛ 11. КЛАССИФИКАЦИЯ И АТРИБУЦИЯ ВРЕДОНОСНОГО ПО
#классификация #атрибуция #TTP #MITRE #ATTACKframework
11.1 ЧЕК-ЛИСТ: КЛАССИФИКАЦИЯ ПО ТИПУ И СЕМЕЙСТВУ
--------------------------------------------------
□ Определить тип малвари (см. раздел 2.3)
□ Определить семейство малвари
ИНСТРУМЕНТЫ:
→ VirusTotal → вкладка Detection → большинство имён
соответствуют классификации VirusTotal Community
→ Malpedia (malpedia.caad.fkie.fraunhofer.de) —
база знаний по семействам малвари
→ MISP Threat Intelligence — база данных угроз
КОНВЕНЦИИ ИМЕНОВАНИЯ:
Большинство антивирусных компаний используют схему:
[Тип]:[Семейство].[Вариант]
Например: Trojan:Win32/Emotet.C
□ Искать уникальные строки и признаки семейства
У каждого семейства малвари есть характерные признаки:
→ Уникальные строки (кодовые имена, ошибки разработчика)
→ Специфические алгоритмы шифрования
→ Уникальные мьютексы
→ Характерные пути файлов и ключи реестра
→ Специфические сетевые паттерны
11.2 ЧЕК-ЛИСТ: МАППИНГ НА MITRE ATT&CK
-----------------------------------------
MITRE ATT&CK — фреймворк, описывающий тактики, техники
и процедуры (TTP) злоумышленников. Маппинг на ATT&CK
превращает результаты анализа в стандартизированный
формат, понятный всем командам ИБ.
□ Для каждого обнаруженного поведения определить:
ТАКТИКУ (что злоумышленник пытается достичь):
TA0001 Initial Access → первоначальный доступ
TA0002 Execution → выполнение кода
TA0003 Persistence → закрепление в системе
TA0004 Privilege Escalation → повышение привилегий
TA0005 Defense Evasion → уклонение от обнаружения
TA0006 Credential Access → доступ к учётным данным
TA0007 Discovery → разведка в системе
TA0008 Lateral Movement → горизонтальное перемещение
TA0009 Collection → сбор данных
TA0010 Exfiltration → эксфильтрация данных
TA0011 Command and Control → управление
ТЕХНИКУ (как именно достигается цель):
Например: T1059.001 → PowerShell
T1055.012 → Process Hollowing
T1547.001 → Registry Run Keys
□ Использовать ATT&CK Navigator для визуализации
Инструмент: https://mitre-attack.github.io/attack-navigator/
Позволяет отмечать и визуализировать обнаруженные TTP
11.3 ЧЕК-ЛИСТ: АТРИБУЦИЯ УГРОЗЫ
----------------------------------
Атрибуция — определение группировки или кампании,
стоящей за атакой. Это сложная задача, требующая
накопленной базы знаний.
□ Сравнить TTP с известными группировками
РЕСУРСЫ:
→ MITRE ATT&CK Groups: attack.mitre.org/groups/
→ APT Groups and Operations (Google Sheets)
→ Отчёты вендоров: Mandiant, CrowdStrike, Kaspersky,
Positive Technologies
□ Искать пересечения с известными кампаниями
РЕСУРСЫ:
→ VirusTotal Graph — визуальный анализ связей
→ MISP — обмен данными об угрозах
→ OTX AlienVault — открытая база IOC
□ Проверить языковые артефакты
Язык сообщений об ошибках, язык интерфейса (если есть),
кодировки строк, временные зоны в метаданных — всё это
может указывать на происхождение малвари.
ВАЖНО: Атрибуция по языковым артефактам ненадёжна —
опытные группировки специально оставляют ложные следы.
ПЕРЕХОД К РАЗДЕЛУ 12 → [Написание отчёта]
РАЗДЕЛ 12. НАПИСАНИЕ ОТЧЁТА ПО РЕЗУЛЬТАТАМ АНАЛИЗА
#отчёт #IOC #документирование #шаблон
Профессиональный отчёт — это финальный продукт работы
аналитика. Некачественный отчёт обесценивает даже
блестящий технический анализ.
12.1 СТРУКТУРА ПРОФЕССИОНАЛЬНОГО ОТЧЁТА
-----------------------------------------
Стандартный отчёт об анализе малвари включает:
РАЗДЕЛ 1: РЕЗЮМЕ ДЛЯ РУКОВОДСТВА (Executive Summary)
Объём: 1/2 - 1 страница
Аудитория: менеджеры, не технические специалисты
Содержание:
→ Что за файл был проанализирован
→ Является ли он вредоносным (да/нет)
→ Тип угрозы (одним предложением)
→ Потенциальный ущерб (кратко)
→ Рекомендуемые немедленные действия
РАЗДЕЛ 2: ТЕХНИЧЕСКИЕ ДЕТАЛИ
Объём: 3-10 страниц
Аудитория: технические специалисты, SOC-аналитики
Содержание:
→ Хэши файла (MD5, SHA1, SHA256)
→ Метаданные файла (размер, тип, дата компиляции)
→ Результаты статического анализа
→ Результаты динамического анализа
→ Сетевые IOC
→ Системные IOC
→ Маппинг на MITRE ATT&CK
РАЗДЕЛ 3: ИНДИКАТОРЫ КОМПРОМЕТАЦИИ (IOC)
Формат: структурированный список
Содержание:
→ Хэши файлов (MD5, SHA256)
→ IP-адреса C2-серверов
→ Домены C2
→ URL-адреса
→ Пути файлов
→ Ключи реестра
→ Мьютексы
→ Строки YARA
РАЗДЕЛ 4: РЕКОМЕНДАЦИИ
Содержание:
→ Рекомендации по обнаружению (правила SIEM, YARA)
→ Рекомендации по блокировке (IP, домены, хэши)
→ Рекомендации по реагированию (что проверить в сети)
→ Долгосрочные рекомендации (патчи, настройки)
12.2 ШАБЛОН IOC-СЕКЦИИ
------------------------
Пример правильно оформленной IOC-секции:
═══════════════════════════════════════════════════
ИНДИКАТОРЫ КОМПРОМЕТАЦИИ
Образец: [название]
Дата анализа: [дата]
Аналитик: [имя]
═══════════════════════════════════════════════════
ХЭШИ:
MD5: [32 символа]
SHA1: [40 символов]
SHA256: [64 символа]
СЕТЕВЫЕ IOC:
IP: [адрес]:[порт] (C2, протокол: HTTP)
Домен: [домен] (C2, DNS-запросы)
URL: [URL] (загрузка полезной нагрузки)
ФАЙЛОВЫЕ IOC:
%APPDATA%\[путь] (создаётся малварью)
%TEMP%\[имя файла] (временный файл, удаляется)
РЕЕСТР:
HKCU\Software\...\Run\[имя] = "[путь к малвари]"
МЬЮТЕКСЫ:
[имя мьютекса]
YARA:
[правило или ссылка на правило]
ПЕРЕХОД К РАЗДЕЛУ 13 → [Продвинутые техники анализа]
РАЗДЕЛ 13. ПРОДВИНУТЫЕ ТЕХНИКИ: ОБХОД АНТИОТЛАДКИ И ОБФУСКАЦИИ
#антиотладка #обфускация #упаковщики #продвинутыетехники
13.1 ЧЕК-ЛИСТ: РАБОТА С ОБФУСКАЦИЕЙ КОДА
------------------------------------------
Обфускация — намеренное усложнение кода для затруднения
анализа. Существует множество методов обфускации,
каждый требует своего подхода.
□ СТРОКОВАЯ ОБФУСКАЦИЯ
МЕТОДЫ:
→ XOR-шифрование строк с ключом
→ Base64-кодирование
→ ROT13/Caesar cipher
→ Посимвольное построение строк из char-кодов
→ Хранение строк в зашифрованном виде в ресурсах
ПОДХОД К АНАЛИЗУ:
1. Найти функцию декодирования строк в коде
2. Реализовать её на Python и декодировать все строки
3. Или: поставить breakpoint на выходе функции декодирования
в отладчике и собрать все декодированные строки
ПРИМЕР: XOR-декодирование на Python
encrypted = bytes([0x48, 0x3a, 0x2f, 0x2f, 0x1a, 0x3c])
key = 0x4a
decrypted = ''.join(chr(b ^ key) for b in encrypted)
print(decrypted) # → "http://..."
□ КОНТРОЛЬНЫЙ ПОТОК И ОБФУСКАЦИЯ CFG
Методы запутывания потока управления:
→ Opaque predicates: условия, всегда истинные или ложные,
но выглядящие как реальные ветвления
→ Вставка мёртвого кода: код, который никогда не выполняется
→ Уплощение CFG (control flow flattening): все блоки
проходят через один диспетчер
Инструменты для анализа: Ghidra (Graph View), IDA Pro
□ ВИРТУАЛЬНЫЕ МАШИНЫ В МАЛВАРИ (VM-BASED OBFUSCATION)
Наиболее сложный вид защиты. Малварь реализует собственный
виртуальный процессор с уникальным набором инструкций
и компилирует защищаемый код для него.
Примеры: Themida, VMProtect, Code Virtualizer
Подход: анализ архитектуры виртуального процессора,
написание дизассемблера для него — занимает дни/недели.
13.2 ЧЕК-ЛИСТ: АНАЛИЗ ШИФРОВАЛЬЩИКОВ (RANSOMWARE)
----------------------------------------------------
Ransomware требует особого подхода из-за скорости работы
и критичности ошибок.
□ Немедленные действия при обнаружении активного ransomware:
→ Изолировать заражённые системы от сети
→ НЕ выключать машины (ключи шифрования могут быть в памяти)
→ Снять дамп памяти всех заражённых систем
→ Зафиксировать список зашифрованных файлов
□ При анализе образца в лаборатории:
→ Определить алгоритм шифрования (AES, RSA, ChaCha20...)
→ Найти где генерируется ключ шифрования
→ Определить куда отправляется ключ (C2-сервер)
→ Проверить наличие известных слабостей в реализации
→ Ресурс: nomoreransom.org — база декрипторов
□ Анализировать записку с требованием выкупа:
→ Уникальный ID жертвы (как формируется?)
→ Email или Tor-адрес для связи
→ Сумма выкупа и криптовалюта
→ Сравнить с известными семействами ransomware
13.3 ЧЕК-ЛИСТ: АНАЛИЗ СТИЛЕРОВ
---------------------------------
□ Определить цели стилера:
→ Браузеры (Chrome, Firefox, Edge): пароли, куки, история
→ Криптовалютные кошельки (Electrum, MetaMask, Exodus)
→ Мессенджеры (Telegram, Discord, Signal)
→ Почтовые клиенты (Thunderbird, Outlook)
→ FTP-клиенты (FileZilla, WinSCP)
→ SSH-ключи и VPN-конфиги
□ Определить метод эксфильтрации:
→ HTTP POST на C2
→ Telegram Bot API
→ SMTP (отправка по email)
→ FTP
□ Найти и задокументировать пути к данным браузеров:
Chrome: %LOCALAPPDATA%\Google\Chrome\User Data\Default\
Firefox: %APPDATA%\Mozilla\Firefox\Profiles\
ПЕРЕХОД К РАЗДЕЛУ 14 → [Автоматизация и YARA]
РАЗДЕЛ 14. АВТОМАТИЗАЦИЯ АНАЛИЗА И YARA-ПРАВИЛА
#YARA #автоматизация #CuckooSandbox #python #правила
14.1 YARA: СОЗДАНИЕ ПРАВИЛ ОБНАРУЖЕНИЯ
----------------------------------------
YARA — стандарт индустрии для описания и обнаружения
вредоносного ПО на основе паттернов. Правила YARA
используются в антивирусах, SIEM, EDR и песочницах.
□ СТРУКТУРА YARA-ПРАВИЛА:
rule MalwareFamilyName_Variant
{
meta:
author = "Имя аналитика"
date = "2026-01-15"
description = "Описание что обнаруживает правило"
hash = "SHA256 образца"
reference = "ссылка на отчёт или образец"
strings:
// Строки (ASCII)
$str1 = "http://c2server.evil/gate.php"
$str2 = "MalwareConfigKey"
// Строки (широкие символы / Unicode)
$wstr1 = "EvilMutex" wide
// Без учёта регистра
$str3 = "powershell" nocase
// Регулярные выражения
$re1 = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{4}/
// Байтовые паттерны (hex)
$hex1 = { 48 8B 05 ?? ?? ?? ?? 48 85 C0 74 ?? }
// ?? = любой байт (wildcard)
condition:
uint16(0) == 0x5A4D // это PE-файл (MZ)
and filesize <> 0:
entropy -= p_x * math.log2(p_x)
return entropy
def analyze_pe(filepath):
with open(filepath, 'rb') as f:
data = f.read()
# Хэши
print(f"MD5: {hashlib.md5(data).hexdigest()}")
print(f"SHA256: {hashlib.sha256(data).hexdigest()}")
print(f"Size: {len(data)} bytes")
# PE-анализ
pe = pefile.PE(filepath)
print(f"\nTimestamp: {pe.FILE_HEADER.TimeDateStamp}")
print(f"Machine: {hex(pe.FILE_HEADER.Machine)}")
# Секции
print("\nSections:")
for section in pe.sections:
name = section.Name.decode().strip('\x00')
entropy = calculate_entropy(section.get_data())
print(f" {name:10} entropy={entropy:.2f} "
f"vsize={section.Misc_VirtualSize} "
f"rsize={section.SizeOfRawData}")
# Импорты
if hasattr(pe, 'DIRECTORY_ENTRY_IMPORT'):
print("\nImports:")
for entry in pe.DIRECTORY_ENTRY_IMPORT:
dll = entry.dll.decode()
funcs = [imp.name.decode() if imp.name else str(imp.ordinal)
for imp in entry.imports]
print(f" {dll}: {', '.join(funcs[:5])}...")
if __name__ == '__main__':
analyze_pe(sys.argv[1])
ПЕРЕХОД К РАЗДЕЛУ 15 → [Типичные ошибки]
РАЗДЕЛ 15. ТИПИЧНЫЕ ОШИБКИ ПРИ АНАЛИЗЕ МАЛВАРИ
#ошибки #советы #рекомендации #практика
15.1 ОШИБКИ БЕЗОПАСНОСТИ (КРИТИЧЕСКИЕ)
----------------------------------------
ОШИБКА 1: АНАЛИЗ НА ОСНОВНОЙ МАШИНЕ
Симптом: аналитик запускает образец на рабочем компьютере
"просто посмотреть что будет"
Последствие: заражение рабочей машины и сети
Решение: ВСЕГДА использовать изолированную ВМ
ОШИБКА 2: ПОДКЛЮЧЕНИЕ ВМ К РЕАЛЬНОЙ СЕТИ
Симптом: сетевой адаптер ВМ настроен в режиме Bridged
Последствие: малварь может заражать другие устройства
в сети, подключаться к реальным C2-серверам
Решение: Host-only или FakeNet-NG
ОШИБКА 3: ЗАБЫТЫЙ СНАПШОТ
Симптом: аналитик анализирует несколько образцов
в одной ВМ без отката
Последствие: перекрёстное загрязнение результатов,
невозможность понять, что сделал каждый образец
Решение: откат к чистому снапшоту перед каждым анализом
ОШИБКА 4: ПЕРЕДАЧА ФАЙЛОВ ЧЕРЕЗ БУФЕР ОБМЕНА
Симптом: использование copy-paste для передачи данных
между хостом и ВМ
Последствие: некоторые образцы специально мониторят
буфер обмена и могут "вырваться" из ВМ
Решение: передавать файлы только через ISO или USB
15.2 ОШИБКИ АНАЛИЗА (МЕТОДОЛОГИЧЕСКИЕ)
-----------------------------------------
ОШИБКА 5: НЕМЕДЛЕННЫЙ ЗАПУСК БЕЗ СТАТИЧЕСКОГО АНАЛИЗА
Симптом: аналитик сразу запускает образец, пропуская
статический анализ
Последствие: потеря важной информации, отсутствие
понимания структуры кода
Решение: всегда начинать со статического анализа
ОШИБКА 6: СЛИШКОМ КОРОТКОЕ ВРЕМЯ НАБЛЮДЕНИЯ
Симптом: аналитик ждёт 30 секунд и делает выводы
Последствие: многие образцы имеют задержку перед
активацией (sleep(), проверка времени работы системы)
Решение: минимальное время наблюдения — 5 минут,
для сложных образцов — до 30 минут
ОШИБКА 7: ИГНОРИРОВАНИЕ УПАКОВЩИКА
Симптом: аналитик пытается анализировать упакованный
файл без предварительной распаковки
Последствие: большинство информации скрыто под
упаковщиком, анализ неполный
Решение: всегда проверять наличие упаковщика (DIE)
и распаковывать перед анализом
ОШИБКА 8: ДОВЕРИЕ ТОЛЬКО VIRUSTOTAL
Симптом: аналитик считает файл чистым, если VirusTotal
показывает 0/70 детектов
Последствие: пропуск новых образцов (0-day), которые
ещё не добавлены в базы
Решение: нулевой результат VirusTotal — это не
подтверждение чистоты, а лишь отсутствие известных
сигнатур
ОШИБКА 9: НЕПОЛНАЯ ДОКУМЕНТАЦИЯ
Симптом: аналитик не фиксирует все свои действия
и наблюдения в процессе анализа
Последствие: невозможность воспроизвести результаты,
потеря важных деталей при написании отчёта
Решение: вести детальный лог всех действий в реальном
времени
ОШИБКА 10: ИГНОРИРОВАНИЕ ВРЕМЕННЫХ МЕТОК
Симптом: аналитик не обращает внимания на временные
метки создания/изменения файлов
Последствие: потеря информации о последовательности
событий и хронологии атаки
Решение: всегда синхронизировать время ВМ и фиксировать
временные метки всех артефактов
15.3 СОВЕТЫ ДЛЯ НАЧИНАЮЩИХ АНАЛИТИКОВ
----------------------------------------
→ Начните с анализа известных образцов: скачайте с
MalwareBazaar образцы с известными именами семейств
и проверьте, дойдёте ли вы до тех же выводов
→ Изучите ассемблер x86/x64: без понимания ассемблера
продвинутый статический анализ невозможен.
Рекомендуемый ресурс: "Practical Malware Analysis"
(Sikorski & Honig)
→ Практикуйтесь на CTF-задачах: платформы crackmes.one,
reversing.kr, malwareunicorn.org предлагают задачи
для практики
→ Изучайте отчёты вендоров: читайте публичные отчёты
Mandiant, CrowdStrike, Kaspersky — это лучший способ
понять, как анализируют реальные угрозы профессионалы
→ Присоединитесь к сообществу: Twitter/X (теги
#malware, #malwareanalysis), Discord-серверы по ИБ,
форумы OALabs
ПЕРЕХОД К РАЗДЕЛУ 16 → [FAQ]
РАЗДЕЛ 16. FAQ: 12 ВОПРОСОВ ОБ АНАЛИЗЕ ВРЕДОНОСНОГО ПО
#FAQ #частыевопросы #вопросыиответы
ВОПРОС 1: С ЧЕГО НАЧАТЬ ОБУЧЕНИЕ АНАЛИЗУ МАЛВАРИ?
---------------------------------------------------
Рекомендуемый путь для начинающих:
1. Изучите основы Windows-архитектуры: как работают
процессы, память, реестр, файловая система
2. Изучите основы ассемблера x86 (не нужно знать всё,
достаточно понимать основные инструкции)
3. Книга: "Practical Malware Analysis" (Sikorski, Honig)
— лучший учебник по теме
4. Настройте лабораторию (FLARE VM + REMnux)
5. Начните с простых образцов из MalwareBazaar
6. Параллельно решайте задачи на malwareunicorn.org
Не пытайтесь сразу анализировать сложные APT-инструменты
— начните с простых стилеров и троянов.
ВОПРОС 2: НУЖНО ЛИ ЗНАТЬ АССЕМБЛЕР ДЛЯ АНАЛИЗА МАЛВАРИ?
----------------------------------------------------------
Для базового и поведенческого анализа — нет.
Process Monitor, RegShot, Wireshark дают много информации
без знания ассемблера.
Для продвинутого статического анализа и работы
с отладчиком — да, знание ассемблера обязательно.
Хорошая новость: Ghidra и IDA Pro имеют декомпиляторы,
которые показывают псевдо-C-код, что значительно
снижает барьер входа.
ВОПРОС 3: МОЖНО ЛИ АНАЛИЗИРОВАТЬ МАЛВАРЬ В WINDOWS SANDBOX?
-------------------------------------------------------------
Windows Sandbox (встроенная в Windows 10/11 Pro) —
это лёгкая виртуальная машина, которая подходит
для быстрой первичной проверки, но НЕ для серьёзного
анализа:
→ Нет возможности установить инструменты мониторинга
→ Нет снапшотов
→ Ограниченные возможности наблюдения
→ Некоторая малварь обнаруживает Windows Sandbox
Используйте полноценный гипервизор (VMware/VirtualBox/KVM)
с настроенной аналитической ВМ.
ВОПРОС 4: БЕЗОПАСНО ЛИ ЗАГРУЖАТЬ ОБРАЗЦЫ НА VIRUSTOTAL?
---------------------------------------------------------
Зависит от ситуации:
БЕЗОПАСНО загружать:
→ Образцы из открытых источников (MalwareBazaar и т.д.)
→ Файлы, которые вы хотите проверить для себя
НЕ ЗАГРУЖАЙТЕ:
→ Образцы из расследования инцидента в вашей организации
(злоумышленник может мониторить загрузки своей малвари
и узнать, что его обнаружили)
→ Файлы, содержащие конфиденциальные данные
АЛЬТЕРНАТИВА: ищите по хэшу — если образец уже известен,
результаты будут доступны без загрузки файла.
ВОПРОС 5: ЧТО ДЕЛАТЬ, ЕСЛИ МАЛВАРЬ ОБНАРУЖИВАЕТ МОЮ ВМ?
---------------------------------------------------------
Признаки обнаружения ВМ: программа немедленно завершается,
ведёт себя иначе, чем ожидалось, или показывает
безобидное поведение.
Методы обхода:
1. Используйте плагин ScyllaHide для x64dbg
2. Измените MAC-адрес виртуального адаптера
3. Удалите VMware/VirtualBox Tools
4. Переименуйте характерные процессы (vmtoolsd.exe и т.д.)
5. Используйте инструмент Pafish для проверки,
что именно обнаруживает малварь
6. Рассмотрите использование физической машины
для особо сложных образцов
ВОПРОС 6: КАК ПРАВИЛЬНО ХРАНИТЬ КОЛЛЕКЦИЮ ОБРАЗЦОВ МАЛВАРИ?
-------------------------------------------------------------
Правила хранения:
→ Хранить в зашифрованном архиве (ZIP с паролем "infected"
— стандартный пароль в сообществе)
→ Физически изолированное хранилище (не в облаке)
→ Структурированные имена файлов: [дата]_[хэш]_[семейство]
→ Сопроводительная документация для каждого образца
→ Ограниченный доступ
Платформы для безопасного обмена:
→ MalwareBazaar (abuse.ch) — загрузка и скачивание
→ VirusShare — большая база (требует регистрации)
→ theZoo (GitHub) — учебные образцы
ВОПРОС 7: СКОЛЬКО ВРЕМЕНИ ЗАНИМАЕТ АНАЛИЗ ОДНОГО ОБРАЗЦА?
----------------------------------------------------------
Зависит от сложности:
БЫСТРЫЙ АНАЛИЗ (30-60 минут):
Простой стилер или загрузчик, не упакованный,
без антиотладки. Поведенческий анализ + базовый
статический = понятная картина.
СРЕДНИЙ АНАЛИЗ (2-8 часов):
Умеренно сложный образец с упаковщиком, базовой
антиотладкой. Требует распаковки и частичного
анализа кода.
ГЛУБОКИЙ АНАЛИЗ (несколько дней):
Сложный APT-инструмент с VM-based обфускацией,
множеством модулей, сложной C2-инфраструктурой.
Полный анализ может занять неделю и более.
На практике аналитики устанавливают временные рамки
в зависимости от приоритета угрозы.
ВОПРОС 8: ЧЕМ GHIDRA ОТЛИЧАЕТСЯ ОТ IDA PRO?
---------------------------------------------
GHIDRA:
→ Полностью бесплатна (разработана АНБ)
→ Отличный декомпилятор (сравним с IDA)
→ Поддержка многих архитектур
→ Скриптинг на Java и Python
→ Хорошая поддержка командной работы
→ Немного медленнее IDA в работе
IDA PRO:
→ Дорогостоящая (тысячи долларов за лицензию)
→ Более быстрая и отзывчивая
→ Лучшая экосистема плагинов
→ Hex-Rays декомпилятор (де-факто стандарт)
→ Больше возможностей для автоматизации через IDA SDK
Для большинства задач Ghidra полностью достаточна.
IDA Pro используется в командах, где скорость и
экосистема плагинов критически важны.
ВОПРОС 9: КАК АНАЛИЗИРОВАТЬ МАЛВАРЬ ДЛЯ LINUX?
------------------------------------------------
Принципы те же, инструменты отличаются:
Статический анализ:
→ file, strings, readelf, objdump — стандартные утилиты
→ Ghidra, Cutter/rizin — дизассемблеры
→ ltrace, strace — трассировка вызовов
Динамический анализ:
→ strace — системные вызовы
→ ltrace — вызовы библиотечных функций
→ gdb — отладчик
→ auditd — аудит системных событий
Сетевой анализ:
→ tcpdump, Wireshark — захват трафика
→ INetSim — эмуляция сети
ВОПРОС 10: ЧТО ТАКОЕ THREAT INTELLIGENCE И КАК ЕГО ИСПОЛЬЗОВАТЬ?
-----------------------------------------------------------------
Threat Intelligence (TI) — структурированная информация
об угрозах: известные IOC, TTP группировок, описания
семейств малвари.
Источники TI:
→ MISP — открытая платформа обмена TI
→ OTX AlienVault — открытая база IOC
→ ThreatFox (abuse.ch) — IOC малвари
→ MITRE ATT&CK — TTP группировок
→ Коммерческие TI-платформы (Recorded Future, Mandiant TI)
Как использовать при анализе:
1. Перед анализом: проверить хэш и IOC в базах TI
2. В процессе: сравнивать TTP с известными группировками
3. После анализа: публиковать новые IOC в MISP/ThreatFox
для помощи сообществу
ВОПРОС 11: КАК АВТОМАТИЗИРОВАТЬ РУТИННЫЙ АНАЛИЗ?
-------------------------------------------------
Инструменты автоматизации:
ПЕСОЧНИЦЫ (полная автоматизация):
→ CAPE Sandbox — локальная, бесплатная
→ Any.run — онлайн, интерактивная
→ Hybrid Analysis — онлайн, бесплатная
СКРИПТИНГ:
→ Python + pefile — анализ PE-файлов
→ Python + yara — сканирование YARA
→ VirusTotal API — автоматическая проверка хэшей
→ Cortex (TheHive) — оркестрация аналитических задач
КОНВЕЙЕР ПЕРВИЧНОГО АНАЛИЗА:
Получение образца
→ Вычисление хэшей (автоматически)
→ Проверка в VirusTotal по API
→ Запуск DIE (определение упаковщика)
→ Запуск FLOSS (извлечение строк)
→ Запуск в CAPE Sandbox
→ Генерация предварительного отчёта
ВОПРОС 12: КАКИЕ СЕРТИФИКАТЫ ПОДТВЕРЖДАЮТ НАВЫКИ В ОБЛАСТИ АНАЛИЗА МАЛВАРИ?
---------------------------------------------------------------------------
Актуальные сертификаты на 2026 год:
GREM (GIAC Reverse Engineering Malware):
→ Один из наиболее признанных сертификатов
→ Охватывает статический и динамический анализ
→ Требует глубоких технических знаний
CRTIA (Certified Reverse Engineering & Threat Intelligence Analyst):
→ Относительно новый, практикоориентированный
eCMAP (eLearnSecurity Certified Malware Analysis Professional):
→ Доступная стоимость
→ Хорошая практическая составляющая
FOR610 (SANS Reverse-Engineering Malware):
→ Курс SANS с последующей сертификацией GREM
→ Один из лучших учебных курсов по теме
Без сертификата:
Публичные отчёты об анализе, GitHub с YARA-правилами
и инструментами, выступления на конференциях (PHDays,
ZeroNights, Positive Hack Days) — всё это ценнее
любого сертификата при трудоустройстве.
ИТОГОВЫЙ МАСТЕР-ЧЕКЛИСТ АНАЛИЗА ВРЕДОНОСНОГО ПО
ПОДГОТОВКА:
□ Изолированная ВМ с чистым снапшотом готова
□ Все инструменты мониторинга установлены
□ Сеть настроена (Host-only или FakeNet-NG)
□ Wireshark запущен и захватывает трафик
□ Все инструменты мониторинга запущены ДО образца
СТАТИЧЕСКИЙ АНАЛИЗ — БАЗОВЫЙ:
□ Хэши вычислены (MD5, SHA1, SHA256)
□ Проверка в VirusTotal/MalwareBazaar по хэшу
□ Реальный тип файла определён (magic bytes)
□ Строки извлечены (FLOSS)
□ Строки проанализированы (сеть, реестр, файлы, API)
□ PE-структура проанализирована (PEStudio)
□ Энтропия секций вычислена
□ Таблица импортов проанализирована
□ Ресурсы проверены
□ Наличие упаковщика проверено (DIE)
СТАТИЧЕСКИЙ АНАЛИЗ — ПРОДВИНУТЫЙ (при необходимости):
□ Файл открыт в Ghidra/IDA
□ Основные функции идентифицированы
□ Строковая обфускация деобфусцирована
□ Алгоритм шифрования/кодирования определён
□ Механизм persistence идентифицирован в коде
□ Сетевые функции и протокол C2 проанализированы
ДИНАМИЧЕСКИЙ АНАЛИЗ — БАЗОВЫЙ:
□ RegShot: первый снимок реестра сделан
□ Образец запущен
□ Procmon: лог активности собран
□ RegShot: второй снимок сделан, изменения проанализированы
□ Autoruns: изменения автозапуска проверены
□ Process Hacker: инжекции и аномальные процессы проверены
□ Wireshark/FakeNet: сетевая активность проанализирована
ДИНАМИЧЕСКИЙ АНАЛИЗ — ПРОДВИНУТЫЙ (при необходимости):
□ Anti-VM техники обнаружены и нейтрализованы
□ Anti-debug техники обнаружены и нейтрализованы
□ Инжекции обнаружены (PE-sieve, hollows_hunter)
□ Дамп памяти снят и проанализирован
□ C2-конфигурация извлечена
ДОКУМЕНТИРОВАНИЕ:
□ Все IOC задокументированы (хэши, IP, домены, пути, мьютексы)
□ TTP замаппированы на MITRE ATT&CK
□ Семейство малвари идентифицировано
□ YARA-правило написано
□ Отчёт составлен по структуре
□ IOC переданы команде защиты
ЗАКЛЮЧЕНИЕ
Анализ вредоносного ПО — это дисциплина, требующая
постоянного обучения. Злоумышленники совершенствуют
свои инструменты ежедневно, и аналитик должен
развиваться вместе с угрозами.
Ключевые принципы, которые останутся актуальными
независимо от года:
1. МЕТОДИЧНОСТЬ: следуйте чек-листу, не пропускайте шаги
2. ИЗОЛЯЦИЯ: никогда не жертвуйте безопасностью ради скорости
3. ДОКУМЕНТИРОВАНИЕ: фиксируйте всё в реальном времени
4. СКЕПТИЦИЗМ: проверяйте каждый вывод с нескольких сторон
5. ОБМЕН ЗНАНИЯМИ: делитесь IOC и YARA-правилами
с сообществом — это делает всех нас безопаснее
Используйте этот чек-лист как живой документ:
адаптируйте его под специфику своей организации,
добавляйте новые инструменты и техники по мере
их появления.