Egy évig észrevétlenül működött a Plague nevű, eddig ismeretlen Linux-háttérprogram, amely rosszindulatú PAM‑modulként (Pluggable Authentication Module) települve képes megkerülni a hitelesítést, SSH-hozzáférést biztosítani a támadóknak és titokban ellopni a felhasználói hitelesítési adatokat.
Mi az a Plague?
A Plague egy Linux-háttérprogram, amelyet a Nextron Systems kutatói fedeztek fel. A különlegessége abban rejlik, hogy rosszindulatú PAM‑modulként (Pluggable Authentication Module) van beépítve a rendszerbe. Ez a megoldás lehetővé teszi a támadók számára, hogy:
- megkerüljék a rendszer hitelesítési ellenőrzéseit,
- tartós SSH-hozzáférést biztosítsanak maguknak,
- észrevétlenül gyűjtsék be a felhasználói hitelesítési adatokat.
A PAM‑modulok a Linux és UNIX rendszerek hitelesítési folyamataiban kulcsszerepet játszanak, ezért egy rosszindulatú komponens mélyen be tud épülni a rendszerbe, magas jogosultságokat szerezve.
Hogyan működik?
A Plague fejlesztői komoly hangsúlyt fektettek a rejtőzködésre és a nyomok eltüntetésére. A kutatók szerint a kártevő többek között az alábbi módszereket alkalmazza:
- Statikus jelszavak használata a rejtett hozzáférés fenntartásához.
- Elemzés és visszafejtés elleni védelem (anti-debugging, string‑obfuscation).
- SSH‑naplók és környezeti változók eltüntetése, például az SSH_CONNECTION és SSH_CLIENT változók törlése (unsetenv), valamint a parancstörténet átirányítása a /dev/null eszközre a nyomok elkerülése érdekében.
Ezek a technikák azt eredményezik, hogy a Plague szinte semmilyen nyomot nem hagy a rendszerben, túléli a rendszerfrissítéseket, és hagyományos víruskereső eszközökkel gyakorlatilag észlelhetetlen.
Felfedezés és terjedés
A Nextron Systems kutatója, Pierre-Henri Pezier szerint a Plague‑malware több mint egy évig működött észrevétlenül. A kártevő nyomaira először a VirusTotal feltöltései között bukkantak rá, ahol 2024. július 29‑e óta több változatot is találtak – egyiket sem jelölte kártevőként egyetlen antivírus motor sem. Ez arra utal, hogy a háttérben aktív fejlesztés zajlik, és a fenyegetés egyelőre ismeretlen szereplőktől származik.
Miért különösen veszélyes?
A Plague mélyen beépül a hitelesítési rétegbe, ezáltal képes túlélni frissítéseket és elkerülni a rendszeradminisztrátorok figyelmét. Az összetett obfuszkációs technikák és a környezeti változók manipulálása miatt a hagyományos biztonsági megoldásokkal nagyon nehéz felismerni.
Ahogy Pezier fogalmazott:
„A Plague mélyen integrálódik a hitelesítési stackbe, túléli a rendszerfrissítéseket, és gyakorlatilag semmilyen igazságügyi nyomot nem hagy maga után. Ez a réteges obfuszkációval és a környezet manipulálásával kombinálva rendkívül nehezen észlelhetővé teszi a hagyományos eszközökkel.”
Szómagyarázat
PAM (Pluggable Authentication Module) – bővíthető hitelesítési modulok Linux és UNIX rendszerekhez, amelyek a bejelentkezés és jogosultságkezelés folyamatát kezelik.
Obfuszkáció – kód elhomályosítása, amely megnehezíti a kártevő elemzését és visszafejtését.
SSH (Secure Shell) – titkosított protokoll távoli bejelentkezésre és parancsvégrehajtásra.
/dev/null – egy speciális fájl, amely minden írást figyelmen kívül hagy, így használható a naplózás elrejtésére.
Egy lépésről lépésre incidenskezelési ellenőrzőlista a Plague‑hoz hasonló PAM‑alapú Linux‑háttérprogramok észlelésére és eltávolítására:
1. Azonnali izoláció
- Válaszd le a rendszert a hálózatról (ha lehetséges, csak konzolos hozzáférésen keresztül dolgozz).
- Értesítsd az illetékes IT‑biztonsági felelősöket, hogy elinduljon a hivatalos incidenskezelési folyamat.
2. Ellenőrizd a PAM‑modulokat
A Plague rosszindulatú PAM‑ként települ, ezért először a PAM‑könyvtárat kell átnézni.
ls -alh /lib/security/ ls -alh /lib64/security/
-
Gyanús fájlok:
- Szokatlan nevű vagy dátumú .so modulok.
- Modulok, amelyek mérete eltér a megszokottól (hasonlítsd össze az érintetlen rendszerével).
Hasonlítsd össze a csomagkezelő nyilvántartásával:
rpm -Va | grep pam # Debian/Ubuntu rendszereken: debsums -s
Ha olyan modul van, amit a csomagkezelő nem ismer, vagy módosított, az azonnal gyanús.
3. Vizsgáld meg az SSH‑bejelentkezéseket
A Plague képes eltüntetni az SSH‑naplókat, de az auditd vagy a systemd journal gyakran tartalmaz nyomokat.
journalctl -u sshd --since "30 days ago" ausearch -m USER_LOGIN
- Figyelj a furcsa időpontokra, ismeretlen IP‑kre és olyan eseményekre, ahol a felhasználóazonosítás hiányos.
4. Ellenőrizd a környezeti változók manipulálását
A Plague módosítja az SSH környezeti változókat és a shell parancstörténetet:
echo $HISTFILE env | grep SSH_
- Ha a HISTFILE értéke /dev/null, vagy hiányoznak az SSH_ változók (pl. SSH_CLIENT), gyanús viselkedésre utalhat.
5. Fájlrendszer‑ellenőrzés (integritás)
Használj integritásellenőrző eszközöket (pl. AIDE, tripwire):
aide --check
6. Teljes memória‑ és folyamatellenőrzés
Listázd a futó folyamatokat és keress ismeretlen, PAM‑hez kapcsolódó modulokat:
ps auxf lsof -nP | grep pam
Mentésre: futtasd a memdump vagy gcore parancsot az elemzéshez, ha később digitális igazságügyi vizsgálatot kell végezni.
7. Teljes rendszerellenőrzés víruskeresővel
Futtass ClamAV‑t vagy YARA‑szabályokat (specifikusan PAM‑háttérprogramokra írva):
clamscan -r /lib/security yara plague.yar /lib/security
(Nextron és más gyártók gyakran adnak ki specifikus YARA‑szabályokat az ilyen fenyegetésekhez.)
8. Ha fertőzést találsz
-
Azonnal cseréld a PAM‑modult a hivatalos csomagkezelőből:
apt reinstall libpam-modules # vagy dnf reinstall pam
- Forgass friss initramfs‑t, majd indítsd újra a rendszert.
- Cseréld az összes jelszót, különösen a root‑ét és az SSH‑hozzáféréssel rendelkező fiókokét.
9. Hosszú távú teendők
- Implementálj PAM‑integritásellenőrzést (például rendszeresen hasonlítsd össze a hash‑eket egy offline referenciával).
- Használj auditd‑t vagy Wazuh‑ot a hitelesítési folyamatok nyomon követésére.
- Zárd le az SSH‑t kulcsalapú hitelesítésre (jelszó helyett), így egy esetleges PAM‑fertőzés nem tudja automatikusan megszerezni a belépési adatokat.
- Figyeld a VirusTotal‑t és a gyártói riasztásokat új Plague‑variánsokra vonatkozóan.
