8.5 KiB
Malware-Analyse
{% hint style="success" %}
Lernen Sie AWS-Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen Sie GCP-Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud Github-Repositories einreichen.
Forensik-Spickzettel
https://www.jaiminton.com/cheatsheet/DFIR/#
Online-Dienste
Offline-Antiviren- und Erkennungstools
Yara
Installieren
sudo apt-get install -y yara
Vorbereitung von Regeln
Verwenden Sie dieses Skript, um alle Yara-Malware-Regeln von GitHub herunterzuladen und zusammenzuführen: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
Erstellen Sie das Verzeichnis rules und führen Sie es aus. Dadurch wird eine Datei namens malware_rules.yar erstellt, die alle Yara-Regeln für Malware enthält.
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
Scannen
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
YaraGen: Überprüfen von Malware und Erstellen von Regeln
Sie können das Tool YaraGen verwenden, um Yara-Regeln aus einem Binärfile zu generieren. Schauen Sie sich diese Tutorials an: Teil 1, Teil 2, Teil 3
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
ClamAV
Installation
sudo apt-get install -y clamav
Scannen
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
Capa
Capa erkennt potenziell bösartige Fähigkeiten in ausführbaren Dateien: PE, ELF, .NET. Es wird also Dinge wie Att&ck-Taktiken oder verdächtige Fähigkeiten wie:
- Überprüfung auf OutputDebugString-Fehler
- Ausführen als Dienst
- Prozess erstellen
Holen Sie es sich im Github-Repo.
IOCs
IOC bedeutet Indicator Of Compromise. Ein IOC ist eine Reihe von Bedingungen, die einige potenziell unerwünschte Software oder bestätigte Malware identifizieren. Blue Teams verwenden diese Art von Definition, um nach solchen bösartigen Dateien in ihren Systemen und Netzwerken zu suchen.
Das Teilen dieser Definitionen ist sehr nützlich, da, wenn Malware auf einem Computer identifiziert wird und ein IOC für diese Malware erstellt wird, andere Blue Teams es verwenden können, um die Malware schneller zu identifizieren.
Ein Tool zum Erstellen oder Modifizieren von IOCs ist der IOC-Editor.
Sie können Tools wie Redline verwenden, um definierte IOCs auf einem Gerät zu suchen.
Loki
Loki ist ein Scanner für einfache Indikatoren für Kompromittierungen.
Die Erkennung basiert auf vier Erkennungsmethoden:
1. File Name IOC
Regex match on full file path/name
2. Yara Rule Check
Yara signature matches on file data and process memory
3. Hash Check
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
4. C2 Back Connect Check
Compares process connection endpoints with C2 IOCs (new since version v.10)
Linux Malware Detect
Linux Malware Detect (LMD) ist ein Malware-Scanner für Linux, der unter der GNU GPLv2-Lizenz veröffentlicht wurde und der um die Bedrohungen herum entwickelt wurde, denen man in gemeinsam genutzten Hosting-Umgebungen gegenübersteht. Er verwendet Bedrohungsdaten von Netzwerkrand-Eindringungserkennungssystemen, um Malware zu extrahieren, die aktiv bei Angriffen verwendet wird, und generiert Signaturen zur Erkennung. Darüber hinaus stammen Bedrohungsdaten auch aus Benutzereinreichungen mit der LMD-Checkout-Funktion und aus Malware-Community-Ressourcen.
rkhunter
Tools wie rkhunter können verwendet werden, um das Dateisystem auf mögliche Rootkits und Malware zu überprüfen.
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
FLOSS
FLOSS ist ein Tool, das versucht, obfuskierte Zeichenfolgen in ausführbaren Dateien mithilfe verschiedener Techniken zu finden.
PEpper
PEpper überprüft einige grundlegende Dinge innerhalb der ausführbaren Datei (Binärdaten, Entropie, URLs und IPs, einige Yara-Regeln).
PEstudio
PEstudio ist ein Tool, das Informationen über Windows-Executable wie Imports, Exports, Header liefert, aber auch Virus Total überprüft und potenzielle Att&ck-Techniken findet.
Detect It Easy(DiE)
DiE ist ein Tool, um festzustellen, ob eine Datei verschlüsselt ist und auch Packer zu finden.
NeoPI
NeoPI ist ein Python-Skript, das eine Vielzahl von statistischen Methoden verwendet, um obfuskierte und verschlüsselte Inhalte in Text-/Skriptdateien zu erkennen. Der beabsichtigte Zweck von NeoPI besteht darin, bei der Erkennung von verstecktem Web-Shell-Code zu helfen.
php-malware-finder
PHP-malware-finder tut sein Bestes, um obfuskierten/fragwürdigen Code sowie Dateien zu erkennen, die PHP-Funktionen verwenden, die häufig in Malware/Webshells verwendet werden.
Apple Binary Signatures
Beim Überprüfen einer Malware-Probe sollten Sie immer die Signatur der Binärdatei überprüfen, da der Entwickler, der sie signiert hat, möglicherweise bereits mit Malware in Verbindung gebracht wird.
#Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
#Check if the app’s contents have been modified
codesign --verify --verbose /Applications/Safari.app
#Check if the signature is valid
spctl --assess --verbose /Applications/Safari.app
Erkennungstechniken
Dateistapelung
Wenn Sie wissen, dass ein Ordner, der die Dateien eines Webservers enthält, zuletzt am Datum aktualisiert wurde. Überprüfen Sie das Datum, an dem alle Dateien im Webserver erstellt und geändert wurden, und wenn ein Datum verdächtig ist, überprüfen Sie diese Datei.
Baselines
Wenn die Dateien eines Ordners nicht geändert worden sein sollten, können Sie den Hash der ursprünglichen Dateien des Ordners berechnen und sie mit den aktuellen vergleichen. Alles, was geändert wurde, wird verdächtig sein.
Statistische Analyse
Wenn die Informationen in Protokollen gespeichert sind, können Sie Statistiken überprüfen, wie oft auf jede Datei eines Webservers zugegriffen wurde, da eine Webshell eine der häufigsten sein könnte.