V tomto článku se naučíme nainstalovat a najít rootkity pomocí Rootkit Hunter, kromě jiných hrozeb jej budete moci použít k nalezení známek některých variant malwaru XOR.DDoS, který se v současnosti používá k vytváření botnetů s Linuxové systémy pro masivní distribuované útoky odmítnutí služby.
Obsah
- Instalovat
- Stáhnout
- Oprava – (volitelné)
- Instalovat
- Konfigurovat
- testy
- protokoly
- seznamy záznamů
- různé
- Spustit
- příznaky
- plánování cron
Nainstalovat RKHunter
Stáhněte si Rkhunter, zkuste to provést pomocí cURL.
curl http://nbtelecom.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz -o rkhunter-1.4.2.tar.gz Poté vyjměte obsah balíčku.
tar zxvf rkhunter-1.4.2.tar.gz Zadejte adresář tarball.
cd rkhunter-1.4.2 Oprava (volitelné)
Tento krok bude proti záplatě skriptu rkhunter a jeho databáze hledat malware XOR DDoS Linux. Tato oprava je založena na portu a souborech nalezených ve zprávách Akamai, Avast a Malware Must Die.
Vstupte do adresáře souborů pod adresářem rkthunter.
cd files Nainstalujte záplatu nástroj s yum.
yum install patch Nyní si stáhněte opravu.
curl http://sourceforge.net/p/rkhunter/patches/44/attachment/rkhunter.patch -o rkhunter.patch Případně můžete zkopírovat a vložit obsah souboru rkhunter.patch odtud.
--- rkhunter 2014-03-12 17:54:55.000000000 -0300
+++ rkhunter.new 2015-10-02 17:01:25.040000000 -0300
@@ -7797,6 +7797,19 @@
#
+ # XOR.DDoS
+ XORDDOS_FILES="/lib/udev/udev
+ /lib/udev/debug
+ /etc/cron.hourly/cron.sh
+ /etc/cron.hourly/udev.sh
+ /lib/libgcc4.so
+ /var/run/udev.pid
+ /var/run/sftp.pid"
+ XORDDOS_DIRS=
+ XORDDOS_KSYMS=
+
+
+
# 55808 Variant A
W55808A_FILES="/tmp/.../r
/tmp/.../a"
@@ -11907,6 +11920,13 @@
return
fi
+ # XOR.DDoS Rootkit
+ SCAN_ROOTKIT="XOR.DDoS - Rootkit"
+ SCAN_FILES=${XORDDOS_FILES}
+ SCAN_DIRS=${XORDDOS_DIRS}
+ SCAN_KSYMS=${XORDDOS_KSYMS}
+ scanrootkit
+
# 55808 Trojan - Variant A
--- backdoorports.dat 2010-11-13 20:41:19.000000000 -0300
+++ backdoorports.dat.new 2015-10-02 17:10:24.086000000 -0300
@@ -12,6 +12,7 @@
2001:Scalper:UDP:
2006:CB Rootkit or w00tkit Rootkit SSH server:TCP:
2128:MRK:TCP:
+3502:Possible XOR.DDoS Botnet Malware:TCP:
6666:Possible rogue IRC bot:TCP:
6667:Possible rogue IRC bot:TCP:
6668:Possible rogue IRC bot:TCP: Nalepte záplatu na rkhunter skript a backdoors.dat soubory pomocí následujícího příkazu.
patch < rkhunter.patch
Oprava je hotová, nyní se vraťte do kořenového adresáře tarball a pokračujte v instalaci.
cd .. Instalovat soubory
Spusťte instalační skript s následujícími parametry a nainstalujte jej pod /usr/local.
./installer.sh --install --layout /usr/local Můžete také použít --příklady příznak pro zobrazení dalších informací o rozložení a příkladů nebo a --show místo možnosti --install ukázat, co se má nainstalovat do vašeho rozvržení.
Instalovat Odkrýt (doporučeno)
Odkrýt a unhide-tcp utility budou hledat skryté procesy a porty, i když to není povinné, důrazně se to doporučuje, protože většina sofistikovaných rootkitů svou přítomnost skryje.
Nejprve musíme nainstalovat GNU Compiler Collection.
yum install gcc Nainstalujte glibc-static, potřebný k vytvoření prokládaných binárních souborů.
yum install glibc-static Zkompilujte unhide-linux.
gcc -Wall -O2 --static -pthread unhide-linux*.c unhide-output.c -o unhide-linux Zkompilujte unhide-tcp.
gcc -Wall -O2 --static unhide-tcp.c unhide-tcp-fast.c unhide-output.c -o unhide-tcp Nainstalujte soubory do /usr/local/bin a vytvořte symbolický odkaz pro zobrazení.
cp unhide-linux unhide-tcp /usr/local/bin && cd /usr/local/bin/ && ln -s unhide-linux unhide && cd - Konfigurovat
V této části ukážu některé možnosti na rkhunter.conf soubor, možnosti jsou rozděleny do skupin a jejich popis je zjednodušený, přečtěte si skutečný popis v souboru a pokud si nejste jisti, stačí ignorovat, protože výchozí možnosti by měly stačit, většina z nich je okomentována.
Doporučujeme vám provést první spuštění před provedením skutečných změn v konfiguračním souboru, což vám umožní lépe porozumět tomu, jak rkhunter funguje, a možnost identifikovat některé falešně pozitivní výsledky, které budou přidány na seznam povolených v konfiguračním souboru.
Stačí zavolat rkhunter pomocí -c nebo --check parametry.
rkhunter -c
Jak můžete vidět na obrázku výše, budou tam nějaká varování o souborech jako egrep nebo ifup, které mají být skriptem místo binárních souborů ELF, nicméně jsou to legitimní systémové soubory a většina možností v konfiguračním souboru je o tom, jak přimět rkhunter takové ignorovat výskytů.
Testy
Následující volby ENABLE_TESTS a DISABLE_TESTS nastavují, jaké typy testů mají být provedeny, povolí všechny a poté zakážou ty nežádoucí. Je dobré mít ve výchozím nastavení vypnuté alespoň suspscan, protože je náchylné k falešným poplachům.
ENABLE_TESTS=ALL
DISABLE_TESTS=suspscan Secure Shell
Nikdy není dobrý nápad povolit přihlášení root na připojení SSH, místo toho použijte su/sudo, jinak nastavte toto na yes.
ALLOW_SSH_ROOT_USER=no Verze 1 protokolu SSH je známá jako nezabezpečená, nastavte toto na 1, tuto kontrolu protokolu je třeba ignorovat
ALLOW_SSH_PROT_V1=0 Síťové porty
Povolené síťové porty s formátem protocol:port
PORT_WHITELIST Nastavte whitelist pro některé programy se syntaxí path_to_binary:protocol:port_number
PORT_PATH_WHITELIST=/usr/sbin/squid:TCP:3801 Verze aplikace
Tato možnost vám umožní spouštět některé zastaralé aplikace, obecně se to nedoporučuje a než ji zařadíte na tento seznam, musíte si být jisti, že je aplikace bezpečná.
APP_WHITELIST=openssl:0.9.7d gpg httpd:1.3.29 Sniffery
Povolit použití snifferů, softwaru, který zachycuje síťové pakety.
Umožněte následujícímu procesu naslouchat síti, jako na následujícím řádku.
ALLOWPROCLISTEN=/usr/sbin/snort-plain To umožní uvedenému síťovému rozhraní naslouchat síti v promiskuitním režimu.
ALLOWPROMISCIF=eth0 Soubory
Budete muset vytvořit nějaké výjimky z testů provedených rkhunterem, následující možnosti vám umožní obejít testy na konkrétní objekty, jako jsou soubory, adresáře.
Povolit některé skryté adresáře.
ALLOWHIDDENDIR=/etc/.java Povolit některé skryté soubory.
ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5identity.5.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5login.5.gz Tento whitelist umožní, aby některé soubory byly skripty namísto binárního souboru ELF.
SCRIPTWHITELIST=/usr/sbin/ifdown
SCRIPTWHITELIST=/usr/sbin/ifup
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/ldd Umožněte souboru, aby bylo možné zapisovat do celého světa.
WRITEWHITELIST=/usr/bin/date Povolit u souboru změny atributů.
ATTRWHITELIST=/usr/bin/date Povolit procesu dotazovat se na smazané soubory.
ALLOWPROCDELFILE=/sbin/cardmgr Možnosti protokolu
Toto určí, ke kterému souboru se má přihlásit.
LOGFILE=/var/log/rkhunter.log Nastavte toto na 1, pokud chcete pokračovat v protokolování stejného souboru při každém spuštění rkhunter, výchozí hodnota je 0, která připojí '.old' k souboru protokolu a vytvoří nový.
APPEND_LOG=0 Pokud chcete zachovat soubor protokolu, když je něco v nepořádku, nastavte následující možnost na 1.
COPY_LOG_ON_ERROR=0 Pokud chcete používat syslog, odkomentujte a nastavte funkci protokolu.
USE_SYSLOG=authpriv.warning Ve výchozím nastavení budou položky na seznamu povolených při testech hlásit v pořádku, pokud chcete zvýraznit položky na seznamu povolených, musíte tuto možnost nastavit na 1.
WHITELISTED_IS_WHITE=0 Možnosti operačního systému
Nastavte možnost správce balíčků na RPM na systémech typu Red Hat, které zahrnují CentOS.
PKGMGR=RPM Povolte tuto možnost, chcete-li hlásit varování, když operační systém změní verzi/vydání.
WARN_ON_OS_CHANGE Měli bychom aktualizovat naši databázi při změně operačního systému?
UPDT_ON_OS_CHANGE Kde najít soubor s vydáním operačního systému, nastavte v CentOS na /etc/redhat-release.
OS_VERSION_FILE=/etc/redhat-release Zamykání
Pokud je pravděpodobné, že budete mít současně spuštěno více než jeden rkhunter, měli byste povolit tuto možnost, abyste povolili použití souborů zámku a předešli poškození databáze.
USE_LOCKING=0 Pokud jste povolili použití zámků, měli byste nastavit časový limit, abyste zabránili uváznutí.
LOCK_TIMEOUT Měli bychom varovat před uzamčenými relacemi?
SHOW_LOCK_MSGS Startup a Superdeamon
Kde je konfigurační soubor inetd.
INETD_CONF_PATH=/etc/inetd.conf Které služby mohou běžet přes inetd.
INETD_ALLOWED_SVC=/usr/sbin/rpc.metad /usr/sbin/rpc.metamhd Xinetd konfigurační soubor.
XINETD_CONF_PATH=/etc/xinetd.conf Cesty spouštěcích souborů RC.
STARTUP_PATHS=/etc/rc.d /etc/rc.local Účty
Soubor, který obsahuje stínovaná hesla.
PASSWORD_FILE=/etc/shadow Povolit jiné uživatelské účty než root mít UID 0.
UID0_ACCOUNTS=toor rooty Povolit účty bez hesla.
PWDLESS_ACCOUNTS=abc Syslog
Konfigurační soubor syslog.
SYSLOG_CONFIG_FILE=/etc/syslog.conf Povolit vzdálené přihlášení syslog.
ALLOW_SYSLOG_REMOTE_LOGGING=0 Přehledy
Nahlásit počet varování?
SHOW_SUMMARY_WARNINGS_NUMBER Zobrazit celkový čas potřebný ke spuštění testů?
SHOW_SUMMARY_TIME Chcete-li dostávat e-mailové zprávy, když rkhunter něco najde, musíte nastavit následující možnosti a také mít poštovní aplikaci.
Kdo obdrží e-mail.
MAIL-ON-WARNING=your-email@your.domain Který příkaz byl použit k odeslání e-mailu.
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}" Spuštění rkhunter
OK, v tuto chvíli byste již měli spustit rkhunter alespoň jednou, nyní se podívejte na některé další vlajky, které lze s rkhunterem použít.
Zkontrolujte své změny
Po dokončení konfigurace spusťte rkhunter pomocí -C nebo --check-config příznak pro kontrolu případných chyb v souboru.
rkhunter -C Aktualizace vlastností
Nyní a pokaždé, když změníte konfigurační soubor, nezapomeňte aktualizovat databázi vlastností souboru.
rkhunter --propupd Hlásit pouze varování.
rkhunter --rwo Někdy chcete spustit pouze konkrétní test, zkuste --vypsat testy získat názvy dostupných testů a poté použít --enable příznak následovaný názvem testu.
rkhunter --list tests
Následující možnost deaktivuje výzvu ke stisknutí klávesy.
rkhunter --sk Chcete-li spustit rkhunter na cronjob, použijte --cronjob flag, vytvořte spustitelný soubor /etc/cron.daily/rkhunter.sh s následujícím obsahem proveďte každodenní kontrolu
#!/bin/sh
( /usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob -c ) >> /dev/null 2>&1 Závěr
To by vám mělo pomoci začít s rkhunterem a poskytnout vám další vrstvu zabezpečení, ale nebude to stačit, pokud zanedbáte základní bezpečnostní principy, stejně jako pokud dáte každé varování, se kterým jste se setkali, na seznamy povolených namísto zmírňování problémů. Mějte také na paměti, že rkhunter vám pomůže zabránit tomu, aby se vaše stroje staly členy linuxového botnetu, ale neochrání váš web před cílem DDoS kampaně. Děkujeme za přečtení!