Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ksentinel — 시스템 콜 후킹 탐지를 위한 리눅스 커널 무결성 모니터 | Kitploit
도구/GitHubGitHub/matheuzsecurity/ksentinel
Defensive ToolsIntrusion Detection
GitHubmatheuzsecurity/ksentinel

ksentinel

시스템 콜 후킹 탐지를 위한 리눅스 커널 무결성 모니터

저장소 보기
887477개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ksentinel - 커널 시스템 콜 무결성 모니터

Singularity 루트킷

개요

ksentinel은 중요 커널 함수와 시스템 콜 테이블의 무단 수정을 모니터링합니다. ftrace 훅, kprobes, 시스템 콜 테이블 하이재킹 등 대부분의 루트킷이 표적으로 삼는 일반적인 시스템 콜을 탐지합니다.

특징

  • 함수 프롤로그 무결성 검사 (FNV-1a 해시 기반)
  • 시스템 콜 테이블 모니터링 (512개 항목)
  • LSTAR MSR 확인 (x86_64 시스템 콜 진입점)
  • 잠금 해제 키 메커니즘을 통한 언로드 방지 보호
  • 설정 가능한 간격으로 지속적 모니터링

참고: ksentinel은 초기 버전입니다. 향후 커밋에서 더 많은 개선이 이루어질 예정입니다.

모니터링되는 함수

VFS 계층:

  • filldir, filldir64, do_getdents64, vfs_read, vfs_write, vfs_open

네트워크 스택:

  • tcp4_seq_show, tcp6_seq_show, udp4_seq_show, udp6_seq_show

자격 증명:

  • commit_creds, prepare_kernel_cred

모듈 시스템:

  • load_module, free_module

추적 인프라:

  • register_kprobe, register_ftrace_function, ftrace_set_filter

접두사 매칭을 통해 500개 이상의 추가 시스템 콜 래퍼 포함.

빌드

make

컴파일 중에 임의의 32자 잠금 해제 키가 생성되어 표시됩니다. 즉시 기록해 두십시오. 이 키는 컴파일된 모듈에 내장되며 외부에 저장되지 않습니다.

언로드 방지 보호가 활성화된 경우 안전하게 보관하십시오.

설치

sudo make install

모듈은 lsmod에서 숨김 상태로 로드되며 기본적으로 언로드 방지 보호가 활성화됩니다.

사용법

수동 로드

sudo insmod ksentinel.ko

관리자 스크립트 사용

sudo ./ksentinel-manager.sh load      # 모듈 로드
sudo ./ksentinel-manager.sh status    # 상태 확인
sudo ./ksentinel-manager.sh watch     # 실시간 모니터링
sudo ./ksentinel-manager.sh violations # 알림 확인

모니터링 로그

dmesg -wT | grep ksentinel

모듈 잠금 해제

언로드 방지가 활성화된 경우 제거 전에 모듈을 잠금 해제해야 합니다:

echo "your_32char_key" > /proc/.ksctl

또는 관리자 사용:

sudo ./ksentinel-manager.sh unlock

모듈 제거

sudo rmmod ksentinel

모듈 파라미터

파라미터타입기본값설명
period_msuint2000무결성 검사 간격 (밀리초)
sym_prefixesstring"sys_,x64_sys,do_sys,ksys_"모니터링할 심볼 접두사 (쉼표로 구분)
extra_symsstring""추가로 감시할 특정 심볼
anti_unloadbooltrue언로드 방지 보호 활성화

사용자 정의 파라미터 예시:

sudo insmod ksentinel.ko period_ms=5000 anti_unload=false

성능 고려 사항

ksentinel은 period_ms 파라미터에 따라 주기적으로 무결성 검사를 수행합니다.

간격이 짧을수록 탐지 속도는 빨라지지만 CPU 사용량이 증가합니다. 기본 간격(2000ms)은 최신 시스템에 미치는 영향이 미미합니다.

탐지 예시

인라인 훅 탐지

ksentinel: [CHANGE - HOOK PATTERN] sys_getdents64 @ 0xffffffff81234567
  baseline=1234567890abcdef  current=fedcba0987654321
  bytes: e9 ab cd ef 12 90 90 90 ...
  flags: JMP/CALL_DETECTED ENDBR64_PREFIX

시스템 콜 테이블 훅

ksentinel: [SCT HOOK] syscall[78] expected=0xffffffff81111111 got=0xffffffffa0222222 (fake_getdents+0x0)

LSTAR 변조

ksentinel: [LSTAR TAMPERED] baseline=0xffffffff81800000 now=0xffffffffa0300000 (evil_syscall_entry+0x0)

알려진 루트킷 탐지

ksentinel은 다음이 수행한 수정을 탐지할 수 있습니다:

  • PUMAKIT - ftrace 기반 훅킹 (18개 시스템 콜)
  • Diamorphine - 시스템 콜 테이블 패칭
  • KoviD - kprobes 기반 숨김

탐지는 루트킷보다 먼저 ksentinel을 로드했는지에 따라 달라집니다.

요구 사항

커널 설정:

  • CONFIG_KALLSYMS=y
  • CONFIG_KPROBES=y
  • CONFIG_MODULES=y

지원되는 커널:

  • Linux 5.4 ~ 6.12+
  • x86_64 아키텍처 (LSTAR 검사)
  • ARM64 지원 (LSTAR 검사 없음)

제한 사항

  1. 탐지만 가능 - 루트킷을 방지하거나 제거하지 않음
  2. 기준 시스템 가정 - 모듈 로드 시 커널이 깨끗하다고 가정
  3. 경쟁 조건 - ksentinel보다 먼저 로드된 루트킷은 탐지 불가
  4. 회피 가능성 - 정교한 루트킷은 모니터링 코드 자체를 표적으로 삼을 수 있음

보안 고려 사항

  • 부팅 시 가능한 한 빨리 ksentinel을 로드하십시오
  • 잠금 해제 키를 오프라인 상태로 안전하게 보관하십시오

문제 해결

모듈이 로드되지 않는 경우

커널 설정 확인:

grep -E "KALLSYMS|KPROBES" /boot/config-$(uname -r)

모듈이 언로드되지 않는 경우

모듈이 언로드 방지 보호와 함께 숨겨져 있습니다. 먼저 잠금 해제하십시오:

sudo ./ksentinel-manager.sh unlock

개발

make clean          # 빌드 아티팩트 정리
make                # 모듈 컴파일
make install        # 모듈 로드
make uninstall      # 모듈 언로드

기여

기여를 환영합니다. 코드 스타일을 유지하고 새로운 기능에 대한 테스트를 추가해주세요.

라이선스

GPL-2.0-only

이 프로그램은 GPL 버전 2.0에 따라 라이선스가 부여된 자유 소프트웨어입니다. 모든 수정 사항은 원저작자에 대한 표시를 유지하고 동일한 라이선스로 배포되어야 합니다.

전체 조건은 LICENSE 파일을 참조하십시오.

저자

MatheuZSecurity

루트킷 연구자 커뮤니티: https://discord.gg/66N5ZQppU7

면책 조항

이 도구는 보안 연구 및 시스템 관리를 위한 것입니다. 책임감 있게 사용하십시오. 저자는 이 소프트웨어의 오용이나 손해에 대해 책임을 지지 않습니다.

도구 다운로드