DNS-Server-Konfiguration in Fluxion ändern

KubernetesBeginner
Jetzt üben

Einleitung

Fluxion ist ein beliebtes Werkzeug für Sicherheitsaudits und Social-Engineering-Forschung. Es automatisiert den Prozess der Erstellung eines gefälschten Wi-Fi-Zugangspunkts und eines Captive Portals zur Erfassung von Anmeldeinformationen. Standardmäßig verwendet Fluxion einen vorkonfigurierten Upstream-DNS-Server (wie Googles 8.8.8.8) für seinen DNS-Dienst.

In einigen Szenarien möchten Sie möglicherweise diesen Standard-DNS-Server ändern. Sie möchten beispielsweise einen schnelleren Server verwenden, einen mit spezifischen Filterfunktionen oder einen benutzerdefinierten DNS-Server, den Sie kontrollieren.

In diesem Lab lernen Sie, wie Sie die dnsmasq-Konfiguration im Haupt-Fluxion-Skript lokalisieren und ändern, um die Upstream-DNS-Serveradresse zu ändern.

In diesem Schritt navigieren Sie in das Verzeichnis, das das Haupt-Fluxion-Skript enthält. Die Kernlogik und Konfigurationen für Fluxion sind in Shell-Skripten gespeichert. Das primäre Skript, das wir ändern müssen, ist fluxion.sh, das sich im Verzeichnis lib befindet.

Verwenden Sie zuerst den Befehl cd (change directory), um in das Verzeichnis fluxion/lib zu wechseln. Alle notwendigen Dateien wurden bereits in Ihr ~/project-Verzeichnis geklont.

cd ~/project/fluxion/lib

Verwenden Sie als Nächstes den Befehl ls, um die Dateien im aktuellen Verzeichnis aufzulisten und zu bestätigen, dass fluxion.sh vorhanden ist.

ls

Sie sollten fluxion.sh unter den aufgelisteten Dateien sehen.

controller.sh  fluxion.sh  installer.sh  parser.sh  prober.sh  scanner.sh

Öffnen Sie das Skript in einem Texteditor

In diesem Schritt öffnen Sie das Skript fluxion.sh mit einem Texteditor über die Kommandozeile. Wir verwenden nano, einen einfachen und benutzerfreundlichen Editor, der in der LabEx-Umgebung verfügbar ist.

Führen Sie den folgenden Befehl aus, um fluxion.sh in nano zu öffnen:

nano fluxion.sh

Ihr Terminal zeigt nun den Inhalt des Skripts im nano-Editor an. Sie können die Datei mit den Pfeiltasten navigieren. Im nächsten Schritt suchen wir nach dem relevanten Konfigurationsabschnitt.

Zur Referenz hier einige grundlegende nano-Befehle:

  • Strg + W: Text suchen.
  • Strg + X: Editor beenden.

Suchen Sie nach dem Konfigurationsabschnitt für 'dnsmasq'

Nachdem das Skript in nano geöffnet ist, müssen Sie den Abschnitt finden, in dem dnsmasq konfiguriert wird. Fluxion verwendet dnsmasq, um einen DNS-Server für den gefälschten Access Point auszuführen, der den gesamten Datenverkehr auf die Captive-Portal-Seite umleitet.

  1. Drücken Sie Strg + W, um die Suchaufforderung am unteren Rand des Editors zu öffnen.
  2. Geben Sie dnsmasq ein und drücken Sie Enter.

Dadurch gelangen Sie zum ersten Vorkommen des Wortes dnsmasq. Sie suchen nach einem Codeblock, der den dnsmasq-Dienst startet. Er wird ähnlich wie der folgende Ausschnitt aussehen. Beachten Sie die Option --server, die den Upstream-DNS-Server angibt.

...
## Start the DNS server (dnsmasq)
"$FLUXION_LIB_DIR/controller.sh" dnsmasq start "$interface" \
  "$gateway" "$portal_address" "$channel" "$essid" &> /dev/null &
...

Der tatsächlich ausgeführte Befehl befindet sich im Skript controller.sh, das wiederum eine Funktion aufruft, die den dnsmasq-Befehl mit seinen Parametern enthält. Die Zeile, die wir ändern müssen, ist die, in der der Parameter --server definiert ist. Suchen Sie bei Bedarf weiter, bis Sie die Funktion finden, die den dnsmasq-Startbefehl definiert, welcher die Zeile --server=8.8.8.8 enthält.

Ändern Sie die Upstream-DNS-Serveradresse

In diesem Schritt ändern Sie die DNS-Serveradresse. Sie sollten die Zeile mit der Option --server für dnsmasq gefunden haben. Standardmäßig ist sie auf Googles öffentlichen DNS-Server, 8.8.8.8, eingestellt.

Wir werden sie auf Cloudflares öffentlichen DNS-Server, 1.1.1.1, ändern.

Verwenden Sie Ihre Pfeiltasten, um zu der Zeile zu navigieren:

--server=8.8.8.8 \

Ändern Sie sie zu:

--server=1.1.1.1 \

Nachdem Sie die Änderung vorgenommen haben, müssen Sie die Datei speichern und nano beenden.

  1. Drücken Sie Strg + X, um zu beenden.
  2. nano fragt, ob Sie den geänderten Puffer speichern möchten. Drücken Sie Y für Ja.
  3. nano fragt dann nach dem Dateinamen zum Schreiben. Der Standardwert ist fluxion.sh, was korrekt ist. Drücken Sie Enter, um zu bestätigen.

Sie haben das Skript nun erfolgreich geändert.

Starten Sie den Angriff neu und testen Sie die DNS-Auflösung

In einem realen Szenario wäre der nächste Schritt, den Fluxion-Angriff neu zu starten. Der gefälschte Access Point würde dann Ihren neu konfigurierten DNS-Server (1.1.1.1) für alle Upstream-DNS-Abfragen verwenden.

In dieser Laborumgebung können wir keinen vollständigen Wi-Fi-Angriff starten. Wir können jedoch eine einfache Überprüfung durchführen, um sicherzustellen, dass unsere Änderungen die Skriptsyntax nicht beeinträchtigt haben. Dies tun wir, indem wir das Skript mit dem Flag --help ausführen.

Navigieren Sie zuerst zurück zum Hauptverzeichnis von fluxion:

cd ~/project/fluxion

Führen Sie nun das Skript aus. Da Fluxion für viele seiner Operationen Root-Rechte benötigt, müssen Sie sudo verwenden.

sudo ./fluxion.sh --help

Wenn das Skript syntaktisch korrekt ist, wird das Hilfemenü angezeigt, was bestätigt, dass es nach Ihrer Änderung weiterhin ausführbar ist.

fluxion 6.8 (rev. 20210101)

  usage: fluxion.sh [-i] [-k] [-d] [-h] [-v]

  options:
    -i, --install          Install dependencies.
    -k, --check-karma      Check if karma patch is applied.
    -d, --debug            Enable debug mode.
    -h, --help             Print this help screen.
    -v, --version          Print version and exit.

Dies bestätigt, dass Ihre Änderung erfolgreich war und keine Fehler eingeführt hat.

Zusammenfassung

In diesem Labor haben Sie das Kernskript des Fluxion-Tools erfolgreich modifiziert, um sein Verhalten zu ändern.

Sie haben gelernt, wie Sie:

  • Die Verzeichnisstruktur eines Projekts navigieren, um wichtige Konfigurationsdateien zu finden.
  • Einen Befehlszeilen-Texteditor (nano) verwenden, um ein Shell-Skript anzuzeigen und zu ändern.
  • Eine spezifische Konfiguration lokalisieren, in diesem Fall die Einstellungen des dnsmasq-Dienstes.
  • Den Upstream-DNS-Server von der Standardeinstellung 8.8.8.8 auf 1.1.1.1 ändern.
  • Eine grundlegende Syntaxprüfung durchführen, um sicherzustellen, dass das Skript nach der Änderung funktionsfähig bleibt.

Diese Fähigkeit ist wertvoll, um Sicherheitstools anzupassen und zu modifizieren, damit sie Ihren spezifischen Testanforderungen und Netzwerkbedingungen entsprechen.