mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-01 08:59:30 +00:00
271 lines
14 KiB
Markdown
271 lines
14 KiB
Markdown
|
# Malware-Analyse
|
|||
|
|
|||
|
<details>
|
|||
|
|
|||
|
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|||
|
|
|||
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|||
|
|
|||
|
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|||
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|||
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|||
|
* **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 Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) **und** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories senden.**
|
|||
|
|
|||
|
</details>
|
|||
|
|
|||
|
## 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
|
|||
|
|
|||
|
#### Installation
|
|||
|
```bash
|
|||
|
sudo apt-get install -y yara
|
|||
|
```
|
|||
|
#### Vorbereitung der 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
|
|||
|
|
|||
|
```markdown
|
|||
|
The first step in malware analysis is to scan the suspicious file or program. This can be done using various tools and techniques. The purpose of scanning is to identify any known malware signatures or indicators of compromise (IOCs) that may be present in the file.
|
|||
|
|
|||
|
Some popular scanning tools include antivirus software, sandboxing tools, and static analysis tools. These tools can help detect and analyze the behavior of the file, identify any malicious code or behavior, and provide information about the file's structure and functionality.
|
|||
|
|
|||
|
During the scanning process, it is important to compare the file against a database of known malware signatures and IOCs. This can help determine if the file is a known malware variant or if it exhibits any suspicious behavior that may indicate the presence of malware.
|
|||
|
|
|||
|
Additionally, scanning can also help identify any potential vulnerabilities or weaknesses in the file that could be exploited by attackers. This information can be useful in understanding how the malware operates and how it can be mitigated or prevented.
|
|||
|
|
|||
|
Overall, scanning is an essential step in malware analysis as it helps identify and understand the nature of the suspicious file or program. It provides valuable insights into the file's behavior, structure, and potential risks, allowing for effective mitigation and prevention strategies.
|
|||
|
```
|
|||
|
|
|||
|
```html
|
|||
|
Der erste Schritt bei der Malware-Analyse besteht darin, die verdächtige Datei oder das verdächtige Programm zu scannen. Dies kann mit verschiedenen Tools und Techniken durchgeführt werden. Der Zweck des Scannens besteht darin, bekannte Malware-Signaturen oder Indikatoren für Kompromittierungen (IOCs) zu identifizieren, die in der Datei vorhanden sein können.
|
|||
|
|
|||
|
Einige beliebte Scanning-Tools sind Antivirensoftware, Sandbox-Tools und statische Analyse-Tools. Diese Tools können dabei helfen, das Verhalten der Datei zu erkennen und zu analysieren, bösartigen Code oder Verhalten zu identifizieren und Informationen über die Struktur und Funktionalität der Datei bereitzustellen.
|
|||
|
|
|||
|
Während des Scannens ist es wichtig, die Datei mit einer Datenbank bekannter Malware-Signaturen und IOCs zu vergleichen. Dies kann dabei helfen festzustellen, ob die Datei eine bekannte Malware-Variante ist oder ob sie ein verdächtiges Verhalten aufweist, das auf das Vorhandensein von Malware hinweisen könnte.
|
|||
|
|
|||
|
Darüber hinaus kann das Scannen auch dabei helfen, potenzielle Schwachstellen oder Schwachstellen in der Datei zu identifizieren, die von Angreifern ausgenutzt werden könnten. Diese Informationen können dabei helfen, zu verstehen, wie die Malware funktioniert und wie sie gemildert oder verhindert werden kann.
|
|||
|
|
|||
|
Insgesamt ist das Scannen ein wesentlicher Schritt bei der Malware-Analyse, da es dabei hilft, die Natur der verdächtigen Datei oder des verdächtigen Programms zu identifizieren und zu verstehen. Es liefert wertvolle Einblicke in das Verhalten, die Struktur und potenzielle Risiken der Datei und ermöglicht effektive Strategien zur Minderung und Prävention.
|
|||
|
```
|
|||
|
```bash
|
|||
|
yara -w malware_rules.yar image #Scan 1 file
|
|||
|
yara -w malware_rules.yar folder #Scan the whole folder
|
|||
|
```
|
|||
|
#### YaraGen: Überprüfen Sie auf Malware und erstellen Sie Regeln
|
|||
|
|
|||
|
Sie können das Tool [**YaraGen**](https://github.com/Neo23x0/yarGen) verwenden, um Yara-Regeln aus einer Binärdatei 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
|
|||
|
|
|||
|
To install ClamAV, follow these steps:
|
|||
|
|
|||
|
1. Update the package list:
|
|||
|
|
|||
|
```bash
|
|||
|
sudo apt update
|
|||
|
```
|
|||
|
|
|||
|
2. Install ClamAV:
|
|||
|
|
|||
|
```bash
|
|||
|
sudo apt install clamav
|
|||
|
```
|
|||
|
|
|||
|
3. Update the virus database:
|
|||
|
|
|||
|
```bash
|
|||
|
sudo freshclam
|
|||
|
```
|
|||
|
|
|||
|
4. Verify the installation:
|
|||
|
|
|||
|
```bash
|
|||
|
clamscan --version
|
|||
|
```
|
|||
|
|
|||
|
The output should display the ClamAV version.
|
|||
|
|
|||
|
#### Scanning Files
|
|||
|
|
|||
|
To scan a file or directory with ClamAV, use the following command:
|
|||
|
|
|||
|
```bash
|
|||
|
clamscan [options] [file/directory]
|
|||
|
```
|
|||
|
|
|||
|
Replace `[options]` with any desired scanning options and `[file/directory]` with the path to the file or directory you want to scan.
|
|||
|
|
|||
|
#### Updating the Virus Database
|
|||
|
|
|||
|
To update the ClamAV virus database, run the following command:
|
|||
|
|
|||
|
```bash
|
|||
|
sudo freshclam
|
|||
|
```
|
|||
|
|
|||
|
This will download the latest virus definitions and keep your system protected against new threats.
|
|||
|
|
|||
|
#### Scheduling Scans
|
|||
|
|
|||
|
To schedule regular scans with ClamAV, you can use the `cron` utility. Edit the crontab file by running:
|
|||
|
|
|||
|
```bash
|
|||
|
crontab -e
|
|||
|
```
|
|||
|
|
|||
|
Add the following line to schedule a daily scan at 2:00 AM:
|
|||
|
|
|||
|
```bash
|
|||
|
0 2 * * * clamscan -r /path/to/scan > /dev/null 2>&1
|
|||
|
```
|
|||
|
|
|||
|
Replace `/path/to/scan` with the actual path you want to scan.
|
|||
|
|
|||
|
Save the file and exit the editor. The scan will now run automatically at the specified time.
|
|||
|
```
|
|||
|
sudo apt-get install -y clamav
|
|||
|
```
|
|||
|
#### Scannen
|
|||
|
|
|||
|
Scannen Sie die verdächtige Datei oder den verdächtigen Code mit einem zuverlässigen Antivirenprogramm, um nach bekannten Malware-Signaturen zu suchen. Verwenden Sie auch andere Sicherheitswerkzeuge wie Sandbox-Analysatoren, um das Verhalten der Datei in einer isolierten Umgebung zu überprüfen.
|
|||
|
```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 schädliche **Fähigkeiten** in ausführbaren Dateien: PE, ELF, .NET. Es findet 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-Repository**](https://github.com/mandiant/capa).
|
|||
|
|
|||
|
### IOCs
|
|||
|
|
|||
|
IOC steht für Indicator Of Compromise. Ein IOC ist eine Reihe von **Bedingungen, die** 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 andere Blue Teams sie verwenden können, um die Malware schneller zu identifizieren, wenn sie auf einem Computer erkannt wird und ein IOC für diese Malware erstellt wird.
|
|||
|
|
|||
|
Ein Tool zum Erstellen oder Ändern 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 nach definierten IOCs auf einem Gerät zu suchen.
|
|||
|
|
|||
|
### Loki
|
|||
|
|
|||
|
[**Loki**](https://github.com/Neo23x0/Loki) ist ein Scanner für einfache Indikatoren für Kompromittierung.\
|
|||
|
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 wird und speziell für die Bedrohungen in gemeinsam genutzten Hosting-Umgebungen entwickelt wurde. Er verwendet Bedrohungsdaten von Intrusion-Detection-Systemen am Netzwerkrand, um aktiv genutzte Malware bei Angriffen zu erkennen und Signaturen zur Erkennung zu generieren. Darüber hinaus werden Bedrohungsdaten auch aus Benutzereinreichungen mit der LMD-Checkout-Funktion und aus Ressourcen der Malware-Community abgeleitet.
|
|||
|
|
|||
|
### 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 Zeichenketten in ausführbaren Dateien mithilfe verschiedener Techniken zu finden.
|
|||
|
|
|||
|
### PEpper
|
|||
|
|
|||
|
[PEpper](https://github.com/Th3Hurrican3/PEpper) überprüft einige grundlegende Dinge in 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-Dateien wie Imports, Exports und Header abruft, aber auch VirusTotal ü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 um **Packer** zu finden.
|
|||
|
|
|||
|
### NeoPI
|
|||
|
|
|||
|
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI) ist ein Python-Skript, das verschiedene **statistische 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 Webshell-Code** zu helfen.
|
|||
|
|
|||
|
### **php-malware-finder**
|
|||
|
|
|||
|
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) gibt sein Bestes, um **obfuskierten**/**fragwürdigen Code** sowie Dateien zu erkennen, die **PHP**-Funktionen verwenden, die häufig in **Malware**/Webshells verwendet werden.
|
|||
|
|
|||
|
### Apple-Binärsignaturen
|
|||
|
|
|||
|
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
|
|||
|
|
|||
|
### Datei-Stacking
|
|||
|
|
|||
|
Wenn Sie wissen, dass sich in einem Ordner die **Dateien** eines Webservers befinden, die zuletzt am **Datum X aktualisiert wurden**, überprüfen Sie das **Erstellungs- und Änderungsdatum** aller Dateien auf dem Webserver. 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 mit den **aktuellen Dateien** vergleichen. Alles, was geändert wurde, ist **verdächtig**.
|
|||
|
|
|||
|
### Statistische Analyse
|
|||
|
|
|||
|
Wenn die Informationen in Protokollen gespeichert sind, können Sie **Statistiken über die Anzahl der Zugriffe auf jede Datei eines Webservers überprüfen**, da eine Webshell eine der häufigsten sein könnte.
|
|||
|
|
|||
|
<details>
|
|||
|
|
|||
|
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|||
|
|
|||
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|||
|
|
|||
|
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|||
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|||
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|||
|
* **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 Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) **und** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories senden.**
|
|||
|
|
|||
|
</details>
|