awesome-linux-rootkits/README.md

227 lines
7.1 KiB
Markdown
Raw Permalink Normal View History

2018-10-16 20:33:01 +00:00
# `awesome-linux-rootkits` [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
2018-06-30 09:13:25 +00:00
2018-06-30 09:48:34 +00:00
## :key: feature table
2018-06-30 09:13:25 +00:00
2018-06-30 19:01:40 +00:00
Environment:
2018-06-30 21:16:57 +00:00
- CPU architecture
2018-06-30 19:01:40 +00:00
- Kernel/User mode (or mixed)
Core capabilities:
- Persistency
2018-06-30 19:20:34 +00:00
- Management interface
2018-10-16 20:34:07 +00:00
- Altering system (library) behavior
2018-06-30 19:14:49 +00:00
Stealth capabilities:
2018-06-30 19:24:42 +00:00
- Detection evasion
- System logs cleaning (filtering)
2018-06-30 19:01:40 +00:00
Hiding stuff capabilities:
- Hiding of files and directories
2018-07-02 10:05:05 +00:00
- Hiding (tampering) of file contents
2018-06-30 19:01:40 +00:00
- Hiding of processes and process trees
- Hiding of network connections and activity
- Hiding of process accounting information (like CPU usage)
Additional functions:
- Keylogger
- Backdoor/shell
2018-07-02 10:26:08 +00:00
- Gaining priveleges
2018-06-30 09:16:23 +00:00
2018-06-30 21:18:03 +00:00
## :see_no_evil: user mode rootkits
2018-06-30 09:16:23 +00:00
- https://github.com/mempodippy/vlany
Linux LD_PRELOAD rootkit (x86 and x86_64 architectures)
2018-06-30 09:46:39 +00:00
2018-06-30 21:44:19 +00:00
- https://github.com/unix-thrust/beurk
BEURK is an userland preload rootkit for GNU/Linux, heavily focused around anti-debugging and anti-detection.
2018-06-30 21:49:30 +00:00
- https://github.com/chokepoint/azazel
Azazel is a userland rootkit based off of the original LD_PRELOAD technique from Jynx rootkit.
2018-06-30 21:57:27 +00:00
- https://github.com/chokepoint/Jynx2
JynxKit2 is an LD_PRELOAD userland rootkit based on the original JynxKit.
2018-06-30 22:07:55 +00:00
- https://github.com/chokepoint/jynxkit
JynxKit is an LD_PRELOAD userland rootkit for Linux systems with reverse connection SSL backdoor
2018-06-30 22:06:45 +00:00
- https://github.com/NexusBots/Umbreon-Rootkit
LD_PRELOAD based
2018-06-30 21:57:27 +00:00
2018-06-30 22:23:06 +00:00
- https://github.com/ChristianPapathanasiou/apache-rootkit
2018-07-05 10:55:16 +00:00
A malicious Apache module with rootkit functionality
2018-06-30 22:23:06 +00:00
2018-06-30 21:18:03 +00:00
## :hear_no_evil: kernel mode rootkits
2018-06-30 09:46:39 +00:00
2019-06-10 19:59:01 +00:00
- https://github.com/jermeyyy/rooty
Academic project of Linux rootkit made for Bachelor Engineering Thesis.
- https://github.com/trailofbits/krf
A kernelspace randomized syscall faulter for Linux 4.15+
2018-07-02 15:26:03 +00:00
- https://github.com/f0rb1dd3n/Reptile :zap: [details](details/reptile.md) :zap:
2018-06-30 09:46:39 +00:00
Reptile is a LKM rootkit written for evil purposes that runs on Linux kernel 2.6.x/3.x/4.x
2018-07-02 20:07:05 +00:00
- https://github.com/QuokkaLight/rkduck :zap: [details](details/rkduck.md) :zap:
2018-06-30 10:09:49 +00:00
rkduck - Rootkit for Linux v4
2018-06-30 13:26:13 +00:00
2018-06-30 22:19:50 +00:00
- https://github.com/croemheld/lkm-rootkit
A LKM rootkit for most newer kernel versions.
2018-06-30 21:16:57 +00:00
- https://github.com/mncoppola/suterusu
2018-06-30 21:27:30 +00:00
An LKM rootkit targeting Linux 2.6.x/3.x on x86, and ARM
2018-06-30 22:09:43 +00:00
- https://github.com/romeroperezabel/ARP-RootKit
2018-07-05 10:55:16 +00:00
An open source rootkit for the Linux Kernel to develop new ways of infection/detection.
2018-06-30 22:09:43 +00:00
2018-06-30 21:37:59 +00:00
- https://github.com/nurupo/rootkit
Linux rootkit for Ubuntu 16.04 and 10.04 (Linux Kernels 4.4.0 and 2.6.32), both i386 and amd64
2018-06-30 21:16:57 +00:00
2018-07-05 10:55:16 +00:00
- https://github.com/m0nad/Diamorphine
2018-06-30 21:12:39 +00:00
LKM rootkit for Linux Kernels 2.6.x/3.x/4.x/5.x (x86 and x86_64)
2018-07-05 10:55:16 +00:00
- https://github.com/ivyl/rootkit
2018-06-30 21:32:07 +00:00
Sample Rootkit for Linux
2018-10-16 20:44:35 +00:00
- https://github.com/deb0ch/toorkit
A simple useless rootkit for the linux kernel
- https://github.com/vrasneur/randkit
Random number rootkit for the Linux kernel
2018-06-30 21:50:42 +00:00
- https://github.com/Eterna1/puszek-rootkit
Yet another LKM rootkit for Linux. It hooks syscall table.
2018-06-30 21:57:27 +00:00
- https://github.com/trimpsyw/adore-ng
linux rootkit adapted for 2.6 and 3.x
2018-06-30 21:57:27 +00:00
- https://github.com/bones-codes/the_colonel
An experimental linux kernel module (rootkit) with a keylogger and built-in IRC bot
2018-06-30 22:01:05 +00:00
- https://github.com/David-Reguera-Garcia-Dreg/enyelkm
LKM rootkit for Linux x86 with the 2.6 kernel. It inserts salts inside system_call and sysenter_entry.
2018-06-30 22:03:53 +00:00
- https://github.com/falk3n/subversive
x86_64 linux rootkit using debug registers
2018-06-30 22:04:47 +00:00
- https://github.com/jiayy/lkm-rootkit
An lkm rootkit support x86/64,arm,mips
2018-06-30 22:13:31 +00:00
- https://github.com/a7vinx/liinux
A linux rootkit works on kernel 4.0.X or higher
2018-06-30 22:15:25 +00:00
- https://github.com/hanj4096/wukong
Wukong: a LKM rootkit for Linux kernel 2.6.x, 3.x and 4.x
2018-06-30 22:16:08 +00:00
- https://github.com/varshapaidi/Kernel_Rootkit
Linux Kernel Rootkit - To hide modules and ssh service
2018-06-30 22:16:43 +00:00
- https://github.com/kacheo/KernelRootkit
Linux kernel rootkit to hide certain files and processes.
2018-06-30 22:18:10 +00:00
- https://github.com/dsmatter/brootus
bROOTus is a Linux kernel rootkit that comes as a single LKM (Loadable Kernel Module) and it is totally restricted to kernel 2.6.32.
2018-07-01 19:30:22 +00:00
- https://github.com/jarun/keysniffer
2018-07-05 10:55:16 +00:00
A Linux kernel module to grab keys pressed in the keyboard.
2018-07-01 19:42:23 +00:00
- https://github.com/PinkP4nther/Sutekh
An example rootkit that gives a userland process root permissions (x86, 4.x)
2018-07-01 19:47:59 +00:00
2018-07-01 20:01:21 +00:00
- https://github.com/En14c/LilyOfTheValley
2018-07-05 10:55:16 +00:00
LilyOfTheValley is a simple LKM linux kernel rootkit for v4.x that works on (x86 and x86_64)
2018-07-01 20:01:21 +00:00
2018-10-16 20:44:35 +00:00
- https://github.com/NoviceLive/research-rootkit
2020-05-20 21:37:57 +00:00
This is LibZeroEvil & the Research Rootkit project, in which there are step-by-step, experiment-based courses that help to get you started and keep your hands dirty with offensive or defensive development in the Linux kernel (LibZeroEvil).
2018-10-16 20:44:35 +00:00
2019-08-07 08:14:10 +00:00
- https://github.com/NinnOgTonic/Out-of-Sight-Out-of-Mind-Rootkit :zap: [writeup](https://github.com/NinnOgTonic/Out-of-Sight-Out-of-Mind-Rootkit/blob/master/osom.pdf) :zap:
2019-10-19 14:48:58 +00:00
Out of Sight, Out of Mind is a study and implementation of Linux rootkit methods. In addition a new covert network channel using additional Domain Name System (DNS) is implemented.
2021-05-25 15:35:00 +00:00
- https://github.com/h3xduck/Umbra
An experimental LKM rootkit for v4.x/5.x kernels which opens a backdoor that can be used to get a reverse shell remotely.
2019-08-07 08:14:10 +00:00
- https://github.com/kris-nova/boopkit
Linux backdoor, rootkit, and eBPF bypass tools. Remote command execution over raw TCP.
- https://github.com/milabs/kopycat
KOPYCAT - Linux Kernel module-less implant (backdoor).
2022-07-04 12:26:00 +00:00
- https://github.com/h3xduck/TripleCross
A Linux eBPF rootkit with a backdoor, C2, library injection, execution hijacking, persistence and stealth capabilities.
2022-07-05 07:44:03 +00:00
- https://github.com/carloslack/KoviD
Linux 4.18+ rootkit with multiple reverse backdoors, task management, CPU usage hiding, stealth techniques, ELF infection and evasion from anti-rooktiks based on eBPF.
2022-07-08 06:48:20 +00:00
- https://github.com/reveng007/reveng_rtkit
Linux Loadable Kernel Module (LKM) based rootkit capable of hiding itself, processes/implants, rmmod proof, has ability to bypass infamous rkhunter antirootkit.
2018-07-01 19:47:59 +00:00
## :speak_no_evil: related stuff
- https://github.com/landhb/DrawBridge
A layer 4 Single Packet Authentication (SPA) Module, used to conceal TCP ports on public facing machines and add an extra layer of security.
2018-10-16 20:33:01 +00:00
- https://github.com/gianlucaborello/libprocesshider
Hide a process under Linux using the ld preloader
2020-10-04 12:55:02 +00:00
- https://github.com/spiderpig1297/kprochide
2020-10-04 12:52:28 +00:00
LKM for hiding processes from the userland. The module is able to hide multiple processes and is able to dynamically receive new processes to hide.
2020-10-04 12:55:02 +00:00
- https://github.com/spiderpig1297/kfile-over-icmp
kfile-over-icmp is a loadable kernel module for stealth sending of files over ICMP communication.
2020-10-04 13:01:07 +00:00
- https://github.com/spiderpig1297/kunkillable
LKM (loadable kernel module) that makes userland processes unkillable.
2022-07-08 06:48:20 +00:00
- https://web.archive.org/web/20140701183221/https://www.thc.org/papers/LKM_HACKING.html
2022-03-15 16:46:39 +00:00
2022-07-08 06:48:20 +00:00
Heroin, an LKM based rootkit, and many more LKM based rootkit techniques (it's backdated, but posses powerful knowledge).
2022-03-15 16:46:39 +00:00
2018-10-16 20:33:01 +00:00
## Contributing
[Please refer the guidelines at contributing.md for details](CONTRIBUTING.md)