Изображение


[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-правилами
с сообществом — это делает всех нас безопаснее

Используйте этот чек-лист как живой документ:
адаптируйте его под специфику своей организации,
добавляйте новые инструменты и техники по мере
их появления.