
신호를 사용하여 프로세스 권한을 상승시키는 Linux 루트킷을 탐지합니다.
신호를 사용하여 프로세스 권한을 상승시키는 Linux 루트킷을 탐지합니다.
일부 루트킷은 특정 신호를 수신하여 권한을 상승시키는 신호 처리기를 설치합니다. 이 도구는 신호를 보내고 UID가 root로 전환되는 것을 관찰하여 이러한 루트킷을 식별할 수 있습니다. 선택적으로 root 셸을 실행합니다.
다음과 함께 테스트됨:
666을 알아야 합니다)최신 사전 빌드 바이너리는 Releases 페이지에서 다운로드하거나, 최신 사전 릴리스 버전을 소스에서 빌드할 수 있습니다:
git clone https://github.com/bcoles/rootkit-signal-hunter && \
cd rootkit-signal-hunter && \
cargo build --release
rootkit-signal-hunter -- [OPTIONS]
--min <MIN>: 최소 신호 번호 (기본값: 0)--max <MAX>: 최대 신호 번호 (기본값: 64)-s, --shell: 루트 셸 실행 (감지된 경우)-t, --threads: 작업자 스레드 수 (기본값: 16)-p, --pid: 신호를 보낼 프로세스 ID (기본값: $$)-v, --verbose: 상세 출력 활성화[!NOTE]
--pid구현은 새로 생성된 프로세스의 프로세스 ID를 나타내기 위해$$를 사용합니다. Fish와 같은 POSIX 비준수 셸에서는 실패합니다.
Singularity 및 Diamorphine과 같은 루트킷은 모든 프로세스 ID를 사용하여 권한 상승을 허용하므로 기본 옵션으로 쉽게 탐지할 수 있습니다 (-s는 루트 셸을 실행합니다):
rootkit-signal-hunter -s
KoviD와 같은 루트킷은 -p / --pid 플래그로 특정 프로세스 ID를 제공해야 합니다:
rootkit-signal-hunter -s --pid 666
[!NOTE] 이 경우 ID가
666인 정상적인 프로세스가 종료될 위험이 있습니다 (현재 사용자에게 필요한 권한이 있는 경우).
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
신호 기반 탐지를 lsrootkit의 일부로 구현한 David Reguera Garcia(Dreg)에게 감사를 표합니다.
저작권 © 2025, bcoles