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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rootkit — 리눅스 커널 모듈로, 루트 권한을 부여하고 프로세스/파일을 숨기며 자체 언로드를 방지합니다. Ubuntu 커널에서 교육 목적으로 설계되었습니다. | Kitploit
도구/GitHubGitHub/nurupo/rootkit
Privilege EscalationPersistence MechanismsPost-Exploitation
GitHubnurupo/rootkit

rootkit

리눅스 커널 모듈로, 루트 권한을 부여하고 프로세스/파일을 숨기며 자체 언로드를 방지합니다. Ubuntu 커널에서 교육 목적으로 설계되었습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Linux 루트킷

재미로 작성한, 악의적이지 않은 간단한 Linux 커널 루트킷입니다.

기능

이 루트킷은 다음 작업을 수행할 수 있습니다:

  • 사용자 영역 프로세스에 루트 권한 부여
  • PID로 프로세스 숨기기
  • PID로 이전에 숨긴 프로세스 다시 표시
  • 이름으로 파일 또는 디렉터리 숨기기
  • 이전에 숨긴 파일 또는 디렉터리 다시 표시
  • 자기 자신 숨기기
  • 자기 자신 다시 표시
  • 사용자가 언로드하지 못하도록 보호
  • 언로드 보호 비활성화

지원 플랫폼

이 루트킷은 Ubuntu 10.04.4 LTS 및 Ubuntu 16.04 LTS에서 Ubuntu가 제공하는 Linux 커널 2.6.32-38 및 4.4.0-22에서 작동하도록 테스트되었으며, 그 사이의 커널 및 최신 커널로도 매우 쉽게 포팅할 수 있습니다.

루트킷에는 x86 및 x86-64 아키텍처에서만 구현된 아키텍처별 코드가 일부 있습니다. 이는 시스템 호출 테이블을 찾고, 쓰기 보호된 메모리를 비활성화하며, 두 가지 함수 후킹 방법 중 하나를 위한 코드입니다. 새 아키텍처로의 포팅은 매우 쉬우며, 이 코드 중 일부는 루트킷 작동에 반드시 필요한 것은 아닙니다. 예를 들어, 비이식형 후킹 방법은 제거할 수 있지만, 대상 커널 함수의 기계어 코드를 덮어써서 대신 우리의 후크 함수를 호출하게 만드는 함수 후킹의 재미를 놓치려면 아주 지루한 사람이어야 할 것입니다.

이 루트킷은 CPU 코어 1개로만 테스트되었으므로, 멀티코어 시스템에서는 제대로 작동할 수도 있고 아닐 수도 있습니다. 루트킷이 주어진 시간에 단 하나의 스레드만 실행된다고 가정하고 작성되었기 때문에 멀티코어 시스템에서는 제대로 실행되지 않을 가능성이 높습니다. 원자적 쓰기/읽기 및 목록 데이터 구조 주변의 뮤텍스가 부족하기 때문입니다.

빌드

환경 설정

선택한 VM을 준비하세요.

원하는 Ubuntu 이미지를 받아 설치하세요:

커널 / 아키텍처x86x86-64
2.6.32Ubuntu 10.04.4 i386 (694M) [torrent] [iso]Ubuntu 10.04.4 amd64 (681M) [torrent] [iso]
4.4.0Ubuntu 16.04 i386 (647M) [torrent] [iso]Ubuntu 16.04 amd64 (655M) [torrent] [iso]

Ubuntu 10.04의 경우 패키지 저장소 주소를 패치하세요:

root@kitploit:~
sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

루트킷을 빌드하는 데 필요한 컴파일러, Linux 헤더 및 기타 모든 항목을 설치하세요:

root@kitploit:~
apt-get update
apt-get install build-essential

apt-get upgrade를 호출하지 않도록 주의하세요. 커널이 업데이트될 수 있으며, 루트킷은 사전 설치된 커널 버전에서만 테스트되었습니다.

실제 빌드

root@kitploit:~
make

사용법

루트킷 로드:

root@kitploit:~
insmod rootkit.ko

루트킷 사용:

root@kitploit:~
$ ./client --help
Usage: ./client [OPTION]...

Options:
  --root-shell            Grants you root shell access.
  --hide-pid=PID          Hides the specified PID.
  --unhide-pid=PID        Unhides the specified PID.
  --hide-file=FILENAME    Hides the specified FILENAME globally.
                          Must be a filename without any path.
  --unhide-file=FILENAME  Unhides the specified FILENAME.
  --hide                  Hides the rootkit LKM.
  --unhide                Unhides the rootkit LKM.
  --help                  Print this help message.
  --protect               Protects the rootkit from rmmod.
  --unprotect             Disables the rmmod protection.

루트킷 언로드:

root@kitploit:~
./client --unhide
./client --unprotect
rmmod rootkit.ko

이런 악성 코드를 온라인에 공개하다니 정신이 나갔군요, 말 그대로 스크립트 키디들에게 핵무기를 쥐어주는 겁니다!!!1

사실이 아닙니다. 전체 소스 코드가 포함된 Linux 루트킷 작성 방법에 대한 기사가 온라인에 많이 있으며, 수많은 GitHub 저장소는 말할 것도 없습니다.

참고 자료

이 루트킷을 작성하는 데 다음 자료가 사용되었습니다:

  • Linux 커널 코드
  • Linux 커널 문서
  • Linux 로더블 커널 모듈 HOWTO
  • WRITING A SIMPLE ROOTKIT FOR LINUX
  • Modern Linux Rootkits 101
  • Writing Modern Linux Rootkits 201 - VFS
  • Linux Kernel Module example. Rickroll prank.

라이선스

이 프로젝트는 GPLv2에 따라 라이선스가 부여됩니다.

도구 다운로드