Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
flare-fakenet-ng — FakeNet-NG - Dynamisches Netzwerkanalyse-Tool der nächsten Generation | Kitploit
Tools/GitHubGitHub/mandiant/flare-fakenet-ng
Paket-Sniffing & AnalyseDynamische Analyse (Sandboxing)NetzwerksicherheitMalware-AnalysePenetrationstests
GitHubmandiant/flare-fakenet-ng

flare-fakenet-ng

FakeNet-NG - Dynamisches Netzwerkanalyse-Tool der nächsten Generation

Repository anzeigen
2.2k376vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

root@kitploit:~
|  ____/\   | |/ /  ____| \ | |  ____|__   __|   | \ | |/ ____|
| |__ /  \  | ' /| |__  |  \| | |__     | |______|  \| | |  __
|  __/ /\ \ |  < |  __| | . ` |  __|    | |______| . ` | | |_ |
| | / ____ \| . \| |____| |\  | |____   | |      | |\  | |__| |
|_|/_/    \_\_|\_\______|_| \_|______|  |_|      |_| \_|\_____|

       D   O   K   U   M   E   N   T   A   T   I   O   N

FakeNet-NG 3.5 ist ein dynamisches Netzwerkanalyse-Tool der nächsten Generation für Malware-Analysten und Penetrationstester. Es ist Open Source und für die neuesten Windows-Versionen (und Linux, für bestimmte Betriebsmodi) ausgelegt. FakeNet-NG basiert auf dem hervorragenden Fakenet-Tool, das von Andrew Honig und Michael Sikorski entwickelt wurde.

Das Tool ermöglicht es Ihnen, den gesamten oder bestimmten Netzwerkverkehr abzufangen und umzuleiten, während legitime Netzwerkdienste simuliert werden. Mit FakeNet-NG können Malware-Analysten schnell die Funktionalität von Malware identifizieren und Netzwerksignaturen erfassen. Penetrationstester und Bug-Hunter werden die konfigurierbare Abfang-Engine und das modulare Framework von FakeNet-NG als äußerst nützlich empfinden, wenn sie die spezifische Funktionalität von Anwendungen testen und Proof-of-Concepts prototypisieren.

Installation

Sie können FakeNet-NG auf verschiedene Arten installieren. Beachten Sie, dass die folgenden Installationsprozesse Bibliotheken von Drittanbietern (Open Source) abrufen, die von FakeNet-NG verwendet werden, und auf Ihr System herunterladen. Diese Bibliotheken werden zur Laufzeit dynamisch geladen, und einige dieser Bibliotheken können unter der LGPL lizenziert sein.

Standalone-ausführbare Datei

Am einfachsten ist es, die kompilierte Version herunterzuladen, die von der Releases-Seite bezogen werden kann:

root@kitploit:~
https://github.com/mandiant/flare-fakenet-ng/releases

Führen Sie FakeNet-NG aus, indem Sie 'fakenet.exe' starten.

Dies ist die bevorzugte Methode zur Verwendung von FakeNet-NG unter Windows, da sie keine Installation zusätzlicher Module erfordert, was ideal für eine Malware-Analysemaschine ist.

HINWEIS: FakeNet-NG kann von Antiviren- (AV) und Endpoint Detection and Response (EDR) -Lösungen (z. B. Windows Defender, Chrome Safe Browsing) als bösartig eingestuft werden. Dies liegt wahrscheinlich an seiner Fähigkeit, Netzwerkverkehr zu modifizieren und Netzwerkdienste zu simulieren, sowie an der Verwendung von PyInstaller zur Erstellung der Release-ausführbaren Dateien. Die offiziellen Release-Binärdateien sind sicher, und diese Erkennungen sollten als Fehlalarme betrachtet werden. Zur Erinnerung: FakeNet-NG ist für den Einsatz in einer kontrollierten und isolierten Umgebung, wie z. B. einer virtuellen Maschine (VM), konzipiert und wird dringend empfohlen, wo es sicher die Netzwerkeinstellungen des Systems ändern kann.

Installation als Modul

  1. Installieren Sie Python 3.10.11 und die neueste pip für Windows/Linux-Betriebssysteme.

  2. Unter Windows laden Sie die Visual C++ Build Tools herunter und installieren Sie diese.

    Die Installation unter Linux erfordert die folgenden Abhängigkeiten:

    • Python pip-Paketmanager (z. B. python-pip für Ubuntu).
    • Python-Entwicklungsdateien (z. B. python-dev für Ubuntu).
    • OpenSSL-Entwicklungsdateien (z. B. libssl-dev für Ubuntu).
    • libffi-Entwicklungsdateien (z. B. libffi-dev für Ubuntu).
    • libnetfilterqueue-Entwicklungsdateien (z. B. libnetfilter-queue-dev für Ubuntu).

    Installieren Sie diese Abhängigkeiten mit dem folgenden Befehl:

    root@kitploit:~
     sudo apt-get install build-essential python3.10-dev libnetfilter-queue-dev
    
  3. Installieren Sie FakeNet-NG als Python-Modul mit pip:

    root@kitploit:~
     python -m pip install https://github.com/mandiant/flare-fakenet-ng/zipball/master
    

    Oder laden Sie den neuesten Quellcode herunter und installieren Sie ihn manuell:

    root@kitploit:~
     git clone https://github.com/mandiant/flare-fakenet-ng/
    
  4. Installieren Sie die Python-Abhängigkeiten, indem Sie die folgenden Befehle mit Administratorrechten ausführen:

    Unter Linux (getestet unter Ubuntu 24.04.2 LTS) führen Sie die folgenden Befehle vor der Ausführung von setup.py aus:

    root@kitploit:~
     python -m pip install --upgrade setuptools
     
     # wheel für Python 3.10 erstellen
     python -m pip install --force-reinstall netifaces
     
     # Bei Tests wurde ein "ModuleNotFoundError: No module named '_cffi_backend'"-Fehler beobachtet
     # Dadurch wird die erforderliche Version der cffi-Pakete für die Kryptografie installiert
     python -m pip install --upgrade cryptography
    

Keine Installation

Wenn Sie schließlich eine Installation von FakeNet-NG vermeiden und es einfach so ausführen möchten (z. B. für die Entwicklung), dann müssen Sie den Quellcode herunterladen und die Abhängigkeiten wie folgt installieren:

  1. Installieren Sie 64-Bit- oder 32-Bit- Python 3.10.11 für die 64-Bit- bzw. 32-Bit-Versionen von Windows/Linux.

  2. Unter Windows installieren Sie die Python-Abhängigkeiten, indem Sie die folgenden Befehle mit Administratorrechten ausführen:

    root@kitploit:~
     python -m pip install pydivert dnslib dpkt pyopenssl pyftpdlib netifaces jinja2
    

    HINWEIS: pydivert lädt auch die WinDivert-Bibliothek und den Treiber in das Verzeichnis %PYTHONHOME%\DLLs herunter und installiert sie. FakeNet-NG bündelt diese Dateien, sodass sie für den normalen Gebrauch nicht erforderlich sind.

    Unter Linux installieren Sie die Python-Abhängigkeiten, indem Sie die folgenden Befehle mit Administratorrechten ausführen:

    root@kitploit:~
     python -m pip install --upgrade setuptools
     
     # wheel für Python 3.10 erstellen
     python -m pip install --force-reinstall netifaces
     
     # Bei Tests wurde ein "ModuleNotFoundError: No module named '_cffi_backend'"-Fehler beobachtet
     # Dadurch wird die erforderliche Version der cffi-Pakete für die Kryptografie installiert
     python -m pip install --upgrade cryptography
    
     python -m pip install netfilterqueue dnslib dpkt pyopenssl pyftpdlib netifaces jinja2
    

    Optional können Sie das folgende Modul installieren, das zum Testen verwendet wird:

    root@kitploit:~
     python -m pip install requests
    
  3. Laden Sie den Quellcode von FakeNet-NG herunter:

    root@kitploit:~
     git clone https://github.com/mandiant/flare-fakenet-ng
    

Verwendung

Der einfachste Weg, FakeNet-NG auszuführen, besteht darin, die bereitgestellte ausführbare Datei einfach als Administrator auszuführen. Sie können den --help-Befehlszeilenparameter verwenden, um eine einfache Hilfe zu erhalten:

root@kitploit:~
C:\tools\fakenet-ng>fakenet.exe --help
______      _  ________ _   _ ______ _______     _   _  _____
|  ____/\   | |/ /  ____| \ | |  ____|__   __|   | \ | |/ ____|
| |__ /  \  | ' /| |__  |  \| | |__     | |______|  \| | |  __
|  __/ /\ \ |  < |  __| | . ` |  __|    | |______| . ` | | |_ |
| | / ____ \| . \| |____| |\  | |____   | |      | |\  | |__| |
|_|/_/    \_\_|\_\______|_| \_|______|  |_|      |_| \_|\_____|

                        Version 3.5
_____________________________________________________________
                Entwickelt vom FLARE Team
    Copyright (C) 2016-2026 Mandiant, Inc. Alle Rechte vorbehalten.
_____________________________________________________________

Nutzung: python -m fakenet.fakenet [Optionen]:

Optionen:
-h, --help            Hilfe anzeigen und beenden
-c DATEI, --config-file=DATEI
                    Konfigurationsdateiname
-v, --verbose       Ausführlichere Meldungen ausgeben (Standard: False)
-l LOG_DATEI, --log-file=LOG_DATEI
-s, --log-syslog    Ins Syslog via /dev/log protokollieren (Standard: False)
-f STOP_FLAG, --stop-flag=STOP_FLAG
                    Beenden, wenn die Stop-Flag-Datei erstellt wird
-p, --no-pause      Pause zur Bestätigung vor dem Schließen der Konsole deaktivieren 
                    (Standard: pausieren)
-n, --no-console-output
                    Konsolenausgabe unterdrücken (zum Testen unter Linux)

Wie Sie aus der einfachen Hilfe oben ersehen können, ist es möglich, die Konfigurationsdatei zu konfigurieren, die zum Starten von FakeNet-NG verwendet wird. Standardmäßig verwendet das Tool configs\default.ini; dies kann jedoch mit dem Parameter -c geändert werden. Im Verzeichnis configs befinden sich mehrere Beispielkonfigurationsdateien. Aufgrund der großen Anzahl verschiedener Einstellungen verlässt sich FakeNet-NG auf die Konfigurationsdateien, um seine Funktionalität zu steuern.

HINWEIS: FakeNet-NG versucht, die angegebene Konfigurationsdatei zu finden, zunächst unter Verwendung des angegebenen absoluten oder relativen Pfads, falls Sie alle Ihre Konfigurationen speichern möchten. Wenn die angegebene Konfigurationsdatei nicht gefunden wird, sucht es in seinem configs-Verzeichnis.

Die restlichen Befehlszeilenoptionen ermöglichen es Ihnen, die Menge der ausgegebenen Protokollierungsinformationen zu steuern und sie in eine Datei umzuleiten, anstatt sie auf dem Bildschirm anzuzeigen.

Einfacher Lauf

Bevor wir loslegen und FakeNet-NG ausführen, lassen Sie uns einige grundlegende Konzepte durchgehen. Das Tool besteht aus mehreren Modulen, die zusammenarbeiten. Ein solches wichtiges Modul ist der Diverter, der für die Umleitung von Datenverkehr an eine Sammlung von Listenern verantwortlich ist. Der Diverter zwingt Anwendungen, mit FakeNet-NG zu interagieren, anstatt mit echten Servern. Listener sind einzelne Dienste, die eingehende Verbindungen bearbeiten und uns die Untersuchung des Anwendungsdatenverkehrs (z. B. Malware-Signaturen) ermöglichen.

Starten wir FakeNet-NG mit den Standardeinstellungen, indem wir den folgenden Befehl ausführen:

root@kitploit:~
C:\tools\fakenet-ng>fakenet.exe

Unten sehen Sie das kommentierte Ausgabeprotokoll, das eine beispielhafte abgefangene DNS-Anfrage und eine HTTP-Verbindung veranschaulicht:

root@kitploit:~
  ______      _  ________ _   _ ______ _______     _   _  _____
 |  ____/\   | |/ /  ____| \ | |  ____|__   __|   | \ | |/ ____|
 | |__ /  \  | ' /| |__  |  \| | |__     | |______|  \| | |  __
 |  __/ /\ \ |  < |  __| | . ` |  __|    | |______| . ` | | |_ |
 | | / ____ \| . \| |____| |\  | |____   | |      | |\  | |__| |
 |_|/_/    \_\_|\_\______|_| \_|______|  |_|      |_| \_|\_____|

                         Version  3.5
  _____________________________________________________________
                   Entwickelt vom FLARE Team
    Copyright (C) 2016-2026 Mandiant, Inc. Alle Rechte vorbehalten.
  _____________________________________________________________

07/06/16 22:20:52 [           FakeNet] Konfigurationsdatei geladen: configs/default.ini
                                                                        /
                                            Standard-Konfigurationsdatei /

07/06/16 22:20:52 [          Diverter] Datenverkehr wird aufgezeichnet in packets_20160706_222052.pcap
                                                                        /
                                                      PCAP-Ausgabedatei /

07/06/16 22:20:52 [           FakeNet] Anonymer Forwarder-Listener auf TCP-Port 8080...
                                    \
                                     \ Anonyme Listener-Regel

07/06/16 22:20:52 [    RawTCPListener] Starte...
07/06/16 22:20:52 [    RawUDPListener] Starte...
07/06/16 22:20:52 [  FilteredListener] Starte...
07/06/16 22:20:52 [        DNS Server] Starte...
07/06/16 22:20:52 [    HTTPListener80] Starte...
07/06/16 22:20:52 [   HTTPListener443] Starte...
07/06/16 22:20:52 [      SMTPListener] Starte...
07/06/16 22:20:52 [          Diverter] Starte...
                                       \
                                        \ Listener starten

07/06/16 22:20:52 [          Diverter] Ports werden umgeleitet:
07/06/16 22:20:52 [          Diverter] TCP: 1337, 80, 443, 25
07/06/16 22:20:52 [          Diverter] UDP: 1337, 53
                                          /
               Zusammenfassung der umgeleiteten Ports /

07/06/16 22:21:03 [          Diverter] Ändere ausgehendes externes UDP-Anforderungspaket:
07/06/16 22:21:03 [          Diverter]   von: 192.168.250.140:49383 -> 4.2.2.1:53
07/06/16 22:21:03 [          Diverter]   nach:   192.168.250.140:49383 -> 192.168.250.140:53
07/06/16 22:21:03 [          Diverter]   pid:  456 name: malware.exe
                                                            /
    Abgefangener Datenverkehr zum DNS-Server von malware.exe /

07/06/16 22:21:03 [        DNS Server] A-Anfrage für Domain 'evil.com' erhalten.
                                       \
                                        \ Fake DNS-Listener bearbeitet die obige Anfrage

07/06/16 22:21:04 [          Diverter] Ändere ausgehendes externes TCP-Anforderungspaket:
07/06/16 22:21:04 [          Diverter]   von: 192.168.250.140:2179 -> 192.0.2.123:80
07/06/16 22:21:04 [          Diverter]   nach:   192.168.250.140:2179 -> 192.168.250.140:80
07/06/16 22:21:04 [          Diverter]   pid:  456 name: malware.exe
                                                            /
    Abgefangener Datenverkehr zum Webserver von malware.exe /

07/06/16 22:21:08 [    HTTPListener80] GET-Anforderung erhalten.
07/06/16 22:21:08 [    HTTPListener80] --------------------------------------------------------------------------------
07/06/16 22:21:08 [    HTTPListener80] GET / HTTP/1.0
07/06/16 22:21:08 [    HTTPListener80]
07/06/16 22:21:08 [    HTTPListener80] --------------------------------------------------------------------------------
                                       \
                                        \ Fake HTTP-Listener bearbeitet die obige Anfrage

Beachten Sie, dass jede Protokollzeile einen Namen des aktuell laufenden FakeNet-NG-Moduls enthält. Wenn z. B. Datenverkehr umgeleitet wird, werden die Protokolle mit dem Label Diverter versehen:

root@kitploit:~
07/06/16 22:21:03 [          Diverter] Ändere ausgehendes externes UDP-Anforderungspaket:
07/06/16 22:21:03 [          Diverter]   von: 192.168.250.140:49383 -> 4.2.2.1:53
07/06/16 22:21:03 [          Diverter]   nach:   192.168.250.140:49383 -> 192.168.250.140:53
07/06/16 22:21:03 [          Diverter]   pid:  456 name: malware.exe

Gleichzeitig werden Protokolle, wenn einzelne Listener den umgeleiteten Datenverkehr bearbeiten, mit dem in der Konfigurationsdatei festgelegten Namen beschriftet:

root@kitploit:~
07/06/16 22:21:03 [        DNS Server] A-Anfrage für Domain 'evil.com' erhalten.

Um FakeNet-NG zu beenden und die generierte PCAP-Datei und den HTML-Bericht auf der Festplatte zu speichern, drücken Sie einfach STRG-C:

root@kitploit:~
07/06/16 22:21:41 [           FakeNet] Stoppe...
07/06/16 22:21:42 [    HTTPListener80] Stoppe...
07/06/16 22:21:42 [   HTTPListener443] Stoppe...
07/06/16 22:21:42 [      SMTPListener] Stoppe...
07/06/16 22:21:43 [          Diverter] Stoppe...
07/06/16 22:21:43 [          Diverter] Neuer HTML-Bericht erstellt: report_20160607_102143.html
[Drücken Sie die Eingabetaste, um zu beenden]

Warten Sie, bis PCAP und Bericht erstellt wurden, und drücken Sie dann die Eingabetaste, um das Programm zu beenden. Das Konsolenfenster bleibt geöffnet, bis Sie dies tun; dies kann (z. B. in Skripten) mit dem Flag --no-pause deaktiviert werden.

Benutzeroberfläche

Mit jeder Sitzung von FakeNet-NG wird ein HTML-Bericht erstellt, der die während der Sitzung erfassten Netzwerkbasierten Indikatoren (Network-Based Indicators, NBIs) enthält. Wenn FakeNet durch Drücken von STRG-C beendet wird, wird diese HTML-Datei im Stammverzeichnis von FakeNet gespeichert. Ein Benutzer kann die NBIs überprüfen, indem er diese HTML-Datei in einem Browser wie Chrome oder Firefox anzeigt.

Der HTML-Bericht dient als interaktive grafische Benutzeroberfläche (GUI), die die NBI-Zusammenfassung benutzerfreundlich präsentiert. Er enthält verschiedene Funktionen zum Auswählen, Filtern und Kopieren von NBIs, was die Netzwerkanalyse erleichtert. Die UI organisiert alle NBIs basierend auf ihren Prozessinformationen und kategorisiert sie dann weiter nach dem von ihnen verwendeten Anwendungsschicht- oder Transportschichtprotokoll.

NBI-Zusammenfassungstabelle

Die Informationen in der NBI-Zusammenfassungstabelle werden in tabellarischer Form dargestellt und enthalten die folgenden Details:

  • Auswählen: Durch Klicken auf das Kontrollkästchen wird der entsprechende NBI ausgewählt. Sie können mehrere NBIs über verschiedene oder dieselben Protokolle hinweg auswählen. Die gesamte Zeile kann auch durch Klicken an einer beliebigen Stelle innerhalb der Zeile ausgewählt werden. Ausgewählte NBIs können mit der Schaltfläche "Ausgewählte NBIs kopieren" kopiert werden.

  • NBI: Diese Zelle stellt den tatsächlich erfassten NBI dar. Sie enthält Befehle, Parameter, URIs und andere signifikante Aktivitäten, die vom Client gegen den Listener generiert wurden. Diese Zelle fasst das Malware-Verhalten zum besseren Verständnis zusammen.

  • Zusätzliche Informationen: Diese Zelle liefert zusätzliche Informationen zu jeder NBI-Anforderung, wie das verwendete Transportschichtprotokoll, die Ziel-IP, den Port und die SSL-Verschlüsselung.

  • Aktionen: Diese Zelle ermöglicht es Ihnen, Aktionen für einzelne NBIs durchzuführen. Derzeit wird nur das Kopieren unterstützt. Durch Klicken auf die Kopierschaltfläche werden die Daten der spezifischen NBI-Zelle in einem Markdown-Format kopiert, das sich für die Erstellung von Berichten eignet.

Interaktive Funktionen

Die UI enthält auch verschiedene interaktive Funktionen:

  • Kontrollkästchenauswahl: Vor jedem Prozess- und Protokollblock sind Kontrollkästchen verfügbar. Durch Aktivieren eines Kontrollkästchens werden alle NBIs unter diesem Prozess oder Protokoll ausgewählt. Dies ist nützlich, wenn Sie alle NBIs von einem bestimmten Prozess oder Protokoll auswählen möchten. Sie können dann die Schaltfläche Ausgewählte NBIs kopieren verwenden, um die ausgewählten Daten zu kopieren.

  • Suchleiste: Mit der Suchleiste können Sie Schlüsselwörter eingeben, und nur die Zeilen, die diese Schlüsselwörter im Prozessnamen, im NBI oder in den zusätzlichen Informationen enthalten, werden auf der HTML-Seite angezeigt. Sie können dann die Schaltfläche "Gefilterte Daten kopieren" verwenden, um die angezeigten Daten im Markdown-Format zu kopieren. Das Löschen der Suchanfrage stellt die ursprüngliche Tabellenansicht wieder her.

  • Schaltflächen zum Kopieren:

    • Ausgewählte Daten kopieren: Kopiert alle ausgewählten NBIs im Markdown-Format. Sie können einzelne NBIs oder alle NBIs unter einem Prozess auswählen, indem Sie Kontrollkästchen aktivieren.
    • Gefilterte Daten kopieren: Kopiert die Daten der gefilterten NBIs im Markdown-Format. Wenn keine Suchanfrage verwendet wird, kopiert diese Schaltfläche die gesamten Daten.
    • Alle NBIs kopieren: Kopiert alle auf der HTML-Seite vorhandenen NBIs im Markdown-Format. Selbst wenn ein Filter angewendet wird, kopiert das Klicken auf diese Schaltfläche alle NBIs.
  • Haftungsausschluss-Schaltfläche: Zeigt den Haftungsausschluss an, der wichtige Fakten für den Benutzer darlegt, die vor Annahmen über die angezeigte NBI-Zusammenfassung zu berücksichtigen sind.

  • Schaltfläche "Nach oben": Erscheint, wenn der Inhalt der Seite den sichtbaren Bereich überschreitet. Durch Klicken auf diese Schaltfläche gelangen Sie zum Seitenanfang, wo Sie auf wichtige Schaltflächen wie Ausgewählte NBIs kopieren, , und die Suchleiste zugreifen können.

Konfiguration

Um die Fähigkeiten von FakeNet-NG voll auszuschöpfen, müssen wir die Struktur und die Einstellungen der Konfigurationsdatei verstehen. Nachfolgend sehen Sie eine beispielhafte Konfigurationsdatei:

root@kitploit:~
###############################################################################
# Fakenet-Konfiguration

[FakeNet]

DivertTraffic: Yes

###############################################################################
# Diverter-Konfiguration

[Diverter]

NetworkMode:            Auto

LinuxRedirectNonlocal:  *
LinuxFlushIptables:     Yes
LinuxFlushDNSCommand:   service dns-clean restart

DumpPackets:            Yes
DumpPacketsFilePrefix:  packets

ModifyLocalDNS:         No
StopDNSService:         Yes

RedirectAllTraffic:     Yes
DefaultTCPListener:     RawTCPListener
DefaultUDPListener:     RawUDPListener

###############################################################################
# Listener-Konfiguration

[DNS Server]
Enabled:     True
Port:        53
Protocol:    UDP
Listener:    DNSListener
DNSResponse: 192.0.2.123
NXDomains:   0
Hidden:      False

[RawTCPListener]
Enabled:     True
Port:        1337
Protocol:    TCP
Listener:    RawListener
UseSSL:      No
Timeout:     10
Hidden:      False

Die Konfigurationsdatei ist in mehrere Abschnitte unterteilt.* [FakeNet] - Steuert das Verhalten der Anwendung selbst. Die derzeit einzig gültige Option ist DivertTraffic. Wenn aktiviert, weist es das Tool an, das entsprechende Diverter-Plugin zu starten und Datenverkehr abzufangen. Wenn diese Option deaktiviert ist, startet FakeNet-NG weiterhin Listener, verlässt sich jedoch auf eine andere Methode, um Datenverkehr an diese zu leiten (z. B. manuelles Ändern des DNS-Servers).

  • [Diverter] - Einstellungen zur Umleitung von Datenverkehr. Wird unten ausführlich behandelt.

  • [Listener Name] - Eine Sammlung von Listener-Konfigurationen. Jeder Listener verfügt über eine Reihe von Standardeinstellungen (z. B. Port, Protokoll) sowie listenerspezifische Konfigurationen (z. B. DumpHTTPPosts für den HTTPListener).

Diverter-Konfiguration

Angenommen, Sie haben die Einstellung DivertTraffic im Konfigurationsblock [FakeNet] aktiviert, dann aktiviert das Tool seine Verkehrsumleitungs-Engine, die wir ab jetzt als Diverter bezeichnen, in Anlehnung an die hervorragende WinDivert-Bibliothek, die die Magie hinter den Kulissen auf Windows-Plattformen durchführt (die Linux-Implementierung des Diverter verwendet python-netfilterqueue).

Der Diverter untersucht alle ausgehenden Pakete und gleicht sie mit einer Liste von Protokollen und Ports der aktivierten Listener ab. Wenn ein Listener auf dem Port und Protokoll des Pakets lauscht, wird die Zieladresse auf die IP-Adresse des lokalen Rechners geändert, wo der Listener die Anfrage bearbeitet. Gleichzeitig werden Antworten des Listeners so geändert, dass die Quell-IP-Adresse so erscheint, als käme das Paket vom ursprünglich angeforderten Host.

Sie können optional die Einstellung DumpPackets aktivieren, um den gesamten von FakeNet-NG beobachteten Verkehr (umgeleitet oder weitergeleitet) in einer PCAP-Datei zu speichern. Es ist möglich, SSL-Verkehr zwischen einer abgefangenen Anwendung und einem der Listener mit SSL-Unterstützung zu entschlüsseln. Verwenden Sie die Anweisungen auf der folgenden Seite:

root@kitploit:~
https://wiki.wireshark.org/TLS

Die Schlüssel privkey.pem und server.pem, die von den Servern von FakeNet-NG verwendet werden, befinden sich im Stammverzeichnis der Anwendung.

  • NetworkMode - Geben Sie den Netzwerkmodus an, in dem FakeNet-NG ausgeführt werden soll.
    • Gültige Einstellungen sind:
      • SingleHost: Datenverkehr von lokalen Prozessen manipulieren.
      • MultiHost: Datenverkehr von anderen Systemen manipulieren.
      • Auto: Verwenden Sie den NetworkMode, der auf der aktuellen Plattform am funktionalsten ist.
    • Nicht alle Plattformen unterstützen derzeit alle NetworkMode-Einstellungen. Hier ist der aktuelle Unterstützungsstatus:
      • Windows unterstützt nur SingleHost
      • Linux unterstützt MultiHost und experimentell den SingleHost-Modus (funktioniert mit Ausnahme der Blacklist- und Whitelist-Funktionen für Prozesse, Ports und Hosts).
    • Lassen Sie dies vorerst auf Auto eingestellt, um auf Windows den SingleHost-Modus und auf Linux den MultiHost-Modus zu erhalten.

Der Diverter unterstützt im Allgemeinen die folgende DNS-bezogene Einstellung:

  • ModifyLocalDNS - Weist den DNS-Dienst des lokalen Rechners auf den DNS-Listener von FakeNet-NG.

Die Windows-Implementierung des Diverter unterstützt die folgende DNS-bezogene Einstellung:

  • StopDNSService - Stoppt den Windows DNS-Clientdienst (Dnscache). Damit kann FakeNet-NG die tatsächlichen Prozesse sehen, die Domänen auflösen, anstatt den generischen Prozess 'svchost.exe'.

Die Linux-Implementierung des Diverter unterstützt die folgenden Einstellungen:

  • LinuxRedirectNonlocal - Wenn FakeNet-NG verwendet wird, um Internetverbindung für einen anderen Host zu simulieren, gibt dies an, welche externen Netzwerkschnittstellen zu FakeNet-NG umgeleitet werden sollen.

  • LinuxFlushIptables - Löscht alle iptables-Regeln, bevor Regeln für FakeNet-NG hinzugefügt werden. Der Linux-Diverter stellt die alten Regeln wieder her, solange seine Beendigungssequenz nicht unterbrochen wird.

  • LinuxFlushDnsCommand - Geben Sie den korrekten Befehl für Ihre Linux-Distribution an, um den DNS-Resolver-Cache zu leeren, falls zutreffend.

  • DebugLevel - Geben Sie granulare Debug-Ereignisse zur Anzeige an. Beachten Sie fakenet/diverters/linutil.py für gültige Bezeichnungen.

Umleitung des gesamten Datenverkehrs

Standardmäßig fängt der Diverter nur Datenverkehr ab, für den ein dedizierter Listener erstellt wurde. Durch Aktivieren der Einstellung RedirectAllTraffic und Konfigurieren der standardmäßigen TCP- und UDP-Handler mit den Einstellungen DefaultTCPListener und DefaultUDPListener ist es jedoch möglich, Datenverkehr zu Ports dynamisch zu behandeln, die nicht explizit in einem der Listener definiert sind. Betrachten wir zum Beispiel eine Beispielkonfiguration, die den gesamten Datenverkehr zu lokalen TCP- und UDP-Listenern auf den Ports 1234 umleitet:

root@kitploit:~
RedirectAllTraffic: Yes
DefaultTCPListener: TCPListener1234
DefaultUDPListener: UDPListener1234

HINWEIS: Wir springen ein wenig voraus mit Listener-Definitionen, aber bedenken Sie einfach, dass TCPListener1234 und UDPListener1234 im folgenden Abschnitt definiert werden.

Mit der Einstellung RedirectAllTraffic ändert FakeNet-NG nicht nur die Zieladresse, sondern auch den Zielport, damit er von einem der Standard-Listener bearbeitet werden kann. Nachfolgend ein Beispielprotokoll von Datenverkehr, der an eine externe Host-IP-Adresse 1.1.1.1 auf Port 4444 adressiert war und stattdessen zum Standard-Listener auf Port 1234 umgeleitet wurde:

root@kitploit:~
07/06/16 01:13:47 AM [          Diverter] Modifying outbound external TCP request packet:
07/06/16 01:13:47 AM [          Diverter]   from: 192.168.66.129:1650 -> 1.1.1.1:4444
07/06/16 01:13:47 AM [          Diverter]   to:   192.168.66.129:1650 -> 192.168.66.129:1234
07/06/16 01:13:47 AM [          Diverter]   pid:  3716 name: malware.exe

Es ist wichtig zu beachten, dass Datenverkehr, der für den Port eines explizit definierten Listeners bestimmt ist, weiterhin von diesem Listener und nicht vom Standard-Listener bearbeitet wird. Beispielsweise wird der standardmäßige UDP-Listener keinen DNS-Verkehr bearbeiten, wenn ein separater DNS-Listener für UDP-Port 53 definiert ist.

Ein Problem bei der Aktivierung der RedirectAllTraffic-Option ist, dass Sie möglicherweise etwas Datenverkehr durchlassen möchten, um den normalen Betrieb des Rechners zu gewährleisten. Stellen Sie sich ein Szenario vor, in dem Sie eine Anwendung analysieren, die weiterhin eine Verbindung zu einem externen DNS-Server herstellen muss. Sie können die Einstellungen BlackListPortsTCP und BlackListPortsUDP verwenden, um eine Liste von Ports zu definieren, für die der Datenverkehr ignoriert und unverändert weitergeleitet wird, oder BlackListIDsICMP (nur Windows), um eine Liste von ICMP-IDs zu definieren, die gefiltert und ignoriert werden sollen:

root@kitploit:~
BlackListPortsUDP: 53

Einige andere Diverter-Einstellungen, die Sie in Betracht ziehen könnten, sind ProcessBlackList und HostBlackList, die es dem Diverter ermöglichen, Datenverkehr von einem bestimmten Prozessnamen bzw. für einen bestimmten Host zu ignorieren und weiterzuleiten.

Listener-Konfigurationen

Listener-Konfigurationen definieren das Verhalten einzelner Listener. Schauen wir uns eine Beispielkonfiguration eines Listeners an:

root@kitploit:~
[TCPListener1234]
Enabled:     True
Port:        1234
Protocol:    TCP
Listener:    RawListener
UseSSL:      Yes
Timeout:     10
Hidden:      False

Die obige Konfiguration besteht aus dem Listener-Namen TCPListener1234. Dieser wird zu Protokollzwecken verwendet, damit Sie zwischen verschiedenen Listenern unterscheiden können, die Verbindungen bearbeiten, selbst wenn sie dasselbe Protokoll verarbeiten.

Die folgenden Einstellungen sind für alle Listener generisch:

  • Enabled - Gibt an, ob der Listener aktiviert ist oder nicht.
  • Port - TCP- oder UDP-Port, auf dem gelauscht wird.
  • Protocol - TCP oder UDP
  • Listener - Name des Listeners, der den Datenverkehr bearbeitet.
  • ProcessWhiteList - Nur Datenverkehr von diesen Prozessen wird geändert, der Rest wird einfach weitergeleitet.
  • ProcessBlackList - Datenverkehr von allen außer diesen Prozessen wird einfach weitergeleitet, der Rest wird nach Bedarf geändert.
  • HostWhiteList - Nur Datenverkehr zu diesen Hosts wird geändert, der Rest wird einfach weitergeleitet.
  • HostBlackList - Datenverkehr zu diesen Hosts wird einfach weitergeleitet, der Rest wird nach Bedarf geändert.
  • ExecuteCmd - Führt einen Befehl beim ersten Verbindungspaket aus. Diese Funktion ist nützlich, um die Funktionalität von FakeNet-NG zu erweitern (z. B. einen Debugger auf der verbindenden PID starten, um beim Entpacken und Dekodieren zu helfen).
  • Hidden - Erlaubt nicht, dass Datenverkehr direkt an diesen Listener geleitet wird, ohne den Proxy zu durchlaufen, der das Protokoll basierend auf dem Paketinhalt bestimmt.

Die Einstellungen Port und Protocol sind notwendig, damit die Listener wissen, an welche Ports sie sich binden müssen, und, wenn sie mehrere Protokolle unterstützen (z. B. RawListener), entscheiden, welches Protokoll verwendet werden soll. Sie werden auch vom Diverter verwendet, um herauszufinden, welche Ports und Protokolle umgeleitet werden sollen.

Die Einstellung Listener definiert eines der verfügbaren Listener-Plugins zur Bearbeitung umgeleiteten Datenverkehrs. Die aktuelle Version von FakeNet-NG wird mit den folgenden Listenern ausgeliefert:

  • DNSListener - Unterstützt das DNS-Protokoll und antwortet auf A-Einträge entweder mit der IP-Adresse des lokalen Rechners oder einer konfigurierbaren Adresse in der Einstellung DNSResponse. Sie können auch das Attribut NXDomains auf die Anzahl der Anfragen setzen, die der Listener ignorieren soll. Auf diese Weise können Sie möglicherweise die Malware dazu bringen, alle ihre Backup-C2-Controller-Namen anzufordern. Der Listener unterstützt sowohl TCP- als auch UDP-Protokolle.
  • RawListener - Unterstützt grundlegende TCP- und UDP-Binärprotokolle. Das Standardverhalten besteht darin, die empfangenen Pakete einfach an den Client zurückzusenden. Unterstützt SSL-Verbindungen.
  • HTTPListener - Unterstützt HTTP- und HTTPS-Protokolle. Antwortet mit verschiedenen Dateien im konfigurierbaren Webroot-Verzeichnis, basierend auf der angeforderten Dateierweiterung. Optional werden POST-Anfragen in eine konfigurierbare Datei geschrieben, die mit den Einstellungen DumpHTTPPosts und DumpHTTPPostsFilePrefix angegeben werden kann.
  • SMTPListener - Unterstützt das SMTP-Protokoll.
  • ProxyListener- Erkennt das Protokoll basierend auf dem Paketinhalt und leitet Pakete entsprechend weiter.

HINWEIS: FakeNet-NG versucht, das Webroot-Verzeichnis zu finden, zuerst unter Verwendung der angegebenen absoluten oder relativen Pfade. Wenn der angegebene Webroot-Pfad nicht gefunden wird, sucht es in seinem defaultFiles-Verzeichnis.

Als Sonderfall antwortet die Windows-Diverter-Implementierung während des Betriebs automatisch auf alle ICMP-Anfragen. Falls also eine Malware versucht, einen Host anzupingen, um die Verbindung zu testen, erhält sie eine gültige Antwort. Der Linux-Diverter protokolliert und leitet alle ICMP-Pakete an localhost weiter.

HINWEIS: Einige Listener können Datei-Uploads verarbeiten (z. B. TFTPListener und BITSListener). Alle hochgeladenen Dateien werden im aktuellen Arbeitsverzeichnis mit einem konfigurierbaren Präfix gespeichert (z. B. "tftp_" für TFTP-Uploads).

Listener-Filterung

FakeNet-NG unterstützt mehrere Filterregeln, bestehend aus Blacklists und Whitelists für Prozesse und Hosts. Die Whitelists werden als Regeln behandelt, die Verbindungen zu den Listenern erlauben, während die Blacklists verwendet werden, um eingehende Verbindungen zu ignorieren und sie einfach weiterzuleiten.

Betrachten Sie zum Beispiel die folgende Konfiguration mit Prozess- und Hostfiltern:

root@kitploit:~
[FilteredListener]
Enabled:     True
Port:        31337
Protocol:    TCP
Listener:    RawListener
UseSSL:      No
Timeout:     10
ProcessWhiteList: malware.exe, ncat.exe
HostBlackList: 5.5.5.5

Der obige FilteredListener bearbeitet nur Verbindungen von den Prozessen malware.exe und ncat.exe, ignoriert jedoch alle Verbindungen, die für den Host 5.5.5.5 bestimmt sind. Das bedeutet, dass ein Prozess namens test.exe, der versucht, auf Port 31337 zu verbinden, nicht zum Listener umgeleitet wird, sondern dorthin weitergeleitet wird, wo er ursprünglich hin sollte, sofern die Route verfügbar ist.

Wenn gleichzeitig der Prozess malware.exe versucht, auf Port 31337 auf einem anderen Host als 5.5.5.5 zu verbinden, wird er zum FilteredListener umgeleitet. Alle Verbindungen vom Prozess malware.exe, die für 5.5.5.5 bestimmt sind, werden durchgelassen.

Listener-Befehlsausführung

Eine weitere leistungsstarke Konfigurationseinstellung ist ExecuteCmd. Sie ermöglicht es Ihnen, beim ersten erkannten Paket der Verbindung einen beliebigen Befehl auszuführen. Der Wert von ExecuteCmd kann mehrere Format-String-Variablen verwenden:

  • {pid} - Prozess-ID
  • {procname} - Name der ausführbaren Prozessdatei
  • {src_addr} - Quelladresse
  • {src_port} - Quellport
  • {dst_addr} - Zieladresse
  • {dst_port} - Zielport

Betrachten Sie ein Szenario einer gepackten Malware-Probe, die eine Verbindung zu einem konfigurierten C2-Server auf Port 8443 herstellt (verwenden Sie RedirectAllTraffic, wenn der Port nicht bekannt ist). In vielen Fällen entpackt sich die Malware zum Zeitpunkt der Verbindung, was diesen Ausführungspunkt ideal macht, um mit einem Debugger an den Prozess anzuhängen und eine entpackte Version für die weitere Analyse auszulagern.

Sehen wir uns an, wie dies verwendet werden kann, um automatisch einen Debugger bei der ersten Verbindung zu starten:

root@kitploit:~
[C2Listener]
Enabled:     True
Port:        8443
Protocol:    TCP
Listener:    RawListener
UseSSL:      Yes
Timeout:     300
ProcessWhiteList: malware.exe
ExecuteCmd:  C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\windbg.exe -p {pid}

Sobald FakeNet-NG eine neue Verbindung vom whitelisteten Prozess malware.exe erkennt (diese Einstellung ist optional), startet es automatisch windbg und hängt es an den verbindenden Prozess an.

HINWEIS: Möglicherweise möchten Sie die normale Timeout-Einstellung verlängern, falls die Malware weiter mit dem Listener interagieren muss.

Anonymer Listener

Es gibt einen speziellen Anwendungsfall, bei dem Sie eine neue Listener-Konfiguration erstellen können, ohne den tatsächlichen Listener zu definieren, der sie bearbeitet:

root@kitploit:~
[Forwarder]
Enabled:     True
Port:        8080
Protocol:    TCP
ProcessWhiteList: chrome.exe

Ohne einen definierten Listener wird FakeNet-NG den Datenverkehr weiterhin auf den lokalen Rechner umleiten, aber ein separater Listener muss vom Benutzer gestartet werden. Beispielsweise könnten Sie einen HTTP-Proxy haben, der auf Port 8080 auf Verbindungen lauscht, und FakeNet-NG den gesamten Datenverkehr von Anwendungen abfangen lassen, die die Proxy-Server-Einstellungen des Systems nicht verwenden oder fest codierte IP-Adressen verwenden. Mit anonymen Listenern können Sie die erweiterten Verkehrs- und Prozessfilterfähigkeiten von FakeNet-NG auf Drittanbieter-Tools anwenden.

Sie möchten möglicherweise auch die ProcessBlackList-Einstellung des Diverter aktivieren, damit das externe Tool mit dem Internet kommunizieren kann. Fügen Sie zum Beispiel den Prozessnamen des HTTP-Proxys zur Prozess-Blacklist hinzu, damit er den proxyierten Verkehr weiterleiten kann. Fügen Sie zum Beispiel den folgenden Prozess hinzu, damit Burp Proxy mit dem Internet kommunizieren kann:

root@kitploit:~
ProcessBlackList: java.exe

In dem Szenario, in dem eine Anwendung auf einem unbekannten Port kommuniziert, Sie sie aber dennoch zum anonymen Listener auf Port 8080 umleiten möchten, können Sie den Standard-Listener wie folgt definieren:

root@kitploit:~
RedirectAllTraffic: Yes
DefaultTCPListener: ForwarderTCP
DefaultUDPListener: RawUDPListener

Um schließlich zu ermöglichen, dass DNS-Verkehr weiterhin zum standardmäßigen DNS-Server im Internet gelangt, während aller anderer Verkehr umgeleitet wird, fügen Sie Port 53 zur UDP-Port-Blacklist des Diverter hinzu, wie folgt:

root@kitploit:~
BlackListPortsUDP:

Proxy-Listener

Das neueste Release von FakeNet-NG implementiert einen neuen Proxy-Listener, der in der Lage ist, das kommunizierende Protokoll (einschließlich SSL-Verkehr) dynamisch zu erkennen und die Verbindung an einen geeigneten Listener umzuleiten.

Sie können den Proxy-Listener so konfigurieren, dass er auf einem bestimmten Port arbeitet, wie in der folgenden Konfiguration dargestellt:

root@kitploit:~
[ProxyTCPListener]
Enabled:    True
Protocol:   TCP
Listener:   ProxyListener
Port:       38926
Listeners:  HTTPListener, RawListener, FTPListener, DNSListener, POPListener, SMTPListener, TFTPListener, IRCListener, BITSListener
Hidden:     False

Beachten Sie den neuen Parameter Listeners, der eine Liste potenzieller Protokollhandler definiert, die für alle eingehenden Verbindungen ausprobiert werden sollen.

Es wird auch empfohlen, einen Proxy-Listener als Standard-Handler zu definieren, indem Sie die folgenden Diverter-Konfigurationen aktualisieren:

root@kitploit:~
RedirectAllTraffic:    Yes
DefaultTCPListener:    ProxyTCPListener
DefaultUDPListener:    ProxyUDPListener

Mit dem Standard-Listener, der auf den Proxy-Listener zeigt, werden alle unbekannten Verbindungen angemessen behandelt. Sie können weiterhin bestimmte Listener Ports zuweisen, um ein bestimmtes Protokoll zu erzwingen (z. B. immer den HTTP-Listener für Port 80 verwenden).

Der Proxy bestimmt das Protokoll von Paketen, indem er alle verfügbaren Listener mit der Funktion taste() abfragt. Jeder Listener, der taste() implementiert, antwortet mit einem Score, der die Wahrscheinlichkeit angibt, dass das von diesem Listener verarbeitete Protokoll mit dem Paketinhalt übereinstimmt. Der Proxy leitet das Paket an den Listener weiter, der den höchsten Score zurückgegeben hat. Der RawListener gibt immer einen Score von 1 zurück, sodass er ausgewählt wird, wenn alle anderen Listener 0 zurückgeben, und dient somit als Standard.

Benutzer können den Konfigurationsparameter 'Hidden' in der Konfiguration jedes Listeners ändern. Wenn Hidden 'False' ist, wird der Listener an einen bestimmten Port gebunden und empfängt automatisch den gesamten Datenverkehr auf diesem Port. Bei Hidden 'True' kann der Listener nur Datenverkehr empfangen, der über den Proxy umgeleitet wird.

Entwicklung

FakeNet-NG wird in Python entwickelt, was Ihnen die schnelle Entwicklung neuer Plugins und die Erweiterung vorhandener Funktionalität ermöglicht. Einzelheiten finden Sie unter Developing for FakeNet-NG.

Bekannte Probleme

[WinError 87] Der Parameter ist falsch

Zum Zeitpunkt dieses Schreibens beträgt die Standard-Puffergröße in pydivert 1500. Wenn FakeNet-NG auf ein Paket trifft, das größer als die Standard-Puffergröße ist, kann dieser Fehler auftreten. Eine Problemumgehung besteht darin, die gewünschte Puffergröße in self.handle.recv(bufsize=<your_bufsize>) in fakenet/diverters/windows anzugeben. Siehe hier.

Funktioniert nicht auf VMWare mit aktiviertem Host-Only-Modus

Siehe "Kein Abfangen von Datenverkehr" unten.

Kein Abfangen von Datenverkehr

Damit FakeNet-NG das Paket abfangen und modifizieren kann, muss eine gültige Netzwerkroute existieren, damit das Paket sein Ziel erreichen kann.

Es gibt eine einfache Möglichkeit zu überprüfen, ob die Routen korrekt eingerichtet sind. Versuchen Sie, ohne das laufende Tool, den Zielhost anzupingen. Sie sollten entweder eine gültige Antwort oder eine Timeout-Meldung erhalten. Wenn Sie stattdessen einen Fehler "Ziel nicht erreichbar" erhalten, dann haben Sie keine gültige Route.

Dies wird in der Regel dadurch verursacht, dass Ihr Gateway entweder nicht gesetzt oder nicht erreichbar ist. Bei einem VMWare-Rechner im Host-Only-Modus ist beispielsweise das Gateway nicht konfiguriert, sodass FakeNet-NG keinen Datenverkehr sehen kann.

Um dieses Problem zu beheben, konfigurieren Sie Ihre primäre Schnittstelle manuell auf das Gateway im selben Subnetz. Überprüfen Sie zunächst den Schnittstellennamen:

root@kitploit:~
C:\>netsh interface show interface

Admin State    State          Type             Interface Name
-------------------------------------------------------------------------
Enabled        Connected      Dedicated        Local Area Connection

In diesem Fall lautet der Schnittstellenname "Local Area Connection", daher verwenden wir ihn für die restlichen Befehle.Konfigurieren Sie die IP-Adresse und das Gateway der Schnittstelle manuell wie folgt:

root@kitploit:~
C:\>netsh interface ip set address name="Local Area Connection" static 192.168.249.123 255.255.255.0 192.168.249.254

Legen Sie die IP-Adresse des DNS-Servers manuell fest:

root@kitploit:~
C:\>netsh interface ip set dns name="Local Area Connection" static 4.2.2.2

Falls Sie weiterhin Probleme haben, stellen Sie sicher, dass die Gateway-IP-Adresse selbst routingfähig ist.

DNS löst keine Namen auf

Stellen Sie sicher, dass der DNS Listener erfolgreich an seinen Port gebunden wurde. Fehler wie die folgenden zeigen an, dass der DNS Listener nicht erfolgreich gebunden wurde:``` 05/01/17 11:11:16 AM [ FakeNet] Error starting DNSListener listener: 05/01/17 11:11:16 AM [ FakeNet] [Errno 98] Address already in use

root@kitploit:~
Verwenden Sie `netstat`, `tcpview` oder andere Tools, um herauszufinden, welche Anwendung an den Port gebunden ist, und schlagen Sie in der entsprechenden Betriebssystem- oder Anwendungsdokumentation nach, um den Dienst zu deaktivieren.

Es kann sinnvoll sein, vor der Neukonfiguration einen VM-Snapshot zu erstellen.

Zum Beispiel aktiviert Ubuntu häufig den `dnsmasq`-Dienst in `/etc/NetworkManager/NetworkManager.conf` mit der Zeile `dns=dnsmasq`. Das Deaktivieren (z.B. durch Auskommentieren) und Neustarten des `network-manager`-Dienstes (z.B. `service network-manager restart`) reicht aus, um den Port freizugeben, bevor FakeNet-NG neu gestartet wird.

In neueren Versionen von Ubuntu oder in anderen Distributionen kann die Verwendung von `lsof -i` zeigen, dass stattdessen `systemd-resolved` verwendet wird. In diesen Fällen können Sie diese an <https://askubuntu.com/questions/907246/how-to-disable-systemd-resolved-in-ubuntu> angepassten Schritte versuchen:```
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

Dann fügen Sie in /etc/NetworkManager/NetworkManager.conf unter dem Abschnitt [main] eine Zeile hinzu, die Folgendes angibt:``` dns=default

root@kitploit:~
Lösche den Symlink `/etc/resolv.conf`, d.h. `rm /etc/resolv.conf`.

Starten Sie abschließend den `NetworkManager` neu:```
sudo systemctl restart NetworkManager

Error: Could not locate WinDivert DLL or one of its components

Please ensure that FakeNet-NG is extracted to the local C: drive to make sure the WinDivert driver is loaded correctly.

Error: The application has failed to start because its side-by-side configuration is incorrect.

This error may occur when running a stand-alone executable version of Fakenet. Please download and install Visual C++ 2008 runtime executable.

Limitations

  • Only Windows Vista+ is supported for SingleHost mode. Please use the original Fakenet for Windows XP/2003 operating systems.

  • Only Linux is supported for MultiHost mode.

  • Old versions of python-netfilterqueue can cause a segmentation fault in python. If you experience this issue, check that you are using the latest version of python-netfilterqueue.

  • Due to the hard-coded buffer size used by python-netfilterqueue, the Linux Diverter does not correctly handle packets greater than 4,016 bytes in size. In practice, this does not affect Linux MultiHost mode for interfaces configured with the conventional 1,500 byte maximum transmittal unit (MTU). If the Linux interface you are using with FakeNet-NG supports an MTU greater than 4016, you will need to recompile python-netfilterqueue to support a buffer size of <your_mtu> + 80 (python-netfilterqueue devotes 80 bytes of the buffer to overhead).

  • Local machine only traffic is not intercepted on Windows (e.g. if you tried to connect directly to one of the listeners).

  • Only traffic using TCP, UDP, and ICMP protocols is intercepted.

Credits

  • FakeNet-NG was designed and developed by Peter Kacherginsky.
  • Special thanks to Andrew Honig, Michael Sikorski and others for the original FakeNet which was the inspiration to develop this tool.
  • The Linux Diverter was designed and developed by Michael Bailey.
  • Thanks to Matthew Haigh for developing the proxy protocol autodetection feature.
  • Thanks to Cody Pierce and Antony Saba for reporting and fixing a file system traversal vulnerability.

Contact

For bugs, crashes, or other comments please contact [email protected].

Subscribe to the FLARE mailing list for community announcements! Email "subscribe" to [email protected].

Tool herunterladen

Wenn Sie manuell installieren, wechseln Sie in das heruntergeladene Verzeichnis flare-fakenet-ng und führen Sie Folgendes mit Administratorrechten aus:

root@kitploit:~
 python setup.py install
  • Unter Linux: Geben Sie Port 53 für den DNS-Listener frei:

    root@kitploit:~
     sudo systemctl stop systemd-resolved
    

    Führen Sie FakeNet-NG in einer privilegierten Shell von einem beliebigen Verzeichnis aus mit 'fakenet' aus.

  • Unter Linux: Geben Sie Port 53 für den DNS-Listener frei:

    root@kitploit:~
     sudo systemctl stop systemd-resolved
    

    Führen Sie FakeNet-NG in einer privilegierten Shell mit einem Python-Interpreter aus:

    root@kitploit:~
     python -m fakenet.fakenet
    
  • Alle NBIs kopieren
    Gefilterte NBIs kopieren