====== chkrootkit ======
{{:root.png}} **chkrootkit** je program, který se kombinací různých vlastních nástrojů pokusí zjistit přítomnost [[http://cs.wikipedia.org/wiki/Rootkit|rootkitu]] v systému.
====== Instalace ======
{{:apt.png}} [[Instalace programů|Nainstalujte]] balík [[apt://chkrootkit|chkrootkit]].
====== Spuštění ======
{{:navigate.png}} //chkrootkit// spustíte z [[Terminál]]u pomocí
sudo chkrootkit
pro podrobný výstup všech testovaných oblastí a jejich výsledků, anebo
sudo chkrootkit -q
pokud chcete vidět jen podezřelé nálezy a chybová hlášení (//q// jako //quiet//).
====== Použití ======
Spusťte //chkrootkit// pomocí
sudo chkrootkit -q
Pokud program najde podezřelé soubory nebo jiné skutečnosti, nepropadejte panice. Uvědomte si, že se jedná o aplikaci s velmi širokým záběrem, a proto často najde tzv. //false positives// (podezřelé soubory, které jsou ale v pořádku). Zkontrolujte podrobný popis testů a jejich výsledků níže, nebo vyhledejte popis souboru na internetu, příp. se zeptejte na fóru. Další možností je spustit //chkrootkit// na LiveCD nebo čisté instalaci - pokud je výstup stejný, vše je v pořádku.
====== Podrobný popis testů a výstupu ======
Následuje podrobný popis výstupu po zadání //sudo chkrootkit// a možných problémů. Výstup je rozdělen na dané podoblasti. Legenda:
//Checking// - kontroluji
//not found// - soubor/adresář nenalezen
//nothing found// - nic podezřelého nenalezeno
//not infected// - soubor/adresář je v pořádku
//INFECTED// - tak to je špatné znamení...
//infected but disabled// - napadené, ale nefunkční
===== ROOTDIR =====
$ sudo chkrootkit
ROOTDIR is `/'
ROOTDIR označuje kořenový adresář systému, který kontrolujeme. Pokud jedeme z běžícího systému, je jím **/**. Je ale možné (a doporučené) tento test zkombinovat s testem z LiveCD nebo jiného systému na disku pomocí
sudo chkrootkit -r /media/ubuntu
(kde ///media/ubuntu// je cesta ke kontrolovanému systému, spouštěno z běžícího LiveCD), protože takto má případný rootkit menší šanci se "schovat".
===== Kontrola integrity základních příkazů systému =====
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
[... (kráceno) ...]
Checking `vdir'... not infected
Checking `w'... not infected
Checking `write'... not infected
Rootkit se často pokusí změnit původní příkazy systému na svou verzi tak, aby zakryl svou činnost. //chkrootkit// projede svou databázi těchto příkazů a porovná ji s databází známých "podvrhů".
Obecně řečeno je to slabý způsob detekce útoku - při jakékoli změně známého rootkitu je tento postup neúčinný. Chrání ale před běžnými útočníky používajícími volně dostupné návody na internetu. Lepší variantou by pro tento typ útoku byl např. [[http://www.root.cz/clanky/tripwire-ohlidejte-si-system/|tripwire]].
===== Kontrola systému na známé rootkity =====
Checking `aliens'... no suspect files
Searching for sniffer's logs, it may take a while... nothing found
[... (kráceno) ...]
Searching for suspect PHP files... nothing found
Checking `asp'... not infected
Neúspěšný rootkit (anebo rootkit kontrolovaný z jiného systému) za sebou zanechá typické stopy - pokud jsou tyto známé, //chkrootkit// je najde a vypíše.
==== Problém "The following suspicious files and directories were found:" ====
Jedna obecná část tohoto testu se zaměřuje na skryté soubory v důležitých adresářích - najdeme zde tedy plno souborů, které jsou v pořádku, jen jsou skryté, a proto podezřelé.
Searching for suspicious files and dirs, it may take a while... The following suspicious files and directories were found:
/usr/lib/pymodules/python2.6/.path /usr/lib/xulrunner-1.9.2.7/.autoreg /usr/lib/jvm/.java-6-openjdk.jinfo /usr/lib/thunderbird-3.0.5/.autoreg /usr/lib/firefox-3.6.7/.autoreg
===== Otevřené porty =====
Checking `bindshell'... not infected
Kontroluje otevřené porty, funkční kontrola jen z běžícího systému.
===== Skryté procesy, adresáře apod. =====
Checking `lkm'... chkproc: nothing detected
chkdirs: nothing detected
Hledá známé LKM rootkity. Dále kontroluje, zda není rozdíl mezi výstupem příkazu //ps// a seznamem procesů v ///proc// (//chkproc//), a mezi skutečným a deklarovaným počtem souborů v adresáři (//chkdirs//). Případné rozdíly naznačují pokus o maskování a jsou podezřelé.
===== Sniffers =====
Checking `sniffer'... lo: not promisc and no packet sniffer sockets
eth0: PACKET SNIFFER(/sbin/dhclient3[858])
Kontroluje, zda není aktivní //sniffer// síťové komunikace, funkční kontrola jen z běžícího systému. Pokud používáte //dhclient//, který komunikuje s DHCP serverem, je uveden jako podezřelý, protože je zapnut v tzv. promiskuitním módu.
===== Kontrola logů =====
Rootkity za sebou zametávají stopy, které zanechaly v logách systému (přihlášení, odhlášení apod). Tato část kontroluje, zda k podobnému "úklidu" v systému nedošlo.
Checking `wted'... chkwtmp: nothing deleted
Checking `z2'... user franta deleted or never logged from lastlog!
Checking `chkutmp'... chkutmp: nothing deleted
//nothing deleted// je zpráva, kterou chceme vidět.
==== Problém "user franta deleted or never logged from lastlog!" ====
Logy nezaznamenávají grafické přihlášení, takže pokud se //franta// nikdy nepřihlásil z konzole, program ho identifikuje jako podezřelého, protože ho nemůže v logách najít.
====== Odstranění ======
{{.:clear.png}} [[Instalace programů|Odeberte]] balík ''chkrootkit''.
====== Odkazy ======
* [[http://www.chkrootkit.org/|Domovská stránka programu]] {{:en.png}}