14 KiB
Malware-Analyse
Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
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!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repositories senden.
Forensik-Spickzettel
https://www.jaiminton.com/cheatsheet/DFIR/#
Online-Dienste
Offline-Antiviren- und Erkennungstools
Yara
Installation
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
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
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.
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.
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 verwenden, um Yara-Regeln aus einer Binärdatei 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
To install ClamAV, follow these steps:
-
Update the package list:
sudo apt update
-
Install ClamAV:
sudo apt install clamav
-
Update the virus database:
sudo freshclam
-
Verify the installation:
clamscan --version
The output should display the ClamAV version.
Scanning Files
To scan a file or directory with ClamAV, use the following command:
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:
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:
crontab -e
Add the following line to schedule a daily scan at 2:00 AM:
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.
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
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.
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.
Sie können Tools wie Redline verwenden, um nach definierten IOCs auf einem Gerät zu suchen.
Loki
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) 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 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 Zeichenketten in ausführbaren Dateien mithilfe verschiedener Techniken zu finden.
PEpper
PEpper überprüft einige grundlegende Dinge in der ausführbaren Datei (Binärdaten, Entropie, URLs und IPs, einige Yara-Regeln).
PEstudio
PEstudio 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 ist ein Tool, um festzustellen, ob eine Datei verschlüsselt ist, und um Packer zu finden.
NeoPI
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 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.
#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.
Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
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!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repositories senden.