Súčasná verzia má označenie 0.35. Nie je nezvyklé, že v nedostatočne zabezpečenom systéme sa nejaká tá chybička nájde. Jej prostredníctvom je pak možné zrealizovať prístup na vzdialený systém a nainštalovať tam rôzne služby ako sniffery a IRC boty a zároveň si ponechať zadné vrátka pre návrat do systému inštalovaním rôznych rootkitov skrytých v systéme.
Na pomoc nám teda prichádza chkrootkit, ktorý pre nás bude prostredníctvom cronu vykonávať cyklickú kontrolu existencie rootkitov, poprípade nám pomôže na kontrolu iných systémov. Základom je skript napísaný v bashi, ktorý vykoná kontrolu za pomoci awk, cut, echo, egrep, find, head, id, ls, netstat, ps, strings, sed, uname a zopár vlastných rutín napísaných v C. Súčasné kontroly zameriavajú svoju pozornosť na často menené binárky aliens, asp, bindshell, lkm, rexedcs, sniffer, wted, z2, amd, basename, biff, chfn, chsh, cron, date, du, dirname, echo, egrep, env, find, fingerd, gpm, grep, hdparm, su, ifconfig, inetd, inetdconf, identd, killall, login, ls, mail, mingetty, netstat, named, passwd, pidof, pop2, pop3, ps, pstree, rpcinfo, rlogind, rshd, slogin, sendmail, sshd, syslogd, tar, tcpd, top, telnetd, timed, traceroute, a write a následnú kontrolu existencie až 30 najznámejších rootkitov, ktoré sú pomerne populárne. Pozrime sa teda na chkrootkit bližšie.
1. Inštalácia
Aktuálnu verziu chkrootkitu nájdete ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz alebo na jednotlivých mirroroch. Nasleduje kontrola md5 checksumu pre zabezpečenie integrity balíka, jeho následné rozbalenie a kompilácia. Pre iné platformy ako je linux si treba odkomentovať príslušné riadky v Makefile.
#md5sum -c md5 chkrootkit.tar.gz: OK #tar xzvf chkrootkit.tar.gz #cd chkrootkit-0.35 #make
Týmto sme uskutočnili prípravné práce a môžeme sa pustiť do používania.
2. Kontrola systému a implementácia
Pre kontrolu systému stačí jednoducho spustiť skript samotný, ktorý typicky v priebehu 10 sekúnd dokáže vykonať kontrolu systému.
#./chkrootkit
V prípade nejakých nálezov môžete vo výstupe nájsť riadky podobné nasledovným.
Checking `ifconfig'... INFECTED Checking `ps'... INFECTED Checking `top'... INFECTED Checking `netstat'... INFECTED Searching for t0rn's default files and dirs... Possible t0rn rootkit installed Checking `lkm'... You have 2 process hidden for readdir command You have 2 process hidden for ps command Warning: Possible LKM Trojan installed Checking `wted'... 24 deletion(s) between Fri Jan 18 12:05:51 2002 and Thu Jan 1 02:12:54 1970 1 deletion(s) between Tue Apr 9 00:40:38 1974 and Tue Apr 9 00:40:38 1974
Pre získanie podrobnejšieho výpisu slúži parameter -x, ktorý vypisuje celkový priebeh a jednotlivé výpisy priamo na konzolu, takže je vhodné použiť ho v súvislosti s less
#./chkrootkit | less
Treba si však uvedomiť, že binárky používané chkrootkitom môžu byť alternované pri kontrole. Preto je možnosť použiť príkazy z alternatívneho adresára, napríklad z CD, kde nemôžu byť útočníkom zmenené a to nasledovne.
# ./chkrootkit -p /mnt/cdrom/bin
Po nájdení infikovaných bináriek stačí nahradiť ich pôvodnými z distribúcie, odstrániť doinštalované súčasti, nájsť zdroj prieniku a máme vystarané, čo bude asi najzložitejšie na celej procedúre. Avšak s pomocou tripwiru, ktorý by nemal chýbať na žiadnom systéme a vzdialeného logovania môže byť procedúra o mnoho jednoduchšia.
Viac ako osožné je prostredníctvom cronu vykonávať kontrolu denne a výsledok si nechať zasielať emailom. Zápis v /etc/crontab môže vyzerať nasledovne:
0 1 * * * root /usr/local/chkrootkit/chkrootkit 2>&1 | mail admin@domena.sk -s "Kontrola rootkitov"
Treba však zabezpečiť neustálu aktualizáciu skriptu, nakoľko vlastnosti sledovaných rootkitov sa menia a bez aktualizácie sa stávajú neviditeľnými. Nabudúce si ukážeme akým spôsobom efektívne pracovať s prostriedkom tripwire pre kontrolu alternovania súborov diskového systému za účelom včasného zistenia nekalých dianí na našom systéme.