Wir fügen dem täglichen Skript einen Rootkit-Hunter-Hash-Check hinzu

Aufgrund all dieser Udalenka stellte sich heraus, dass der zuvor halb leere Trainings-Laptop nun zur Hauptarbeitsmaschine geworden ist und es sich lohnt, ihn irgendwie nachdenklicher zu schützen. Was im Allgemeinen von den Behörden klar angedeutet wird. Auf dem Laptop ist jetzt Ubuntu 20.04 Beta.

Alles begann mit klaren BIOS-Einstellungen und vollständiger Festplattenverschlüsselung, über die ich wahrscheinlich nicht schreiben sollte. Aber dann habe ich mich entschlossen zu verstehen, was das Dienstprogramm rkhunter („Rootkit, Backdoor, Sniffer und Exploit-Scanner“) auf Dateiebene tun kann .

Ich hatte keine großen Erwartungen an die Software, die seit einigen Jahren nicht mehr aktualisiert wurde. Ich muss sofort sagen, dass ich die Verwendung von Signaturen vom Februar 2018 für die Suche nach Rootkits sehr bezweifle, aber eine der anderen Betriebsarten - das Überprüfen von Datei-Hashes - hat mich interessiert. Wer interessiert sich für eine solche Erfahrung und was bisher passiert ist - willkommen bei cat.

Die Idee ist einfach - aber lassen Sie uns am Morgen ein Skript für nützliche Dinge hinzufügen, um festzustellen, ob sich die MD5-Hashes der Dateien, für die sie nicht geändert werden sollten, nicht geändert haben. Zumindest bis Paketaktualisierungen sollten. Solch eine sehr leichte, aber meiner Meinung nach nicht nutzlose Whitelist. Die aktuelle Version, mit der die Hashes des Dienstprogramms berechnet und überprüft werden können, wird einfach vom Paketmanager festgelegt:

apt search rkhunter
rkhunter/focal,focal,now 1.4.6-8 all [installed]
  rootkit, backdoor, sniffer and exploit scanner

Die Hauptkonfiguration des Jägers befindet sich in /etc/rkhunter.conf. Um mein Problem zu lösen, sind dies die Parameter, die ich dort festgelegt habe:

ENABLE_TESTS=hashes

Denn außer Hashes interessiert mich noch nichts. Die Liste anderer möglicher Tests kann mit dem Befehl abgerufen werden.

sudo rkhunter --list test

Ich halte die MD5-ok-Kollision immer noch für mathematisch, aber nicht für die Praxis. Ich bestehe nicht auf dieser Meinung, aber fast jeden Tag schaue ich auf gute Malware und bin bisher nicht auf solche Konflikte in freier Wildbahn gestoßen. Also für den Moment reicht mir die Konfiguration.

HASH_CMD=MD5

Dann gab er seinen Paketmanager und vor allem die Verzeichnisse an, Datei-Hashes, die mich interessieren. Der Pfad lautet beispielsweise / bin und / usr / bin. Bei Dateien, die in Verzeichnissen angezeigt wurden, aber zum Zeitpunkt der Berechnung nicht vorhanden waren, gibt der Jäger auch Warnungen aus.

PKGMGR=DPKG
USER_FILEPROP_FILES_DIRS=/bin/*
USER_FILEPROP_FILES_DIRS=/usr/bin/*

Hier ist ein wichtiger Punkt: Bei meinen Einstellungen basiert das Scannen nicht auf Paketen, sondern auf Verzeichnissen. Dies ist wahrscheinlich korrekter, da die Pakete viele nicht ausführbare Dateien enthalten und zuerst herausgefiltert werden müssen, z. B. durch eine Datei. Bisher habe ich den Weg gewählt, die Liste der Verzeichnisse und Ausnahmen zu erweitern.

Wir haben die Scannerkonfiguration jetzt abgeschlossen. Jetzt ist es an der Zeit, die Basis der korrekten Hashes in /var/lib/rkhunter/db/rkhunter.dat mit den neuen Einstellungen zu aktualisieren. Dazu benötigen Sie einen Befehl (es werden auch die Namen der Pakete benötigt, die der Datenbank hinzugefügt werden sollen, wenn Sie in die andere Richtung gehen).

sudo rkhunter --propupd

Danach sollten alle für Sie interessanten Dateien und ihre Hashes in rkhunter.dat angezeigt werden. In meinem Fall sind dies 2847 Dateien, und der Indexer benötigte 9 Millionen 2.117 Sekunden. Es ist ein bisschen viel wie für dreitausend MD5s, wenn man bedenkt, dass md5sum für / bin / ls für 0,003s ist, aber es gibt es wirklich.

Wir sind bereit, eine Überprüfung durchzuführen. Noch nicht im Kampf, es ist unwahrscheinlich, dass einige Malware es bereits geschafft hat, die Hashes zu ändern.

sudo rkhunter -c

Hier gibt es einen sehr nützlichen Schlüssel - rwo (nur Warnungen melden), der alle erfolgreichen Vergleiche überspringt und nur Warnungen ausgibt. Sie müssen das Arbeitsergebnis in /var/log/rkhunter.log suchen. Die Geschwindigkeit der Überprüfung betrug für meine fast dreitausend Binärdateien 10 m 27.489 s, vergleichbar mit der Indizierungszeit.

Wir haben die Überprüfung aussortiert, aber es bleibt die Frage der Neuindizierung beim Aktualisieren von Paketen. Jene. Wir haben ein passendes Update durchgeführt und betrachten jetzt nicht alle aktualisierten Dateien als Malware. Der Scanner verfügt über eine andere Konfiguration / etc / default / rkhunter zur Automatisierung von Aufgaben. Darin setzen wir den Parameter.

APT_AUTOGEN="yes"

Und in /etc/apt/apt.conf.d/90rkhunter befindet sich ein Skript, das für die Nachindizierung verantwortlich ist:


 // Makes sure that rkhunter file properties database is updated after each remove or install only APT_AUTOGEN is enabled
 DPkg::Post-Invoke { "if [ -x /usr/bin/rkhunter ] && grep -qiE '^APT_AUTOGEN=.?(true|yes)' /etc/default/rkhunter; then /usr/share/rkhunter/scripts/rkhupd.sh; fi"; };

Eigentlich sind alle, Ergänzungen gerne bereit zu akzeptieren. Hoffe es war hilfreich.

All Articles