Что делает

YARA — инструмент для идентификации и классификации вредоносного программного обеспечения по правилам. Правила YARA описывают паттерны (строки, бинарные последовательности, регулярные выражения) в файлах. Широко используется в антивирусах, IDS, threat hunting для поиска малвари.

Установка

sudo apt install yara

Синтаксис

yara [опции] <файл правил> <цель>

Ключевые флаги и опции

Флаг

Описание

-r

Рекурсивный обход директорий

-s

Показывать совпавшие строки

-p N

Количество потоков

-m

Показать метаданные правил

-n

Инвертировать результаты (только несовпадения)

-g

Показать теги

-l N

Лимит строк

-d VAR=VAL

Определить внешнюю переменную

--no-warnings

Без предупреждений

-f

Быстрый режим

-x MODULE

Загрузить внешний модуль

Практические примеры

Пример 1 — поиск малвари по готовым правилам:

# Скачиваем правила (например, из репозитория):
git clone https://github.com/Yara-Rules/rules.git /opt/yara-rules

# Сканируем подозрительный файл:
yara /opt/yara-rules/malware/RAT.yar /tmp/suspicious_file.exe
QUASAR_RAT /tmp/suspicious_file.exe
Win32_Trojan_Generic /tmp/suspicious_file.exe

Пример 2 — написание кастомного правила:

cat > detect_webshell.yar << 'EOF'
rule WebShell_PHP_Generic {
    meta:
        description = "Detect PHP web shells"
        severity = "critical"
    strings:
        $s1 = "eval(" nocase
        $s2 = "base64_decode(" nocase
        $s3 = "system(" nocase
        $s4 = "passthru(" nocase
        $s5 = "$_REQUEST" nocase
        $s6 = "$_POST" nocase
    condition:
        filesize < 100KB and
        3 of ($s*)
}
EOF

yara detect_webshell.yar /var/www/html/ -r -s
WebShell_PHP_Generic /var/www/html/images/thumb.php
0x0: $s1: eval(
0x15: $s2: base64_decode(
0x45: $s5: $_REQUEST

Пример 3 — сканирование памяти процесса:

# Получаем PID подозрительного процесса:
ps aux | grep suspicious

# Сканируем процесс:
yara -p 4 /opt/rules/malware.yar 1234
Cobalt_Strike_Beacon 1234

Частые ошибки

  • “Error: could not open file” — проверьте права доступа к файлу правил.

  • Медленное сканирование директорий — используйте -p 8 для многопоточности.

Заметки OPSEC

  • YARA часто используется защитниками для threat hunting — знание правил помогает их обходить.

  • Создавайте собственные правила для охоты на конкретные угрозы.

Связка с другими инструментами

yara (обнаружение малвари) → ghidra (реверс-инжиниринг найденных образцов)
yara + volatility (сканирование дампа памяти)
yara → sigma (конвертация правил в SIEM форматы)

Комментарии (0)