TGViewer
Hacker Lab Hacker Lab @hacker_lab_pro · 3.81K subscribers
Post #505 876
🐧 Linux EDR не видит тебя — если знать, куда смотреть

На Windows обход защиты давно каталогизирован: ntdll-хуки, ETW-провайдеры, kernel callbacks. На Linux всё иначе. Каждый EDR-агент использует свой источник телеметрии, и у каждого — свои слепые зоны.

По данным CrowdStrike 2025 Global Threat Report, 82% детектов приходятся на malware-free активность — credential theft, living-off-the-land, identity-based атаки. Именно это Linux EDR отслеживает хуже всего. А готовые bypass-инструменты для Linux уже продаются на подпольных форумах от $300.

🔍 Что именно перехватывает агент

Телеметрия на Linux собирается тремя способами:

• auditd — старый и совместимый, но работает как очередь. Если на хосте уже крутится compliance-система, EDR конкурирует за тот же поток событий. Часть syscall'ов просто не попадает в телеметрию.

• eBPF-сенсоры — современный подход. Агент цепляет kprobes и tracepoints к kernel-функциям. Но для работы BTF и CO-RE нужен kernel, собранный с CONFIG_DEBUG_INFO_BTF=y. На RHEL 7 и CentOS 7 этого нет — и там eBPF-сенсор попросту не запустится.

• Kernel-модули — максимальная видимость, но жёсткая привязка к версии ядра и дистрибутиву.

Первый шаг на любом engagement'е — понять, какой из трёх механизмов используется. От этого зависит всё остальное.

⚙️ Прямые syscall'ы: обходим glibc-хуки

Большинство программ вызывают syscall'ы через обёртки glibc. Часть EDR-агентов ставит uprobes именно на эти обёртки или использует LD_PRELOAD. Если вызвать syscall напрямую через asm volatile("syscall"), минуя __libc_execve, — такой агент ничего не увидит.

На Linux номера syscall'ов стабильны между версиями ядра одной архитектуры. Таблица лежит в arch/x86/entry/syscalls/syscall_64.tbl и практически не меняется. Никакой SysWhispers не нужен.

Что это не обходит: kprobes на kernel-стороне, auditd с правилом -a always,exit -F arch=b64 -S execve, seccomp-BPF фильтры. Они работают на уровне входа в ядро, до любого dispatch'а.

🕳 io_uring: слепая зона другого масштаба

io_uring — асинхронный интерфейс ввода-вывода, появившийся в ядре 5.1. Операции выполняются в ядре через разделяемые кольцевые буферы, без традиционных syscall'ов на каждую операцию. Большинство eBPF-сенсоров и auditd просто не видят эти операции — они не проходят через стандартные точки перехвата.

Исследователи из ARMO показали, что через io_uring можно открывать файлы, читать данные и устанавливать соединения, не генерируя ни одного события в auditd. Falco и Tracee на момент публикации исследования не детектировали этот вектор.

Полная разбивка по всем трём векторам — с механикой eBPF-атак и практическими примерами для пентеста — в статье на форуме.

https://codeby.net/threads/obkhod-edr-linux-syscall-evasion-io_uring-i-ebpf-ataki-dlya-pentesterov.92859/
  • 👍 3
  • ❤ 1
  • 👎 1
  • 🔥 1
More from @hacker_lab_pro
  1. Oct 9, 2026Как прошла Кибербитва GIS DAYS 2026: подробности нашего участия в соревнованиях ➡️В прошло…
  2. Oct 6, 2026⚡️ Твоё резюме на codeby.net теперь прокачивается само. Пока ты решаешь задачи на HackerLa…
  3. Oct 3, 2026🚩 Новые задания на платформе HackerLab! 👩‍💻 Категория Pentest Machines (Linux) — Клёвое…
  4. Oct 2, 2026Команда HackerLab заняла 4 место на Кибербитве GIS DAYS 2026! 30 сентября и 1 октября в Са…
  5. Sep 29, 2026От 200 до 300 тысяч на руки за то, чтобы первым разбирать свежие CVE. METASCAN ищет пентес…
  6. Sep 27, 2026🚀 Ищем новых авторов курсов по информационной безопасности У нас большая и очень живая ау…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →