====== 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}}