Einen Rogue AP und ein Captive Portal identifizieren

Beginner
Jetzt üben

Einleitung

In diesem Lab lernen Sie die grundlegenden Schritte zur Identifizierung eines bösartigen Access Points (AP) und eines schädlichen Captive Portals. Ein bösartiger AP ist ein drahtloser Zugriffspunkt, der ohne ausdrückliche Genehmigung des Netzwerkbesitzers in einem Netzwerk installiert wird. Angreifer nutzen diese oft, um "Man-in-the-Middle"-Angriffe zu starten und den Datenverkehr abzufangen.

Ein Captive Portal ist eine Webseite, die Benutzer anzeigen und mit der sie interagieren müssen, bevor ihnen der Zugriff auf ein öffentliches Netzwerk gewährt wird. Während viele legitime Hotspots diese nutzen, können Angreifer eigene erstellen, um Anmeldeinformationen zu phishen.

Dieses Lab simuliert dieses Szenario in einer sicheren Umgebung. Sie verwenden Befehlszeilentools, um nach Netzwerken zu suchen, ein verdächtiges "Evil Twin"-Netzwerk zu erkennen und ein gefälschtes Captive Portal zu analysieren, um es als Bedrohung zu identifizieren.

WLAN-Netzwerke auf einem Client-Gerät scannen

In diesem Schritt simulieren Sie das Scannen nach verfügbaren WLAN-Netzwerken. In einem realen Szenario würden Sie Tools wie nmcli, iwlist oder airodump-ng verwenden. Für dieses Lab haben wir ein Skript namens scan-wifi.sh vorbereitet, das die Ausgabe eines Netzwerks-Scans nachahmt. Dies ermöglicht es uns, das Lab durchzuführen, ohne physische WLAN-Hardware zu benötigen.

Alle Dateien für dieses Lab befinden sich im Verzeichnis ~/project. Führen wir das Skript aus, um die Liste der simulierten WLAN-Netzwerke anzuzeigen.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

~/project/scan-wifi.sh

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die verfügbaren Netzwerke, ihre Signalstärke und den Sicherheitstyp auflistet.

IN-USE  BSSID              SSID        MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
*       AA:BB:CC:11:22:33  CorpWifi    Infra  6     54 Mbit/s   90      ▂▄▆█  WPA2
        AA:BB:CC:44:55:66  CorpWifi    Infra  11    54 Mbit/s   95      ▂▄▆█  --
        DE:F0:12:34:56:78  GuestWifi   Infra  1     54 Mbit/s   70      ▂▄▆_  WPA2

Zwei Netzwerke mit demselben Namen (ESSID) bemerken

In diesem Schritt analysieren Sie die Scan-Ergebnisse, um eine Anomalie zu erkennen. Die ESSID (Extended Service Set Identifier) ist der öffentliche Name eines WLAN-Netzwerks.

Betrachten Sie die Ausgabe aus dem vorherigen Schritt genau. Sie sollten feststellen, dass zwei verschiedene Netzwerke dieselbe SSID, "CorpWifi", gemeinsam nutzen. Dies ist ein klassisches Zeichen für einen potenziellen "Evil Twin"-Angriff. Ein Netzwerk ist das legitime, und das andere ist ein bösartiger AP, der von einem Angreifer eingerichtet wurde.

Der Hauptunterschied liegt in der Spalte SECURITY. Das legitime Netzwerk verwendet WPA2-Verschlüsselung, während das bösartige Netzwerk offen ist (angezeigt durch --). Angreifer erstellen oft offene Netzwerke, da Benutzer eher dazu neigen, sich mit ihnen zu verbinden, ohne ein Passwort zu benötigen.

Um dies deutlicher zu machen, verwenden wir den Befehl grep, um die Ausgabe zu filtern und nur die Netzwerke namens CorpWifi anzuzeigen.

~/project/scan-wifi.sh | grep CorpWifi

Dieser Befehl erzeugt die folgende Ausgabe, die die beiden Netzwerke hervorhebt.

*       AA:BB:CC:11:22:33  CorpWifi    Infra  6     54 Mbit/s   90      ▂▄▆█  WPA2
        AA:BB:CC:44:55:66  CorpWifi    Infra  11    54 Mbit/s   95      ▂▄▆█  --

Verbindung zum offenen (unverschlüsselten) Netzwerk herstellen

In diesem Schritt simulieren wir die Verbindung zum verdächtigen, offenen "CorpWifi"-Netzwerk. In einem realen Szenario würde das Betriebssystem Ihres Geräts die Verbindung handhaben. Für unsere Simulation wird das "Verbinden" den Start eines lokalen Webservers beinhalten, der als Captive Portal des bösartigen AP fungiert.

Die Dateien für dieses gefälschte Portal befinden sich im Verzeichnis ~/project/portal. Wir werden von diesem Verzeichnis aus einen einfachen Python-Webserver ausführen. Um unser Terminal für andere Befehle frei zu halten, werden wir den Server als Hintergrundprozess ausführen.

Ändern Sie zuerst Ihr aktuelles Verzeichnis zu ~/project/portal:

cd ~/project/portal

Starten Sie als Nächstes den Python-Webserver im Hintergrund mit dem Symbol &:

python3 server.py &

Sie sehen eine Prozess-ID und eine Bestätigungsnachricht, die anzeigt, dass der Server läuft.

[1] 1234
Serving captive portal on port 8000

Der Server läuft nun und lauscht auf Verbindungen auf Port 8000, was die Umgebung des bösartigen Netzwerks simuliert.

Beobachten der automatischen Weiterleitung zu einer Anmeldeseite

In diesem Schritt sehen Sie das Captive Portal in Aktion. Nach der Verbindung mit einem Netzwerk mit einem Captive Portal wird jeder Versuch, im Internet zu surfen, abgefangen und typischerweise zu einer Anmelde- oder Nutzungsbedingungen-Seite weitergeleitet.

Wir simulieren dies, indem wir den Befehl curl verwenden, um zu versuchen, auf eine Website zuzugreifen. Da unsere simulierte Netzwerkumgebung vom gerade gestarteten Python-Server gesteuert wird, wird jede HTTP-Anfrage an localhost:8000 "erfasst" und die Datei index.html von unserem Portal bedient.

Verwenden Sie curl, um eine Anfrage an den lokalen Server zu stellen. Dies ahmt die anfängliche Anfrage eines Browsers nach der Verbindung mit dem neuen Netzwerk nach.

curl http://localhost:8000

Der Befehl gibt den HTML-Quellcode der gefälschten Anmeldeseite zurück. In einem echten Browser würde dieser Code als grafisches Anmeldeformular gerendert werden.

<!DOCTYPE html>
<html>
  <head>
    <title>CorpWifi Login</title>
    <style>
      body {
        font-family: sans-serif;
        background: #f0f2f5;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        margin: 0;
      }
      .login-box {
        background: white;
        padding: 20px 40px;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        text-align: center;
      }
      input {
        margin: 10px 0;
        padding: 8px;
        width: 200px;
        border: 1px solid #ddd;
        border-radius: 4px;
      }
      button {
        padding: 10px 20px;
        background-color: #1877f2;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        width: 100%;
      }
    </style>
  </head>
  <body>
    <div class="login-box">
      <h2>CorpWifi Access</h2>
      <p>Please log in to continue.</p>
      <input type="text" placeholder="Username" />
      <br />
      <input type="password" placeholder="Password" />
      <br />
      <button>Log In</button>
      <p style="font-size: 12px; color: #888; margin-top: 15px;">
        Powered by CorpWifi-Login.net
      </p>
    </div>
  </body>
</html>

Erkennen, dass die URL keine legitime Domain ist

In diesem letzten Schritt führen Sie die entscheidende Prüfung durch, die bestätigt, dass es sich um ein bösartiges Captive Portal handelt. Das Ziel eines solchen Portals ist es, Sie dazu zu verleiten, Ihre Anmeldedaten auf einer gefälschten Seite einzugeben. Der zuverlässigste Weg, eine Fälschung zu erkennen, ist die Überprüfung des Domainnamens (URL).

In einem echten Browser würden Sie die Adressleiste überprüfen. In unserer Simulation können wir den HTML-Inhalt auf Hinweise untersuchen. Wenn wir uns den HTML-Code aus dem vorherigen Schritt ansehen, finden wir am unteren Rand eine verdächtige Textzeile. Verwenden wir grep, um sie in der Datei index.html zu finden.

Kehren Sie zuerst zum Hauptprojektverzeichnis zurück.

cd ~/project

Suchen Sie nun nach verdächtigem Text in der HTML-Datei des Portals:

grep 'CorpWifi-Login.net' portal/index.html

Der Befehl findet und zeigt die Zeile mit der verdächtigen Domain an.

    <p style="font-size: 12px; color: #888; margin-top: 15px;">Powered by CorpWifi-Login.net</p>

Die Domain CorpWifi-Login.net ist höchst verdächtig. Angreifer registrieren oft Domains, die offiziell klingen, aber nicht sind. Ein legitimes Unternehmensportal würde auf der offiziellen Domain des Unternehmens gehostet werden (z. B. wifi.corp.com). Diese Entdeckung bestätigt, dass das offene Netzwerk ein bösartiger AP ist und die Anmeldeseite ein Phishing-Versuch ist.

Zusammenfassung

In diesem Lab haben Sie erfolgreich einen bösartigen AP (Access Point) und ein bösartiges Captive Portal durch Simulation identifiziert. Sie haben einen praktischen Schritt-für-Schritt-Prozess zur Erkennung gängiger WLAN-Bedrohungen kennengelernt.

Sie haben Folgendes erreicht:

  • WLAN-Netzwerke gescannt und einen unverschlüsselten "Evil Twin" mit demselben Namen wie ein sicheres Netzwerk identifiziert.
  • Die Verbindung mit dem bösartigen AP durch Starten eines lokalen Servers simuliert.
  • Beobachtet, wie ein Captive Portal den Webverkehr abfängt und eine Anmeldeseite anzeigt.
  • Den Inhalt der Anmeldeseite analysiert, um einen verdächtigen, nicht legitimen Domainnamen zu finden, was den Phishing-Versuch bestätigt.

Die wichtigste Erkenntnis ist, stets vorsichtig bei offenen WLAN-Netzwerken zu sein und die URL jeder Anmeldeseite sorgfältig zu prüfen, bevor Sie sensible Informationen eingeben.

Zum Schluss stoppen wir den Hintergrundserver-Prozess. %1 bezieht sich auf den ersten Hintergrundjob.

kill %1