Igyekszünk gyakran beszélni a Linux rootkit-ekről, mert bár gyakran gyorsan foltozzák, és a Windows, illetve a macOS-hez képest nem nagyon használják ki, de azért mégis jó ha felkészül a linux-os világ arra, ha majd jobban a célkeresztben lesz. A Pumakit névre keresztelt új Linux rootkit kártevő kifinomult technikákat alkalmaz a rendszerek kompromittálására, miközben hatékonyan rejtőzködik az észlelés elől. A malware különösen veszélyes, mivel kritikus infrastruktúrák és vállalati rendszerek ellen irányulhat, célja pedig lehet adatlopás, kémkedés vagy rendszerszintű zavarok okozása.
A Pumakit rootkit működése
A Pumakit egy többkomponensű kártevő, amely az alábbiakat tartalmazza:
- Dropper (beültető): A „cron” nevű bináris állományként működik,
- Memóriában futó végrehajtható fájlok,
- LKM (Loadable Kernel Module) rootkit: Kernelbe betöltődő modul,
- Felhasználói szintű (userland) rootkit: Kitsune SO (lib64/libs.so).
A fertőzés folyamatát az „cron” nevű dropper indítja el, amely memória-alapú payloadokat futtat („/memfd:tgt” és „/memfd:wpn”). Az „/memfd:wpn” payload feladata környezeti ellenőrzések végrehajtása, kernelmanipuláció, majd az LKM rootkit modul betöltése. A „puma.ko” kernelmodul tartalmazza a Kitsune SO felhasználói szintű rootkitet, amely az „LD_PRELOAD” mechanizmust használva injektálja magát a folyamatokba.
Rejtett jogosultságkiterjesztés
A rootkit kifinomult feltételek mellett aktiválódik, például bizonyos kernel szimbólumokat vagy a Secure Boot állapotát ellenőrzi.
Az LKM rootkit a kallsyms_lookup_name() funkciót használja rendszerhívások manipulálására, amely csak Linux 5.7 előtti kernelekben érhető el. A rootkit 18 különböző rendszerhívást (syscall) és több kernel funkciót horgonyoz meg az ftrace segítségével, hogy elérje a jogosultságkiterjesztést, parancsvégrehajtást és folyamatok elrejtését.
A rootkit képességei
- Folyamatok és fájlok elrejtése: A „ls”, „ps”, „netstat”, „top”, „htop” és „cat” parancsok manipulálása, hogy a rootkithez kapcsolódó fájlokat és folyamatokat ne mutassák.
- Jogosultságkiterjesztés: A „prepare_creds” és „commit_creds” kernel funkciók visszaélése révén root jogosultság biztosítása.
- Tartós jelenlét: Ha a horgonyzás megszakad, a rootkit automatikusan újrahorgonyozza magát, így a változások nem állíthatók vissza.
Kitsune SO – A felhasználói szintű rootkit
A Kitsune SO kiterjeszti a Pumakit rejtőzködési és vezérlési képességeit. Feladata:
- Rendszerhívások elfogása: A felhasználói interakciók módosítása a rejtett fájlok, folyamatok és hálózati kapcsolatok elrejtésére.
- C2-kommunikáció: A parancsok továbbítása az LKM rootkithez, valamint konfigurációs és rendszerszintű adatok küldése az irányító szervernek.
Felismerési lehetőségek
Az Elastic Security publikált egy YARA szabályt, amely segíthet a Linux rendszergazdáknak a Pumakit támadások azonosításában. Ez különösen fontos, mivel a rootkit kifejezetten észlelés elleni védelemre lett optimalizálva.
Összegzés
A Pumakit rootkit veszélyessége abban rejlik, hogy kifinomult rejtőzködési technikái és sokrétű funkcionalitása révén különösen nehéz az észlelése és eltávolítása. A Linux rendszergazdáknak javasolt a legújabb biztonsági frissítések telepítése, valamint a megfelelő monitorozó eszközök alkalmazása a hasonló támadások kivédésére.