Rootkit keresése – Alapok

Már volt szó a rosszindulatú programok, vírusok stb. keresésről. Pár megjegyzést természetesen kaptam ez ügyben, hiszen a legendárium szerint nincs Linuxra vírus, és a rendszer teljesen biztonságos ebből a szempontból. Illetve a megszokott mantrát is felmondták: ha nem látogatsz „olyan” oldalakat, akkor… Ha Te is így gondolod, akkor nem is kell tovább olvasnod, hiszen biztonságban tudod magad, felesleges szerinted bármi egyéb teendő. Ha mégsem így véled, és szeretnél tenni is valamit a géped biztonságáért, akkor két egyszerű, és hasznos programot ajánlok a rosszindulatú programok ellen. Bár egyik sem csodafegyver, és az óvatosság nem árt a warez, porno és egyéb oldalakon, de hamar kiszúrhatod a rosszindulatú programokat a gépeden ezekkel. Sokat lehet olvasni a vírusokról, főleg, mert ez a cikk a koronavirusos időben született, de a rootkit-ekről már kevesebbet. Itt is igaz: no para! Kicsi az esélyed, hogy ilyennel találkozol, és hamar felderítheted őket, ha odafigyelsz.

Rootkit-ek Linux alatt

A rootkit-ek olyan rosszindulatú programok gyűjteménye, melyek célja a gyökér felhasználói fiók veszélyeztetése és a hozzáférés megszerzése, és annak fenntartása. A rootkit-eket nehéz felismerni és nehéz eltávolítani a rendszerből. Sok rendszer adminisztrátor szerint, ha a rendszert egy rootkit megfertőzte, akkor újra kell telepíteni: particionálni, formázni, és telepíteni. Majd vissza kell állítani az összes adatot egy tiszta biztonsági másolatból. Itt lép be az a faktor, hogy legyen minden fontos adatodról egy mentés, ami el is lett távolítva a gépedből: pendrájv, külső merevlemez, SSD, DVD stb. Vagy akár felhőben is lehet, titkosítva tárolni.
Bár ez egy munkaigényes folyamat, de pontosan egyszer kell beállítani, és magfelelő rendszerességgel menteni.

Chkrootkit az egyik legjobb rootkit-ek ellen

Számos típusú rootkit-et kereshetünk vele, és a napló törléseit, módosításait figyeli. Noha nem távolítja el a fertőzött fájlokat, kifejezetten megmondja, hogy melyek a fertőzött fájlok, így eltávolíthatod, újratelepítheted, vagy javíthatod a fájlt, vagy a fertőzött csomagot. Így jellemzően három lépésben kell gondolkodni: felderíted vele a problémát, megkeresed a megoldást a google segítségével, majd javítod.

Bár sok tároló tartalmazza ezt az eszközt, én a github oldalról telepítettem. Amikor fel akartam rakni az AUR-ból, éppen nem volt elérhető az az FTP, ahonnét leszedte volna a forrást.

A telepítés után

chkrootkit

és kapsz egy szép hosszú listát. Ami nagyon profinak tűnik, de sokat nem érek vele, hiszen látni akarom, hogy mi az ami fertőzött, és mi az ami nem! Már nem is kell sokat gondolkodni, hiszen átirányításokkal foglalkoztunk, így a

chkrootkit > nev.txt

Majd lefut, és megnyitod a nev.txt-t és ahol valami gyanúsat tapasztalsz, megvizsgálod. Az esetek nagyon nagy részében nem lesz semmi komoly. Ha mégis, akkor azt megvizsgálod: google, és ha nem vakriasztás, akkor az ott leírtakat végrehajtod. Azaz ne csak futtasd a rootkit keresőket, hanem vizsgáld meg a kimenetet és van probléma, akkor azt orvosold. Ez a chkrootkit NEM irt ki semmit, csak jelez.

Bár szerintem nem ér annyit, de már felhasználhatjuk a sed ismereteinket a „felesleges” sorok törlésre, azaz egy ehhez hasonló, de összetettebb csővezetéket is kialakíthatunk: sudo ./chkrootkit | sed ‘/not infected/d’> new.txt. Ha az összes nem kívánt stringet tartalmazó sort kiszedetjük a sed-del, akkor csak a valóban hasznos sorok maradnak meg.

A másik javasolt eszköz a rkhunter.

A RootKit Hunter (rkhunter) egy rootkit-észlelő szkript, automatizálja több különböző rootkit, és más kártékony program keresését. Ellentétben chkrootkit-tel, az rkhunter teljes naplót készít a /var/log/rkhunter.log-ba. Ha csak egy programot telepítesz és futtatsz, akkor rkhunter valószínűleg a jobb választás. Én mindkettőt használom, nem olyan sok idő a kettő lefutása, és elvileg nagyobb biztonságot ad.

A futtatása alapesetben nagyon egyszerű:

rkhunter --propupd
rkhunter --update

Frissítés, majd:

rkhunter -c

Hamar lefut, de azt is kell tudni, hogy minden részfaladat után egy [Press <ENTER> to continue] kéréssel fordul hozzád. Így módodban lesz minden lépést megnézni, hogy milyen jelentést ír ki. Én automatikusan enterezem a lépéseket, mert jobbnak tartom a /var/log/rkhunter.log-ot átlapozni. Bővebb információt ad, illetve magyarázatokat is fűzhet a hibához, vagy a bejegyzéshez.
Ha gyanús bejegyzést találsz, akkor jöhet a google, ami nagyon nagy valószínűséggel megnyugtat, hogy hamis riasztást kapsz. Több programfájl tartalmazhat olyan kódokat, amikre riasztást ad ki, mint lehetséges fertőzés, így előbb olvass utána, csak azután kezd törölgetni!
Futtatáskor az első blokkban kaphatsz figyelmeztetést, ami egrep, ldd-re vonatkozik. Ez nem jelent gondot, egyes programoknál ez természetes. Ha ez zavaró, akkor a /etc/rkhunter.conf-ba ezt a pár bejegyzést tedd meg:

SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/ldd

A cikkhez egy redhat.com-os bejegyzés adta az inspirációt.

A programokat 2020 áprilisában teszteltem Arch Linux alatt.

Related Posts