Und hier noch einige Tipps, wie man die C’t Desinfect Tools zum scannen von Linux Systemen einsetzen kann. Eigentlich bin ich ein Kritiker von Virenscannern (siehe Fefe) unter Linux, aber wenn man fremde Linux-Server mit teils selbst entwickelten Webanwendungen untersuchen muss, sind insbesondere der Thor-Lite Scanner von Nextron und der von Heise sogenannte „Open Thread Scanner“, der eigentlich nur ein Script plus Icon für das yara Binary ist, sehr nützlich. Insbesondere Thor-Lite scannt auch Logfiles auf Auffälligkeiten und findet dabei auch PHP-Rootshells und Artefakte von Exploits, wenn z.B. Script Kiddies .git Verzeichnisse vergessen zu löschen. Thor-Lite folgt auch in der Desinfect Standardeinstellung keinen Symlinks, die bei von Linux gemounteten Linux Filesystemen immer problematisch sind, wenn die Symlinks in das Host-Linux verweisen (z.B. Symlinks unterhalb /media/untersuchungsobjekt/ in das Filesystem des Desinfect).
Bei Desinfect wird standardmäßig alles unter /media gescannt dort muss man ein Verzeichnis als Mountpoint erstellen und die angehängte Platte mounten, z.B. mit mount /dev/sdb2 /media/untersuchungsobjekt
Zur Beurteilung der Scanergebnisse von Thor-Lite sollte man immer beachten, dass Thor-Lite immer auch das Filesystem des Gastgebers (Host) scannt, d.h. wenn von einem vorherigen Scan noch Logs im /media/desinfect vorhanden sind, werden auch dafür Warnungen ausgegeben. Das Thor Lite Binary lebt unter Desinfect unter /opt/thor-lite/thor-lite-linux64 . Eine Thor-Lite Lizenz bekommt man auch bei der Firma Nextron für den privaten Bereich kostenlos. Da das Produkt einfach großartig ist, sollte man sich als Firmennutzer die kommerzielle Thor Vollversion anschauen! Hinter Thor steckt als Entwicker übrigens der Security Experte Florian Roth.
Wenn man z.B. Clamav nutzen möchte, sollte man deshalb nicht das GUI von Desinfect nutzen, sondern den clamav per Kommandozeile /usr/local/bin/clamscan mit dem Parameter –follow-dir-symlinks=0 auf das gemountete Verzeichnis loslassen. Das gilt ebenfalls für yara (Open Thread Scanner). Dort heißt die Option -N –no-follow-symlinks (siehe https://yara.readthedocs.io/en/latest/commandline.html ). Eset (das Binary liegt unter /opt/eset/eea/bin/odscan folgt in den Heise Scripten keinen Symlinks, deshalb empfele ich dafür die Heise-Scripte oder das GUI zu verwenden. Withsecure (das Binary liegt unter /opt/f-secure/atlant/atlant/bin/fsanalyze – dort muss explizit der Parameter -L, –follow weggelassen werden) folgt in den Heise-Scripten symbolischen Links und ist deshalb so für den Scan von Linux-Filesystemen ungeeignet. Deshalb rate ich dazu die Heise Scripte für clamav und withsecure zu meiden, die eh eher zum Scan von Windows Platten gedacht sind. Die Scripte führen auch automatisch umount Befehle aus, bevor sie loslegen, was man bei selbst gemounteten Filesystemen beachten muss. Das Heise-Eset-Script /opt/desinfect# nano run_meta_eset.sh funktioniert aber ausgezeichnet. Außerdem ist es natürlich sinnvoll das Script/GUI unter Expertentools zum Signaturupdate zu verwenden.
Interessant ist auch die Möglichkeit per sshfs gemountete entfernte Dateisystemen zu scannen. Dafür muss in desinfect das Kommentarzeichen „#“ vor #deb http://archive.ubuntu.com in der /etc/apt/sources.lst entfernt werden. Nach apt-get update und apt install sshfs kann sshfs genutzt werde. Ebenso interessant ist es per SPECTR3 (iscsi) gemountete entfernte Blockdevices zu scannen. SPECTR3 ist wegen der Blockdevices auch für Forensikaufgaben sehr geeignet.
Hier noch einige exemplarische Scanner-Aufrufe, die Ergebnisse im persistenten Verzeichnis /media/desinfDATA speichern. Das zu scannende Dateeisystem ist unter /media/target gemountet:
# thor-lite
mkdir /media/desinfDATA/mein_linux_scan
sudo /opt/thor-lite/thor-lite-linux64 -p /media/test -e /media/desinfDATA/mein_linux_scan
# clamav in einer Zeile:
sudo /usr/local/bin/clamscan -r –follow-dir-symlinks=0 –log /media/desinfDATA/mein_linux_scan /clamavLOG /media/target/
# withsecure in einer Zeile
sudo /opt/f-secure/atlant/atlant/bin/fsanalyze –malware=none -l /media/target/ |tee /media/desinfDATA/mein_linux_scan/withsecureLOG
# yara (ots) in einer Zeile:
/usr/bin/yara -r –no-follow-symlinks /opt/yara-patterns/everything.yar /media/target/ | tee /media/desinfDATA/mein_linux_scan/yaraLOG
Siehe auch:
https://www.withsecure.com/userguides/product.html?business/linux-protection/latest/en/task_6FF3CD0A72924F32A5B43E2600529C51-latest-en
https://help.eset.com/ees/9/de-DE/advanced_cmd.html
https://linux.die.net/man/1/clamscan