Собрать поток с помощью tshark/tcpdump
tcpdump -n -s 0 -w /srv/forensics/host123/conn_185.41.23.22.pcap host 185.41.23.22 and port 443
Индикаторы:
😑dst_ip: 185.41.23.22 (пример)
😑порт: 443, TLS SNI — часто пустое/странное.
Поведение: короткие регулярные соединения, пакеты с зашифрованной нагрузкой.
6) Глубокий анализ бинарника
strings → look for open, send, C2 strings.
hexdump → найти вставленные ELF внутри (self-extractors).
yara по известным сигнатурам (если есть).
Проверить, использует ли бинар map-ы eBPF (символы BPF_).
7) Корень проблемы (root cause)
❌ Уязвимый WP-плагин позволил сделать POST → RCE (веб-лог показал POST на /wp-content/plugins/evil.php).
❌RCE скачал payload в /tmp, сделал chmod +x и exec, затем зашёл в bpf() и загрузил eBPF-руткит, который:
🌚скрывал трафик (фильтровал логи/изменял вывод)
🌚перехватывал чтение файлов (vfs_read) для похищения секретов
🌚перехватывал tcp_sendmsg для инжекции/эксфильтрации
8) Remediation (hours → days)
1. Патчим/удаляем уязвимый компонент (WordPress plugin)
2. Реимеджим контейнер/восстановление из known-good image
3. Rotate credentials: все сервисные аккаунты/ключи/пароли, которые могли быть прочитаны
4. Удаляем eBPF проги и maps (только после снятия дампов):
bpftool prog detach id 57
bpftool prog pin id 57 /sys/fs/bpf/old_57
bpftool map show | awk '{print $1}' | xargs -n1 bpftool map unlink
5. Проверяем kernel modules: lsmod | grep suspicious и cat /proc/modules
6. Полный скан на IOC во всей инфраструктуре (SIEM: искать exec из /tmp, bpf loads, и соединения на C2)
7. Проводим root cause meeting, post-mortem и deploy security fixes
9) Playbook для SOC (чеклист)
🔜Триггер: exec из /tmp OR bpf_load detected → пометить приоритет High
🔜Корреляция по PID/timestamp/hostname → собрать цепочку
🔜Изолировать / блокировать egress
🔜Скопировать бинарник и дампы в forensics storage
🔜Запустить bpftool + ss + lsof + ps + tcpdump
🔜Сделать дамп процесса/памяти (если допустимо)
🔜Провести статический/динамический анализ бинарника
🔜Поиск persistence и lateral movement
🔜Ротировать секреты & патчим уязвимый апп
🔜SIEM: разослать правила по похожим событиям и hunt по всей сети
10) Уроки и превентивные меры
✅Мониторь факты загрузки eBPF всегда — auditctl -S bpf и Tetragon/Falco.
✅Лимитируй CAP_BPF/CAP_SYS_ADMIN для сервисов.
✅Whitelist eBPF owners — разрешай загрузку только от доверенных процессов.
✅Обогащай события (container id, pod, image hash, CMDB).
✅Автоматическая корреляция: exec → bpf_load → connect = авто-сигнал к расследованию.
✅Регулярный аудит bpftool/progs/maps на всех нодах.
Заключение
eBPF даёт атакующим новые векторы: rootkit-уровень перехвата и маскировки. Но тот же eBPF — и щит: если SOC умеет ловить загрузки, корелировать события и быстро реагировать, атака останавливается на ранней стадии. Этот кейс — классическая цепочка: RCE → /tmp exec → bpf_load → C2. Если ты поймал всё это — у тебя хорошие шансы всё поправить без масштабных потерь.
#nasoc #ebpf #tetragon #forensics #incidentresponse #linuxsecurity