YARA — это инструмент, предназначенный (но не ограничивающийся этим) для помощи исследователям вредоносного ПО в идентификации и классификации образцов. С помощью YARA вы можете создавать правила, основанные на текстовых или бинарных шаблонах.
Поиск конкретных строк, путей к файлам или сообщений об ошибках внутри исполняемых файлов.
Использование шестнадцатеричных последовательностей для поиска специфических байт-кодов и опкодов.
Использование логических выражений для объединения правил и уточнения условий срабатывания.
rule MalwareExample {
strings:
$string_1 = "bad_server.com"
$string_2 = { E2 34 ?? C8 A1 }
condition:
$string_1 or $string_2
}
Для начала работы установим YARA в Linux (Ubuntu/Kali):
> sudo apt update && sudo apt install yara -y
Создадим правило для поиска строки "cmd.exe" и специфического заголовка MZ (Portable Executable):
rule Detect_CMD_Access {
meta:
description = "Обнаружение доступа к cmd.exe в файле"
author = "CyberSec Student"
strings:
$cmd = "cmd.exe" nocase
$mz = { 4D 5A } // Сигнатура PE-файла
condition:
$mz at 0 and $cmd
}
Теперь запустим YARA для проверки файлов в директории:
# Сканирование одного файла > yara my_rule.yar target_file.exe # Рекурсивное сканирование директории > yara -r my_rule.yar /home/user/downloads