# Malware-Analyse {% hint style="success" %} Lernen Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories einreichen.
{% endhint %} ## Forensik-Spickzettel [https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/) ## Online-Dienste * [VirusTotal](https://www.virustotal.com/gui/home/upload) * [HybridAnalysis](https://www.hybrid-analysis.com) * [Koodous](https://koodous.com) * [Intezer](https://analyze.intezer.com) * [Any.Run](https://any.run/) ## Offline-Antiviren- und Erkennungstools ### Yara #### Installieren ```bash 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](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. ```bash wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py mkdir rules python malware_yara_rules.py ``` #### Scannen ```bash 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**](https://github.com/Neo23x0/yarGen) verwenden, um Yara-Regeln aus einem Binärfile zu generieren. Schauen Sie sich diese Tutorials an: [**Teil 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Teil 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Teil 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/) ```bash python3 yarGen.py --update python3.exe yarGen.py --excludegood -m ../../mals/ ``` ### ClamAV #### Installation ``` sudo apt-get install -y clamav ``` #### Scannen ```bash sudo freshclam #Update rules clamscan filepath #Scan 1 file clamscan folderpath #Scan the whole folder ``` ### [Capa](https://github.com/mandiant/capa) **Capa** erkennt potenziell bösartige **Fähigkeiten** in ausführbaren Dateien: PE, ELF, .NET. Es wird 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**](https://github.com/mandiant/capa). ### 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**](https://www.fireeye.com/services/freeware/ioc-editor.html)**.**\ Sie können Tools wie [**Redline**](https://www.fireeye.com/services/freeware/redline.html) verwenden, um **definierte IOCs auf einem Gerät zu suchen**. ### Loki [**Loki**](https://github.com/Neo23x0/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)**](https://www.rfxn.com/projects/linux-malware-detect/) 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**](http://rkhunter.sourceforge.net) können verwendet werden, um das Dateisystem auf mögliche **Rootkits** und Malware zu überprüfen. ```bash sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress] ``` ### FLOSS [**FLOSS**](https://github.com/mandiant/flare-floss) ist ein Tool, das versucht, obfuskierte Zeichenfolgen in ausführbaren Dateien mithilfe verschiedener Techniken zu finden. ### PEpper [PEpper](https://github.com/Th3Hurrican3/PEpper) überprüft einige grundlegende Dinge innerhalb der ausführbaren Datei (Binärdaten, Entropie, URLs und IPs, einige Yara-Regeln). ### PEstudio [PEstudio](https://www.winitor.com/download) 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**](https://github.com/horsicq/Detect-It-Easy/) ist ein Tool, um festzustellen, ob eine Datei **verschlüsselt** ist und auch **Packer** zu finden. ### NeoPI [**NeoPI**](https://github.com/CiscoCXSecurity/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**](https://github.com/nbs-system/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. ```bash #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 bestimmter 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-Wert** 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. {% hint style="success" %} Lernen und üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen und üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories einreichen.
{% endhint %}