Статический анализ: строки, хеши и заголовки PE
Извлекайте строки, вычисляйте хеши и анализируйте заголовки PE, чтобы охарактеризовать вредоносное ПО без его запуска.
«Статический анализ: строки, хеши и заголовки PE» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Что такое статический анализ
Статический анализ исследует вредоносное ПО без его выполнения. Вы извлекаете сведения из самого файла — строки, импорты, заголовки и метаданные, — чтобы понять его возможности, прежде чем подвергать систему риску выполнения.
Вычисление хешей файлов
Вычислите хеш образца с помощью MD5, SHA-1 и SHA-256, чтобы создать уникальные отпечатки. Отправьте хеши в VirusTotal, чтобы проверить долю обнаружения и найти связанные образцы, не запуская файл.
sha256sum malware.exe
md5sum malware.exeИзвлечение строк
Утилита strings извлекает печатаемый текст ASCII и Юникода, встроенный в двоичный файл. Ищите URL-адреса, пути к файлам, ключи реестра, имена мьютексов и сообщения об ошибках, раскрывающие назначение программы.
strings -n 8 malware.exe | grep -iE "(http|reg|cmd|pass)"Обзор формата PE-файлов
Исполняемые файлы Windows используют формат Portable Executable. Заголовок MZ, заглушка DOS, сигнатура PE, заголовок COFF, дополнительный заголовок и таблица разделов описывают, как OS отображает файл в памяти.
Анализ разделов
Разделы PE, такие как .text (код), .data (инициализированные данные), .rdata (только для чтения) и .rsrc (ресурсы), раскрывают структуру файла. Высокая энтропия в .text может указывать на упаковку или шифрование.
# Using pefile Python library
import pefile
pe = pefile.PE("malware.exe")
for section in pe.sections:
print(section.Name, section.get_entropy())Таблица адресов импорта (IAT)
IAT содержит список всех функций программного интерфейса Windows, которые импортирует двоичный файл. Наличие VirtualAlloc, WriteProcessMemory и CreateRemoteThread указывает на внедрение в процесс. Импорты WinINet подразумевают связь с сервером управления.
Инструменты: PEStudio и CFF Explorer
PEStudio объединяет проверку хешей, извлечение строк, анализ IAT и поиск в VirusTotal в одном GUI. CFF Explorer позволяет редактировать заголовки PE и проверять ресурсы. Оба инструмента бесплатны и необходимы для анализа вредоносного ПО.
Обнаружение упаковщиков
Упакованное вредоносное ПО скрывает настоящие импорты за заглушкой, которая распаковывает его во время выполнения. Признаки: мало импортов (LoadLibrary + GetProcAddress), высокая энтропия .text, необычные имена разделов вроде UPX0 или отсутствие узнаваемых шаблонов кода в дизассемблере.
FLOSS для обфусцированных строк
FLOSS (решатель обфусцированных строк FLARE) от Mandiant автоматически извлекает строки на основе стека, декодированные строки и строки, декодируемые в тесных циклах, которые пропускает strings, значительно улучшая статическое покрытие обфусцированных образцов.
Анализ раздела ресурсов
Вредоносное ПО часто хранит полезные нагрузки, файлы конфигурации или файлы PE внутри раздела .rsrc. Используйте Resource Hacker или pecheck, чтобы извлечь и проанализировать встроенные ресурсы для поиска вторичных полезных нагрузок.
Создание отчёта статического анализа
Документ: хеш образца, время компиляции, версия компоновщика, примечательные импортируемые функции, подозрительные строки, обнаруженный упаковщик, аномалии ресурсов и оценка VirusTotal. Эти исходные данные используются при динамическом анализе.
Проверка знаний
Какой раздел PE обычно содержит исполняемый код программы?
Итоги
Статический анализ создаёт подробный портрет вредоносной программы без её запуска. Хеши, строки, анализ заголовка PE, проверка IAT и обнаружение упаковщика вместе раскрывают возможности программы и помогают направить дальнейшее исследование.
Часто задаваемые вопросы
Урок «Статический анализ: строки, хеши и заголовки PE» бесплатный?
Да — полный текст урока «Статический анализ: строки, хеши и заголовки PE» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Статический анализ: строки, хеши и заголовки PE»?
Извлекайте строки, вычисляйте хеши и анализируйте заголовки PE, чтобы охарактеризовать вредоносное ПО без его запуска. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Статический анализ: строки, хеши и заголовки PE»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Статический анализ: строки, хеши и заголовки PE
- Динамический анализ в песочнице
- Поведенческие IOC: реестр, сеть и файловые артефакты
- Правила YARA для обнаружения вредоносного ПО