Detektering av rootkit i Linux: Verktyg och tekniker
10 min läsning - 16 maj 2026

Hur du upptäcker och förhindrar rootkits i Linux med hjälp av chkrootkit, rkhunter, Auditd, AIDE och beteendeövervakning på dina servrar.
Detektering av rootkit i Linux: Verktyg och tekniker för serversäkerhet
Rootkits ger angripare ihållande, dold åtkomst till Linux-system. De manipulerar kärnoperationer, döljer filer och processer och undviker vanliga säkerhetsverktyg. Vissa har inte upptäckts på flera år. För att upptäcka dem krävs en flerskiktad strategi, eftersom inget enskilt verktyg fångar upp allt.
Detta inlägg täcker de viktigaste typerna av Linux-rootkits, hur man söker efter dem och de avancerade övervakningsteknikerna som fångar det som grundläggande skannrar missar.
Olika typer av Linux-rootkits
Rootkits fungerar på olika privilegienivåer, och ju djupare de sitter, desto svårare är de att hitta.
User-mode rootkits körs på applikationsnivå (Ring 3). De kapar dynamisk länkning med hjälp av LD_PRELOAD för att injicera skadliga bibliotek som fångar upp standardfunktioner i C-biblioteket som readdir eller fopen och döljer filer och processer från verktyg på användarnivå.
Rootkits i kärnläge körs på Ring 0 genom att laddas som LKM:er (Loadable Kernel Modules). De fångar upp systemanrop, manipulerar kärnminnet och döljer sin egen närvaro. Eftersom de är knutna till specifika kärnversioner kan en felkonfigurerad sådan orsaka kärnpanik, vilket ironiskt nog avslöjar den.
eBPF-baserade rootkits utnyttjar delsystemet Extended Berkeley Packet Filter för att köras i kärnutrymmet utan att ladda en traditionell modul. De ansluter till syscall-krokar, tracepoints eller LSM-händelser. Standard LKM-skannrar kommer inte att se dem. Boopkit är ett välkänt proof of concept som skapar en hemlig C2-kanal med hjälp av detta tillvägagångssätt.
io_uring-baserade rootkits är den nyaste varianten. De använder det asynkrona I/O-gränssnittet io_uring för batchoperationer, vilket genererar färre observerbara syscall-händelser. RingReaper, ett experimentellt rootkit, demonstrerade hur detta i tysthet kan ersätta anrop som read, write och connect och samtidigt undvika EDR-verktyg.
| Typ av rootkit | Privilegienivå | Metod för krokning | Svårighet att upptäcka |
|---|---|---|---|
| Användarläge | Ring 3 (användare) | LD_PRELOAD, kapning av bibliotek | Måttlig |
| Kernel-läge | Ring 0 (kärnläge) | Syscall-tabell, LKM, inline-hackning | Hög |
| eBPF-baserad | Ring 0 (kärnan) | fastsättning av eBPF-program | Mycket hög |
| io_uring-baserad | Användare/Kernel | Asynkron I/O-batchning | Mycket hög |
Skanning med chkrootkit och rkhunter
Två verktyg utgör baslinjen för upptäckt av rootkit på Linux-servrar: chkrootkit för snabba skanningar och rkhunter för djupare kontroller.
chkrootkit
chkrootkit är ett skalskript som kontrollerar kritiska systembinaries(ls, ps, netstat, sshd, ifconfig) för tecken på manipulering. Det upptäcker också promiskuösa nätverksgränssnitt och raderade loggar. Från och med version 0.59 (januari 2026) kan det identifiera över 75 rootkits, maskar och LKM:er, inklusive nyare hot som Linux BPFDoor, Syslogk och XZ Backdoor.
Kör det efter alla misstänkta aktiviteter. Var uppmärksam på varningar från ifpromisc-komponenten och varningar om raderade lastlog- eller wtmp-filer.
rkhunter
rkhunter går längre. Den jämför SHA-1-hashar av systembinärer mot kända värden, övervakar filbehörigheter och dolda filer, kontrollerar startkonfigurationer och utför kärn- och nätverksanalys.
Ställ in det ordentligt från början:
# Establish a baseline after a clean install or update
rkhunter --propupd
# Update rootkit definitions
rkhunter --update
# Run a full scan (use --novl on production servers to reduce I/O)
rkhunter --check --enable all
För automatiserade dagliga skanningar, ställ in CRON_DAILY_RUN="true" i /etc/rkhunter.conf och använd --skip-keypress och --report-warnings-only för ren utdata. Granska loggar i /var/log/rkhunter.log och vitlista bekräftade falska positiva resultat.
Upptäcka LKM-rootkits
LKM-rootkits är särskilt farliga eftersom de fungerar som kärntillägg, fångar upp systemanrop och döljer processer på kärnnivå. Standardverktyg som lsmod kommer inte att se dem, men det finns sätt att upptäcka dem.
Jämför lsmod-utdata med /sys/module/-listor. Kontrollera systemloggar för misstänkta kernelmeddelanden:
# Look for out-of-tree module warnings
sudo dmesg | grep "loading out-of-tree module taints kernel"
# Check for module verification failures
grep "module verification failed" /var/log/syslog
# Run chkrootkit's LKM-specific check
sudo chkrootkit lkm
Även rootkits som gömmer sig från lsmod och /proc/modules (som Diamorphine) kan fortfarande hittas genom att kontrollera /sys/module/diamorphine/coresize eller granska syslog-varningar.
Avancerad detektering: Beteendeövervakning och integritetskontroller
Statiska skannrar har en grundläggande svaghet. I ett experiment 2026 minskade detekteringsgraden dramatiskt genom att lägga till en enda nollbyte till en rootkit-binär, en förändring som inte påverkar funktionaliteten. Diamorphines detektioner sjönk från 33/66 till 8/64 bara genom att ta bort dess symboltabeller. Att förlita sig på signaturer är inte tillräckligt.
Analys av beteenden
I stället för att fråga "matchar den här filen ett känt rootkit?", frågar beteendeanalys "gör den här processen något ovanligt?" Övervaka dessa signaler:
- Använd Auditd för att övervaka systemanropen
init_module() ochfinit_module(), som laddar kärnmoduler oavsett metod. - Övervaka
kill()-anropmed signaler över 31, vilket kan tyda på dold rootkit-kommunikation. - Kontrollera
/proc/sys/kernel/taintedför obehörig kernelmodulaktivitet. - Håll utkik efter oväntade
.so-fileri/tmpeller/dev/shm. - Spåra eBPF:s aktivitet, särskilt
bpf_probe_write_user-anrop. Verktyg som BCC kan spåra io_uring-operationer genom tracepoints somsys_enter_io_uring_enter.
För eBPF och io_uring rootkits specifikt kan runtime-övervakningsverktyg som Tetragon, Falco och Tracee observera aktivitet i kärnan i realtid.
Övervakning av filintegritet
AIDE (Advanced Intrusion Detection Environment) skapar en baslinje med betrodda systemfiler och kontrollerar om de har ändrats. Initialisera med aide --init och schemalägg sedan aide --check via cron. Den spårar kontrollsummor, behörigheter, ägande och tidsstämplar på kritiska binära filer som /bin/login och /usr/bin/sshd.
För verifiering på paketnivå kan debsums (Debian/Ubuntu) eller rpm -Va (RHEL/CentOS) bekräfta systemfilens integritet. För att få de mest tillförlitliga resultaten bör du starta från betrodda räddningsmedier och inspektera filsystemet offline, eftersom rootkits kan manipulera en körande kärnas rapportering.
Övervaka också persistensmekanismer. Rootkits ändrar ofta /etc/ld.so.preload för att injicera delade objekt, eller ändrar .bashrc och .profile. Legitima ändringar av dessa filer är sällsynta, så varningar här har ett högt signal-brusförhållande.
Automatiserad övervakning med Auditd
Lägg till dessa regler i /etc/audit/rules.d/rootkit.rules för upptäckt i realtid av misstänkt kärnaktivitet:
# Detect unauthorized kernel module loading
-a always,exit -F arch=b64 -S finit_module -S init_module
# Catch unusual high-range kill signals
-a always,exit -F arch=b64 -S kill -F a1>=32
Kombinera dessa med rkhunters automatiska uppdateringar. Ställ in UPDATE_MIRRORS=1 och MIRRORS_MODE=0 i konfigurationen, och kör rkhunter --propupd efter legitima systemuppdateringar för att uppdatera baslinjen.
Härda din server mot rootkits
Detektering är viktigt, men förebyggande är bättre. De flesta rootkits kräver förhöjda behörigheter för att installeras, så att minska attackytan gör en verklig skillnad.
Håll kärnan och paketen uppdaterade. Angripare utnyttjar opatchade sårbarheter för att eskalera privilegier och distribuera LKM- eller eBPF-baserade rootkits. Uppdatera dina detektionsbaslinjer med rkhunter --propupd efter patchning.
Tillämpa minsta möjliga privilegier. Ge inte användare eller processer mer åtkomst än de behöver. Använd SELinux eller AppArmor för obligatoriska åtkomstkontroller som blockerar obehöriga åtgärder även om en process äventyras.
Inaktivera laddning av kernelmoduler efter start. På dedikerade servrar kan du förhindra LKM-rootkits helt och hållet genom att låsa modulladdningen efter att systemet har startat. Detta är inte möjligt på delad hosting, vilket är en anledning till att dedikerade eller VPS-miljöer erbjuder starkare säkerhet.
Segmentera ditt nätverk. Om du isolerar delar av din infrastruktur begränsas rörligheten i sidled om en maskin äventyras.
Granska regelbundet. Verktyg som Lynis kan identifiera behörighetsfel och felkonfigurationer innan angripare utnyttjar dem.
Slutsatser
Rootkits är byggda för att gömma sig i vanlig syn. När symptomen väl dyker upp kan systemet redan vara så skadat att det inte går att återställa. Ingen enskild skanner fångar upp allt, och grundläggande signaturbaserad detektering är lätt att undvika.
Ett praktiskt försvar kombinerar flera lager:
- Regelbundna skanningar med chkrootkit och rkhunter för kända hot
- Auditd-regler och beteendeövervakning för misstänkt kärnaktivitet
- Filintegritetsövervakning med AIDE för att fånga upp obehöriga ändringar
- Runtime-verktyg som Tetragon eller Falco för eBPF och io_uring-hot
- Hårdare åtkomstkontroller, patchning och nätverkssegmentering för att minska attackytan
Automatisera det du kan, håll baslinjerna aktuella och börja med en ren OS-installation som du litar på.
FDC Servers erbjuder dedikerad hosting och VPS-hosting med full root-åtkomst och anpassningsbara kernelkonfigurationer. Utforska dedikerade serveralternativ för att bygga en härdad Linux-miljö.

Trött på långsamma driftsättningar eller bandbreddsbegränsningar? FDC Servers erbjuder omedelbar dedikerad kraft, global räckvidd och flexibla planer som är byggda för alla skalor.
Uppgradera nu
Checklista för härdning av Linux-server
Steg-för-steg-checklista för att härda en Linux-server. Täcker SSH, brandväggar, patchning, filbehörigheter, SELinux/AppArmor och revisionsloggning
15 min läsning - 8 maj 2026
iperf3 Handledning: Testa nätverkshastighet på Linux & Windows
10 min läsning - 7 maj 2026

Har du frågor eller behöver du en anpassad lösning?
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning