Startseite

Informationen zur
Computersicherheit

 

Bettercap auf Android


Bettercap auf Android:

Ein portables Netzwerksicherheits-Toolkit.

Bettercap ist ein leistungsstarkes und vielseitiges Tool, das von Simone Margaritelli AKA für Netzwerksicherheitsanalysen und Penetrationstests entwickelt wurde. Es wird oft als Schweizer Taschenmesser der Netzwerksicherheit bezeichnet und ist vollgepackt mit Funktionen wie WLAN- und Bluetooth-Scanning, Spoofing und Session Hijacking.

Zum Zeitpunkt des Schreibens dieses Artikels ist bettercap weiterhin eines der am besten gepflegten Tools für Man-in-the-Middle-Angriffe (MITM) – und zwar in einem so guten Zustand, dass der Entwickler von MITMf den Benutzern empfohlen hat, stattdessen auf bettercap umzusteigen (ich habe MITMf bereits in einem früheren Blogbeitrag behandelt).

In der Welt der Penetrationstests und des ethischen Hackens ist Diskretion oft entscheidend. Wenn Sie mit einem Laptop voller Aufkleber, externen WLAN-Adaptern und verdächtig aussehenden Antennen herumlaufen, kann das leicht unerwünschte Aufmerksamkeit erregen. Aber was wäre, wenn Sie ein leistungsstarkes Netzwerksicherheits-Toolkit direkt in Ihrer Tasche tragen und sich nahtlos in die Menge einfügen könnten?

Mit bettercap auf Android können Sie Ihr Smartphone in ein voll funktionsfähiges Pentesting-Gerät verwandeln, ohne Verdacht zu erregen. Egal, ob Sie WLAN-Aufklärung, Bluetooth-Scans oder Tests auf Netzwerkschwachstellen durchführen, mit bettercap auf Android über Termux oder NetHunter Terminal können Sie diese Aufgaben diskret durchführen – ohne sperrige Ausrüstung.

Dieses Setup ist nicht nur leicht und tragbar, sondern stellt auch sicher, dass ein Penetrationstester im Blickfeld agieren kann und als ganz normale Person auf seinem Telefon erscheint. In dieser Anleitung zeige ich Ihnen, wie Sie bettercap auf Android installieren, konfigurieren und verwenden, um sein volles Potenzial für ethisches Hacken, Netzwerksicherheit und Penetrationstests auszuschöpfen – alles bequem von Ihrem Smartphone aus.

bettercap ist nicht nur für Angreifer geeignet; es ist ebenso nützlich für Verteidiger. Es ermöglicht Sicherheitsexperten, Netzwerke aus beiden Perspektiven zu analysieren – es hilft Angreifern, ausnutzbare Schwachstellen zu identifizieren, und unterstützt Verteidiger gleichzeitig dabei, ihre Sicherheitslage zu stärken. Indem es tiefe Einblicke in den Netzwerkverkehr und die Schwachstellen bietet, dient bettercap sowohl für ethische Hacker als auch für Cybersicherheitsexperten als wichtiges Tool.
Haftungsausschluss

Die in diesem Blog bereitgestellten Informationen dienen ausschließlich pädagogischen und ethischen Zwecken. bettercap ist ein leistungsstarkes Netzwerksicherheitstool. Es kann zwar für Penetrationstests und Schwachstellenbewertungen verwendet werden, kann aber auch für nicht autorisierte Aktivitäten missbraucht werden. Unbefugter Zugriff auf Netzwerke, Systeme oder Geräte ohne ausdrückliche Erlaubnis ist illegal und in den meisten Ländern strafbar.

Dieser Blog fördert oder ermutigt weder unethisches Hacken, illegale Cyberaktivitäten noch nicht autorisierte Sicherheitstests. Die hier besprochenen Techniken und Befehle sollten nur in Netzwerken verwendet werden, die Ihnen gehören, für die Sie eine ausdrückliche Testberechtigung haben oder in kontrollierten Umgebungen zu Bildungszwecken.

Durch die Verwendung von bettercap oder einer der in diesem Blog beschriebenen Methoden erkennen Sie an, dass Sie allein für Ihre Handlungen verantwortlich sind. Der Autor, der Herausgeber und die Website übernehmen keine Haftung für Missbrauch, Schäden, rechtliche Konsequenzen oder ethische Verstöße, die sich aus der Verwendung dieser Informationen ergeben.
Inhaltsverzeichnis:

Warum Bettercap auf Android verwenden?

Obwohl bettercap in erster Linie für Linux-basierte Systeme entwickelt wurde, kann es mithilfe der Termux- oder NetHunter-Terminal-App auch auf einem Android-Smartphone installiert werden. Die Ausführung von bettercap auf Android bietet mehrere Vorteile:

Portabilität – Führen Sie Sicherheitsbewertungen unterwegs durch.

Einfaches Setup – Keine vollständige Linux-Umgebung erforderlich.

Praktisch für ethische Hacker – Analysieren Sie schnell Netzwerke und Geräte.

Bettercap auf Android

Wenn Sie Kali NetHunter auf Ihrem Android-Gerät verwenden, haben Sie Glück – bettercap ist vorinstalliert und Sie können es direkt vom NetHunter-Terminal aus starten. Um sein volles Potenzial auszuschöpfen, sollte Ihr Gerät jedoch gerootet und mit einem benutzerdefinierten NetHunter-Kernel ausgestattet sein, der die erforderlichen Wi-Fi- und Bluetooth-Treiber enthält.

In meinen vorherigen Blogbeiträgen habe ich eine Schritt-für-Schritt-Anleitung zum Rooten Ihres Geräts, zur Installation eines benutzerdefinierten Kernels und zur Einrichtung von NetHunter beschrieben. Mit einem kompatiblen Kernel können Sie Wi-Fi-Angriffe, Bluetooth Low Energy (BLE)-Scans und drahtlose HID-Module (Human Interface Device) nutzen.

Das heißt, auch wenn Ihr Gerät keinen NetHunter-Kernel unterstützt, können Sie bettercap auf einem gerooteten Android-Gerät trotzdem als leistungsstarkes Netzwerksicherheitstool verwenden – und damit Netzwerkanalysen, MITM-Angriffe und Aufklärung durchführen.

Voraussetzungen.

Stellen Sie vor der Installation von bettercap auf Android sicher, dass Sie über Folgendes verfügen:

Ein Android-Smartphone (gerootet).
Die Termux-App (verfügbar im F-Droid oder Google Play Store).
Eine stabile Internetverbindung zum Herunterladen von Abhängigkeiten.
Alternativ kann ein benutzerdefinierter NetHunter-Kernel installiert werden, um alle Wi-Fi- und BLE-Angriffe zu unterstützen (nicht erforderlich).

Wenn Ihr Android-Gerät gerootet ist, Sie aber aus irgendeinem Grund kein NetHunter haben, können Sie bettercap trotzdem mit Termux installieren. Es ist jedoch wichtig, die F-Droid-Version von Termux zu verwenden, da die Installation von Google Play, GitHub oder dem NetHunter-Store häufig zu Fehlern führt – ich persönlich hatte beim Ausprobieren dieser Quellen Probleme. Hier alle notwendigen Schritte:

Installieren Sie Termux von F-droid.

Öffnen Sie Termux und führen Sie diese Befehle aus (nicht als Superuser):

Jetzt sollten Sie bettercap in Termux ausführen können. Vergessen Sie nicht, Termux Superuser-Rechte zu erteilen.

Wenn das Rooten Ihres Android-Geräts keine Option ist oder Sie bettercap unter iOS verwenden möchten, gibt es eine alternative Lösung. Sie können bettercap auf einem Raspberry Pi installieren und von jedem Gerät aus per SSH darauf zugreifen, einschließlich eines nicht gerooteten Android-Geräts, iPhone, iPad, Laptops oder jedes anderen SSH-fähigen Geräts.

Die neuesten Anweisungen zur Installation von bettercap unter Docker, Linux, Windows oder macOS finden Sie im offiziellen Installationshandbuch .
Bettercap-Nutzung und -Schnittstelle

Bettercap kann auf drei verschiedene Arten verwendet werden:

Web-Benutzeroberfläche (UI)
Die einfachste Methode, ideal für Anfänger, die mit bettercap noch nicht vertraut sind.

Interaktiver Modus (CLI) –
Eine Befehlszeilen-Sitzung im Terminal, die den Zugriff auf erweiterte Funktionen freigibt.

Skripte –
Nutzen Sie die integrierte JavaScript-Engine mit Agenten, um Aufgaben innerhalb der Sitzung zu automatisieren.

In diesem Abschnitt werden wir die einzelnen Methoden untersuchen, einschließlich der Einrichtung, Aktivierung wichtiger Funktionen und effektiven Nutzung. Am Ende werden Sie ein klares Verständnis davon haben, welcher Ansatz Ihren Anforderungen am besten entspricht.

Web-Benutzeroberfläche

Die Verwendung von bettercap über die Web-Benutzeroberfläche (UI) ist die einfachste und benutzerfreundlichste Methode. Bevor Sie die Web-UI verwenden können, müssen Sie Caplets herunterladen – vordefinierte Befehlsskripte, die verschiedene Aufgaben automatisieren.

Um alle erforderlichen Caplets von GitHub zu installieren, führen Sie den folgenden Befehl aus:

bettercap -eval "caplets.update; ui.update; q"

 

Wenn Sie die neueste Version von NetHunter verwenden, sollte dieser Befehl problemlos funktionieren. Wenn Sie jedoch eine ältere Version verwenden, kann bei der Ausführung ein Fehler auftreten. Ich erkläre später, wie Sie diesen Fehler beheben können.

Wenn alles reibungslos läuft, sollten Sie Protokolle sehen, die bestätigen, dass die Caplets und die neueste UI-Version erfolgreich installiert wurden.

Jetzt können wir das Webpanel mit dem folgenden Befehl starten:

bettercap -caplet http-ui

Ergebnis der Protokollhinweise: Server- und API-Module erfolgreich gestartet.

Wie in den Protokollen vorgeschlagen, müssen wir zum Zugriff auf das Webpanel localhost im Browser öffnen. Im Browser müssen wir zuerst die Anmeldeinformationen eingeben. Der Standardbenutzername und das Standardkennwort sind user und pass. Sie können sie in /usr/local/share/bettercap/caplets/http-ui.capder Datei ändern.

Sobald Sie sich anmelden, wird höchstwahrscheinlich ein Fehler auftreten, der dazu führt, dass das Webpanel nicht funktioniert. Ich hatte das gleiche Problem mit verschiedenen Versionen von NetHunter.

Jetzt werden wir dieses Problem beheben. Ich konnte eine von DroidKali gepostete Lösung finden , die vorschlug, zusätzliche Pakete zu installieren und Bettercap neu zu installieren. Diese Lösung behebt auch einen zuvor erwähnten Fehler „Beim Ausführen von ‚ ui.update‘ tritt ein Fehler auf“ und ein Problem mit einem fehlenden Bluetooth Low Energy (BLE)-Modul, über das wir später sprechen werden. Hier ist eine Reihe von Befehlen, die ausgeführt werden müssen.

Jetzt sollte Ihre Weboberfläche für Bettercap korrekt angezeigt werden.

Wenn Sie auf einem anderen Computer, z. B. einem Laptop, auf das Webpanel von bettercap zugreifen möchten, können Sie die Remote-UI-Option verwenden, die den HTTPS-Server mit API-Modul startet und die TLS-Zertifikate automatisch generiert. Die Remote-Sitzung kann mit folgendem Befehl gestartet werden:

bettercap -caplet https-ui

Die Befehlsprotokolle informierten uns darüber, dass alles erfolgreich ausgeführt wurde. Um mich von meinem Laptop aus mit NetHunter zu verbinden, habe ich den Chrome-Browser verwendet. Zunächst müssen Sie akzeptieren, dass Sie auf eine nicht vertrauenswürdige Site zugreifen, da der Browser dem Zertifikat nicht vertraut. Dann müssen Sie sich mit den Standardanmeldeinformationen von user und pass anmelden, oder Sie können diese in der /usr/local/share/bettercap/caplets/https-ui.capDatei ändern.

Alle Optionen des Webpanels werden im Abschnitt „Interaktiver Modus“ erläutert.

Interaktiver Modus

Wenn Sie erweiterte Funktionen in bettercap verwenden möchten, können Sie dessen Befehlszeilenschnittstelle verwenden, die auch als interaktiver Modus bezeichnet wird. Mithilfe interaktiver Sitzungen können Sie Befehle ausführen, Module aktivieren oder deaktivieren, Ausgaben anpassen und filtern, Auslöser für verschiedene Ereignisse festlegen und vieles mehr. Um den interaktiven Modus zu starten, geben Sie in Termux oder NetHunter Terminal bettercap ein und drücken Sie die Eingabetaste. Um die Verwendung und die verschiedenen Argumente anzuzeigen, die Sie verwenden können, geben Sie ein bettercap -h.

Während der interaktiven Sitzung können Sie help eine Liste der verfügbaren Befehle und Module anzeigen. Befehle sind selbsterklärend und in den folgenden Abschnitten werden wir ihre Verwendung durchgehen. Unter den Befehlen sind die verfügbaren Module und ihr Status sichtbar.

Für einen besseren Überblick über alle Module und ihre Verwendung empfehle ich Ihnen dringend, alle Module oder zumindest diejenigen durchzugehen, die Sie verwenden möchten. Um Befehle und modulspezifische Hilfe aufzulisten, verwenden Sie help und den Namen des Moduls, z. B. help ble.recon.

Ziemlich unkompliziert, aber es wird noch besser. Wirklich praktisch ist die Autovervollständigungsfunktion, die durch Drücken aktiviert wird, um TAB Befehle einzugeben und alle ihre Optionen anzuzeigen.

Sie können Shell-Befehle auch innerhalb der interaktiven Sitzung ausführen, indem Sie ein „!“ voranstellen. Dies kann beispielsweise nützlich sein, wenn Sie Ihren WLAN-Adapter in den Überwachungsmodus versetzen möchten.

Wenn Sie wiederholte Aktionen mit demselben oder einem ähnlichen Befehlssatz ausführen müssen, müssen Sie diese nicht manuell eingeben. Um beispielsweise einen WLAN-Zugangspunkt zu erstellen, müssen Sie etwa 12 Befehle eingeben. Das manuelle Eintippen kostet Zeit und erfordert, dass Sie sich die Befehle in der richtigen Reihenfolge merken. Um Zeit zu sparen, können Sie diese Aktionen mithilfe von Caplets oder eval Argumenten automatisieren.

Bewertung

Mit eval Argumenten aus der Befehlszeile können Sie einen oder mehrere durch „ ;“ getrennte Befehle auslösen. Dies ist eine praktische Methode zum Automatisieren Ihrer Aufgaben. Um beispielsweise WLAN im Überwachungsmodus zu verwenden und die Ergebnisse nach 5 Sekunden anzuzeigen, können wir Folgendes ausführen:

bettercap -eval “set wifi.interface wlan1; wifi.recon on; sleep 5; wifi.show”

In Fällen, in denen Sie lieber Variablen wie die Wi-Fi-Schnittstelle eingeben möchten, können Sie einen Benutzer mit dem Lesebefehl zur Eingabe auffordern:

bettercap -eval “sleep 1; read wifi.interface \”Enter wlan interface to use: \”; wifi.recon on; sleep 5; wifi.show”

Der Nachteil bei der Verwendung eval ist, dass Sie diese Befehle entweder immer noch schreiben oder aus einer Textdatei kopieren und einfügen müssen. Dieser Nachteil wird durch Caplets behoben.

Tabletten

Einfach ausgedrückt sind Caplets Skripte mit .cap Erweiterungen, die zur Automatisierung von Aufgaben verwendet werden können. Der Inhalt von Caplet-Dateien ist eine Liste von Befehlen (dieselben wie für eval), die in einer Datei gespeichert und während einer interaktiven Sitzung ausgeführt werden. Die Liste der vordefinierten Caplets ist im offiziellen GitHub-Repo verfügbar . Sie können sie auch direkt über die Befehlszeile installieren oder aktualisieren, indem Sie Folgendes verwenden:

bettercap -eval “caplets.update”

Um installierte oder aktualisierte Caplets anzuzeigen, können Sie Folgendes verwenden:

bettercap -eval “caplets.show”

Wenn Sie die zuvor genannten Befehle zur Installation von bettercap verwendet haben – im Falle einer nicht funktionierenden Web-Benutzeroberfläche – werden die heruntergeladenen Caplets unter /root/caplets/folgendem Pfad gespeichert. Andernfalls werden sie standardmäßig unter gespeichert /usr/share/bettercap/caplets/.

Skripterstellung

Bettercap-Skripte sind – im Vergleich zu eval und caplets – ausgefeilter in der Anwendung, da sie auf verschiedene Ereignisse reagieren können, z. B. wenn ein neues Gerät im Netzwerk entdeckt wird, Sie informieren, wenn sich ein bestimmtes Gerät mit einer MAC-Adresse in Ihrer drahtlosen Umgebung befindet, benachrichtigen, wenn eine unbekannte MAC-Adresse eine Verbindung zu Ihrem Netzwerk herstellt, nicht auf der Whitelist stehende MAC-Adressen deauthentifizieren und Sie sogar durch Senden einer Nachricht an Telegram benachrichtigen können.

Diese Skripte sind in JavaScript geschrieben und lassen sich am einfachsten über die Befehlszeile mit Argumenten laden -script . Sie können sie auch über eine interaktive Sitzung ausführen, aber das macht wenig Sinn, da Sie längere Befehle schreiben müssen:

run('help');
run('!airmon-ng start wlan1');

Hier ist ein Beispiel für ein einfaches Skript, das protokolliert, ob ein Gerät mit einer bestimmten MAC-Adresse in Ihrem Netzwerk erscheint. Das Skript informiert uns, wann PlayStation5 ein- und ausgeschaltet wurde.

run('net.recon on');
run('net.probe on');
run('events.ignore sys.log');
run('events.ignore endpoint.new');

onEvent('endpoint.new', onNewEndpoint);
onEvent('endpoint.lost', onLostEndpoint);
function onNewEndpoint(event) {

    var endpoint = event.data;
    var PS5_mac = 'eb:bb:bb:bb:bb:b9';
    if(endpoint.mac == PS5_mac){
        log('PS5 has been turned on [' + endpoint.mac + ']');
    }
}

function onLostEndpoint(event) {
    var endpoint = event.data;
    var PS5_mac = 'eb:bb:bb:bb:bb:b9';
    if(endpoint.mac == PS5_mac){

  
      log_error('PS5 has been turned off [' + endpoint.mac + ']');
    }
}

 

Dies waren Möglichkeiten, wie man bettercap verwenden kann. Anfängern würde ich empfehlen, mit der Web-Benutzeroberfläche zu beginnen, um die Möglichkeiten über die benutzerfreundliche Oberfläche kennenzulernen, und dann zur interaktiven Sitzung überzugehen und das volle Potenzial von bettercap zu „entfesseln“. Wenn Sie mit den Optionen, Befehlen und deren Kombinationen vertraut sind, können Sie mit der Aufgabenautomatisierung mithilfe von Skripten fortfahren.

Nachdem wir nun wissen, wie man Bettercap verwendet, können wir mit der Modulverwendung fortfahren.

Module

In diesem Abschnitt werden wir verschiedene Bettercap-Module in einem mobilen Hacking-Szenario untersuchen. Dabei verwenden wir ein Android-Gerät mit einem externen WLAN-Adapter, der den Monitormodus und die Paketinjektion unterstützt. Da wir als Penetrationstester keinen direkten Zugriff auf ein Netzwerk haben, besteht unser Ziel darin, die Fähigkeiten von Bettercap zu testen, indem wir Netzwerkaufklärung durchführen, WLAN-Passwörter knacken und den auf mein wifi_hacking_labNetzwerk abzielenden Datenverkehr analysieren .

W-lan

Mithilfe wifi des Moduls können wir verschiedene drahtlose Angriffe durchführen und Pakete in der Luft überwachen, um nahegelegene Zugriffspunkte und deren Clients zu entdecken, betrügerische Zugriffspunkte zu erstellen, Handshakes aufzuzeichnen, Clients zu deauthentifizieren usw.

In unserem Szenario sind wir über unseren externen WLAN-Adapter (wlan1) mit keinem drahtlosen Netzwerk verbunden und unser Ziel ist es, mit dem WLAN-Modul herumzuspielen. Lassen Sie uns zunächst den Überwachungsmodus auf unserem externen Adapter mit dem folgenden Befehl aktivieren:

airmon-ng start wlan1

oder mithilfe von Befehlen:

ip link set wlan1 down
iw wlan1 set monitor mode
ip link set wlan1 up

Um zu überprüfen, ob sich die Schnittstelle im Monitormodus befindet, können Sie verwenden iwconfig wlan1.

Der Monitormodus ist ein spezieller Modus eines WLAN-Adapters, der es uns ermöglicht, Rohdatenpakete aus der Luft zu erfassen. Diese Daten können dann zur Analyse und Überwachung drahtloser Netzwerke sowie zum Starten verschiedener Arten von Angriffen verwendet werden. Jetzt können wir bettercap mit iface Argumenten ausführen und unsere Schnittstelle im Monitormodus bereitstellen, in meinem Fall ist es wlan1:

bettercap -iface wlan1

Dies ist unsere primäre Schnittstelle, mit der wir arbeiten werden. Um alle Optionen und Parameter aufzulisten, verwenden Sie help wifi. Unten können Sie die verfügbaren Optionen sehen, um ein Bild mit möglichen Verwendungsoptionen zu erstellen.

wifi (not running): A module to monitor and perform wireless attacks on 802.11.
wifi.recon on : Start 802.11 wireless base stations discovery and channel hopping.
wifi.recon off : Stop 802.11 wireless base stations discovery and channel hopping.
wifi.clear : Clear all access points collected by the WiFi discovery module.
wifi.recon MAC : Set 802.11 base station address to filter for.
wifi.recon clear : Remove the 802.11 base station filter.
wifi.client.probe.sta.filter FILTER : Use this regular expression on the station address to filter client probes, 'clear' to eset the filter.
wifi.client.probe.ap.filter FILTER : Use this regular expression on the access point name to filter client probes, 'clear' to reset the filter.
wifi.deauth BSSID : Start a 802.11 deauth attack, if an access point BSSID is provided, every client will be deauthenticated, otherwise only the selected client. Use 'all', '*' or a broadcast BSSID (ff:ff:ff:ff:ff:ff) to iterate every access point with at least one client and start a deauth attack for each one.
wifi.probe BSSID ESSID : Sends a fake client probe with the given station BSSID, searching for ESSID.
wifi.channel_switch_announce bssid channel  : Start a 802.11 channel hop attack, all client will be force to change the channel lead to connection down.
wifi.fake_auth bssid client : send an fake authentication with client mac to ap lead to client disconnect
wifi.assoc BSSID : Send an association request to the selected BSSID in order to receive a RSN PMKID key. Use 'all', '*' or a broadcast BSSID (ff:ff:ff:ff:ff:ff) to iterate for every access point.
wifi.ap : Inject fake management beacons in order to create a rogue access point.
wifi.show.wps BSSID : Show WPS information about a given station (use 'all', '*' or a broadcast BSSID for all).
wifi.show : Show current wireless stations list (default sorting by essid).
wifi.recon.channel CHANNEL : WiFi channels (comma separated) or 'clear' for channel hopping.


Parameters


wifi.ap.bssid : BSSID of the fake access point. (default=<random mac>)
wifi.ap.channel : Channel of the fake access point. (default=1)
wifi.ap.encryption : If true, the fake access point will use WPA2, otherwise it'll result as an open AP. (default=true)
wifi.ap.ssid : SSID of the fake access point. (default=FreeWiFi)
wifi.ap.ttl : Seconds of inactivity for an access points to be considered not in range anymore. (default=300)
wifi.assoc.acquired : Send association to AP's for which key material was already acquired. (default=false)
wifi.assoc.open : Send association requests to open networks. (default=false)
wifi.assoc.silent : If true, messages from wifi.assoc will be suppressed. (default=false)
wifi.assoc.skip : Comma separated list of BSSID to skip while sending association requests. (default=)
wifi.channel_switch_announce.silent : If true, messages from wifi.channel_switch_announce will be suppressed. (default=false)
wifi.deauth.acquired : Send wifi deauth packets from AP's for which key material was already acquired. (default=false)
wifi.deauth.open : Send wifi deauth packets to open networks. (default=true)
wifi.deauth.silent : If true, messages from wifi.deauth will be suppressed. (default=false)
wifi.deauth.skip : Comma separated list of BSSID to skip while sending deauth packets. (default=)
wifi.fake_auth.silent : If true, messages from wifi.fake_auth will be suppressed. (default=false)
wifi.handshakes.aggregate : If true, all handshakes will be saved inside a single file, otherwise a folder with per-network pcap files will be created. (default=true)
wifi.handshakes.file : File path of the pcap file to save handshakes to. (default=~/bettercap-wifi-handshakes.pcap)
wifi.hop.period : If channel hopping is enabled (empty wifi.recon.channel), this is the time in milliseconds the algorithm will hop on every channel (it'll be doubled if both 2.4 and 5.0 bands are available). (default=250)
wifi.interface : If filled, will use this interface name instead of the one provided by the -iface argument or detected automatically. (default=)
wifi.region : Set the WiFi region to this value before activating the interface. (default=)
wifi.rssi.min : Minimum WiFi signal strength in dBm. (default=-200)
wifi.show.filter : Defines a regular expression filter for wifi.show (default=)
wifi.show.limit : Defines limit for wifi.show (default=0)
wifi.show.manufacturer : If true, wifi.show will also show the devices manufacturers. (default=false)
wifi.show.sort : Defines sorting field (rssi, bssid, essid, channel, encryption, clients, seen, sent, rcvd) and direction (asc or desc) for wifi.show (default=rssi asc)
wifi.skip-broken : If true, dot11 packets with an invalid checksum will be skipped. (default=true)
wifi.source.file : If set, the wifi module will read from this pcap file instead of the hardware interface. (default=)
wifi.sta.ttl : Seconds of inactivity for a client station to be considered not in range or not connected to its access point anymore. (default=300)
wifi.txpower : Set WiFi transmission power to this value before activating the interface. (default=30)

Wenn wir wissen möchten, welche Pakete in unserer Umgebung durch die Luft fliegen, müssen wir mithilfe eines Befehls die Aufklärung aktivieren wifi.recon on, um drahtlose Netzwerke zu scannen und zu analysieren. Dadurch werden drahtlose Netzwerke erkannt und Informationen wie SSIDs, MAC-Adressen, Signalstärke, Geräteherstellername, Probeanfragen, Kanäle, Anzahl der Clients und verwendete Verschlüsselungstypen gesammelt.

Alle diese Informationen sind in den Konsolenprotokollen sichtbar. Führen Sie aus, um die Liste der aktuellen Wireless-Stationen anzuzeigen wifi.show. Es scheint einen Fehler vorzuliegen, denn wenn ich diesen Befehl im Hochformat ausführe, kann ich die angezeigten Ergebnisse nicht richtig sehen. Um das zu umgehen, muss ich ins Querformat wechseln, um die Befehlsergebnisse zu sehen. Manchmal muss man sogar zwischen den Terminal-Registerkarten wechseln, um die aktuelle zu aktualisieren oder sogar die NetHunter-Terminal-App neu zu starten. Eine andere Möglichkeit, dieses lästige Problem zu vermeiden, besteht darin, bettercap von KeX aus auszuführen, was bedeutet, dass Sie eine Desktop-GUI Kali auf Ihrem Android ausführen und die KeX VNC-App verwenden, um eine Verbindung damit herzustellen. Ich habe Ihnen bereits gezeigt, wie Sie es in NetHunter Hacker V einrichten und ausführen: So verwenden Sie MAC Changer, KeX und richten USB Arsenal ein.

Anhand des Scan-Ergebnisses können wir erkennen, welche Netzwerke sich in unserer Umgebung befinden und sogar, wie viele Clients gerade verbunden sind. Da uns die Station interessiert, wifi_hacking_labdie auf Kanal 1 läuft, werden wir nur noch auf diesem Kanal hören, damit wir in Zukunft keine Daten verpassen.

 

Um das manuelle Eingeben von Befehlen zu vermeiden oder die Protokolle nur nach den Nachrichten zu filtern, die Sie interessieren, können Sie events.streamund ticker Module verwenden.

Sie können beispielsweise die Tabelle mit den aktuell erkannten WLAN-Netzwerken in einer Schleife alle 3 Sekunden mit dem folgenden Befehl anzeigen. Um den oben genannten Fehler im Terminal zu beheben, führe ich bettercap in KeX aus.

clear; set ticker.commands “wifi.show”; set ticker.period 3; ticker on

Mithilfe events.streamdes Moduls können Sie Testpakete oder verlorene Clients filtern, nur Handshakes protokollieren, auf das Auftreten von Ereignissen warten usw.

In unserem Szenario sind wir am wifi_hacking_labNetzwerk interessiert. Wie Sie sich vielleicht denken können, steht dieser Zugangspunkt unter meiner Kontrolle und ist Teil unseres Schemas. Versuchen Sie niemals, auf Netzwerke zuzugreifen, zu denen Sie keine Berechtigung haben!

Unser Ziel ist es, eine Verbindung zum wifi_hacking_labNetzwerk herzustellen und die angeschlossenen Geräte und das gesamte Netzwerk mithilfe weiterer Bettercap-Module zu testen. Aber zuerst müssen wir eine Verbindung zum Netzwerk herstellen, das WPA2-Verschlüsselung verwendet, ohne das Passwort zu kennen. Ich verwende WPA2-verschlüsselte Netzwerke, in der Verschlüsselungsspalte können jedoch insgesamt fünf Haupttypen von Sicherheitsstufen aufgeführt werden.

Offene Netzwerke: Offene Netzwerke erfordern keinerlei Verschlüsselung. Sie sind die am wenigsten sichere Art von WLAN-Netzwerken, da sie jedem den Zugriff auf das Netzwerk ohne Authentifizierung ermöglichen.

WEP-Netzwerke : WEP-Netzwerke verwenden das Verschlüsselungsprotokoll Wired Equivalent Privacy (WEP), um über das Netzwerk übertragene Daten zu schützen. Sie gelten als mäßig sicher, können aber von Angreifern leicht geknackt werden.

WPA-Netzwerke: WPA-Netzwerke verwenden das Verschlüsselungsprotokoll Wi-Fi Protected Access (WPA), das sicherer ist als WEP. WPA-Netzwerke gelten als sicher, können aber dennoch für bestimmte Angriffe anfällig sein.

WPA2-Netzwerke : WPA2-Netzwerke verwenden das Verschlüsselungsprotokoll Wi-Fi Protected Access II (WPA2), das die sicherste Art von WLAN-Netzwerk ist. WPA2-Netzwerke gelten als sicher und sind schwer zu knacken. Ein Angreifer kann jedoch einen 4-Wege-Handshake zwischen einem verbundenen Client und einem Zugriffspunkt abfangen und einen Brute-Force- oder Wörterbuchangriff verwenden, um ein Kennwort zu knacken. Bei einem Brute-Force-Angriff probiert der Angreifer alle möglichen Zeichenkombinationen aus, bis er das richtige Kennwort gefunden hat. Bei einem Wörterbuchangriff verwendet der Angreifer eine Wortliste, um zu versuchen, das Kennwort zu erraten.

WPA3-Netzwerke : WPA3-Netzwerke verwenden die neueste Version des Verschlüsselungsprotokolls WiFi Protected Access (WPA). Es ist ein sichereres Protokoll als WPA2 und wurde entwickelt, um die Schwächen von WPA2 zu beheben. Es verwendet stärkere Verschlüsselungsalgorithmen, um es Angreifern schwerer zu machen, die Verschlüsselung zu knacken, und enthält außerdem ein neues Protokoll namens „Opportunistic Wireless Encryption“ (OWE). OWE ermöglicht es Geräten, sich gegenseitig zu authentifizieren, ohne dass ein vorab freigegebener Schlüssel erforderlich ist, was es sicherer als WPA2 macht.

Da wir nun mehr über die Schwachstellen von WPA2 wissen, können wir versuchen, einen Handshake abzufangen und ihn mithilfe eines Wörterbuchangriffs zu knacken.

Es gibt zwei Methoden, um den Handshake durchzuführen: passiv und aktiv.

Im passiven Modus überwacht der Angreifer einfach die Pakete und wartet auf einen Handshake, wenn sich ein neues Gerät mit dem Netzwerk verbindet. Diese Methode kann lange dauern, da der Angreifer warten muss, bis sich ein neues Gerät verbindet. Auf der anderen Seite ist sie weniger störanfällig und erfordert keine aktive Aktion eines Hackers.

Im aktiven Modus sendet der Angreifer ein Deauthentifizierungspaket an den Router, das dazu führt, dass alle verbundenen Geräte die Verbindung trennen und dann erneut herstellen. Diese Methode ist viel schneller als der passive Modus, da der Angreifer nicht auf die Verbindung eines neuen Geräts warten muss. Der aktive Modus wird jedoch mit größerer Wahrscheinlichkeit vom Router erkannt, sodass er normalerweise nur als letzte Option verwendet wird.

Wir verwenden die aktive Methode. Fahren wir mit unserem Szenario fort, in dem wir nur einen bestimmten Kanal unseres wifi_hacking_labNetzwerks überwachen. Seit ich den Router neu gestartet habe, läuft er jetzt auf Kanal 5.

Um einen Deauthentifizierungsangriff zu starten, verwenden wir einen Befehl, wifi.deauth 64:66:b3:43:d1:24bei dem die MAC-Adresse die Adresse unseres Zielzugangspunkts ist. Dieser Angriff unterbricht eine Wi-Fi-Verbindung, indem er ein gefälschtes Deauthentifizierungspaket an den Router sendet, was dazu führt, dass alle verbundenen Geräte die Verbindung trennen und dann wiederherstellen. Wenn die Clients die Verbindung wiederherstellen, erfassen wir einen Handshake, der dazu dient, Geräte für einen Zugangspunkt – für das wifi_hacking_labNetzwerk – zu autorisieren. Die Datei mit dem Handshake wird standardmäßig /root/bettercap-wifi-handshakes.pcapwie in Abbildung 24 zu sehen gespeichert.

Wir brauchen auch eine Datei mit einer Liste von Passwörtern. NetHunter bietet eine Standard-Wortliste unter /usr/share/wordlistsoder Sie können sie mit installierenapt install wordlists.

Da wir der Einfachheit halber nicht so viel Zeit damit verbringen möchten, den Vorgang des Passwortvergleichs zu beobachten, habe ich eine eigene Wortliste erstellt und stelle sicher, dass unser Passwort vorhanden ist.

Mithilfe von aircrack-ngvergleichen wir den aufgezeichneten Handshake mit jedem Wort in der Wortlistendatei und versuchen, eine Übereinstimmung zu finden. Wenn eine Übereinstimmung gefunden wird, wurde das Passwort für das WLAN-Netzwerk erfolgreich geknackt.

Dies wird durch die Verwendung eines Befehls erreicht, aircrack-ng -a2 -b 64:66:b3:43:d1:24 -w wordlist.txt /root/bettercap-wifi-handshakes.pcapdessen Argumente -a2die Verschlüsselung unseres Netzwerks (WPA2) definieren, -bdie MAC-Adresse des Zielzugriffspunkts (BSSID) und -wder Pfad zur Wortlistendatei sind.

Vergessen Sie nicht, dass ein Wörterbuchangriff nur so wirkungsvoll ist wie unsere Wortliste. Wenn das Passwort nicht in der Wortliste steht, können Sie es nicht abgleichen.

Wir können den Handshake auch mit knacken hashcat, aber zuerst müssen wir alle erforderlichen Tools installieren, wie beispielsweise hcxdumptool und hcxpcapngtool mit dem folgenden Befehl:

apt install hcxtools

Eines der Tools aus dem installierten hcx-Toolset ist hcxpcapngtool, das uns dabei hilft, PCAP-Dateien, die erfasste Handshakes mit Erweiterungen wie enthalten pcapng, pcap in cap Hash-Formate zu konvertieren, die es hashcat verstehen. Als Eingabeargumente verwenden wir -o mit dem Pfad zur konvertierten Hash-Datei. Parameter -Eist eine Ausgabewortliste, die Namen der identifizierten ESSIDs und den Pfad zur PCAP-Datei enthält. Den vollständigen Befehl können Sie unten sehen.

hcxpcapngtool -o handshakes.22000 -E wordlist /root/bettercap-wifi-handshakes.pcap

Alternativ können Sie Ihre PCAPs mit dem Online-Hashcat-Konverter konvertieren , wo Sie Ihre Datei mit Handshake (bis zu 20 MB groß) hochladen und den konvertierten Hash herunterladen können.

Hashcat ist bereits in NetHunter vorhanden, wir müssen es also nicht manuell installieren. Wir benötigen lediglich eine Wortlistendatei. Das Argument -m gibt den Hash-Modus der Eingabedatei an. Beim Knacken von Handshakes oder PMKIDs müssen wir den Modus 22000 verwenden, der angibt, dass unsere Eingabedatei PMKIDs, EAPOL-Nachrichten und WPA-Handshakes enthalten kann und Hashcat sie trotzdem erfolgreich knacken kann.

Für den Rest des Befehls gibt es den Pfad zur Hash-Datei und zur Wortliste.

hashcat -m 22000 handshakes.22000 wordlist.txt

Diesmal haben wir erfolgreich das Passwort für einen weiteren Zugangspunkt mit dem Namen Virus geknackt. Zu Testzwecken und um mir Zeit zu sparen, war das richtige Passwort in meiner Wortliste enthalten.

PMKID-Angriff ohne verbundene Clients

Falls keine Clients mit dem Zugriffspunkt verbunden sind und ein Netzwerk durch WPA/WPA2 PSK-Verschlüsselung (Pre-Shared Key) geschützt ist, können wir mit einem „neuen“ Angriff trotzdem ein Passwort erlangen. Bei diesem Angriff – der 2018 entdeckt wurde – erfassen wir nur einen einzigen EAPOL-Frame (keinen vollständigen 4-Wege-Handshake wie im vorherigen Szenario), den wir dann mit knacken hashcat.

Dies ist möglich, weil der Angreifer direkt mit dem Zugriffspunkt kommuniziert und nicht auf den Handshake zwischen Client und Zugriffspunkt wartet.

Als Voraussetzung müssen wir installieren hcxtools, wie wir es zuvor im Wörterbuchangriffsszenario getan haben. Teil dieser Installation ist ein Tool hcxdumptool , mit dem wir eine PMKID abrufen, die den Pre-Shared Key (PSK) enthält. Sie können den folgenden Befehl verwenden, um den Luftscan mit -ials drahtlose Schnittstelle und -o Ausgabedatei zu starten und --enable_statusdie Echtzeitanzeige von EAPOL, Zuordnung, Authentifizierung, Beacon und Sonden mithilfe einer Bitmaske zu aktivieren.

hcxdumptool -i wlan1 -o dumpfile.pcapng --enable_status=15

Dieses Tool funktioniert auf dem Desktop von Kali Linux hervorragend, aber ich konnte es auf meinen Geräten OnePlus 7 Pro oder 7T Pro nicht zum Laufen bringen, selbst beim Testen mit verschiedenen unterstützten WLAN-Adaptern. Die Fehlerausgabe ist in Abbildung 28 zu sehen.

In der folgenden Abbildung 29 sehen Sie einen Vergleich der erfolgreichen Scan-Ausgabe von hcxdumptool, jedoch ausgeführt auf dem Desktop-Kali (nicht dem Desktop-Kali, das in KeX ausgeführt wird).

Hcxdumptool hat unter Android nicht funktioniert, aber Sie müssen sich keine Sorgen machen, denn wir können mit Bettercap immer noch einen PMKID-Clientless-Angriff auf anfällige Zugriffspunkte durchführen. Während wir uns auf unserer Schnittstelle im Aufklärungsmodus befinden, können wir wifi.assoceinen Befehl ausführen, um eine Assoziationsanfrage an Zugriffspunkte zu senden, um den PMKID-Schlüssel zu erhalten. Dieser Schlüssel wird dann automatisch in unserer Handshake-PCAP-Datei gespeichert und kann verwendet werden, um ein Passwort mit derselben Technik wie zuvor beschrieben zu knacken, nämlich indem die PCAP-Datei hcxpcapngtool in einen Hash konvertiert wird und dann ein Wörterbuchangriff ausgeführt hashcat und eine Wortliste bereitgestellt wird.

Neben dem Wörterbuchangriff, bei dem Sie Passwörter aus einer Wortliste vergleichen, können Sie auch den Brute-Force-Angriffsmodus verwenden, indem Sie eine Maske definieren, die hashcat die Passwortlänge und die zu erratenden Zeichentypen angibt, z. B. Ziffern, Sonderzeichen, Groß- und Kleinschreibung und deren Kombinationen. Für die folgenden Beispiele werden wir ein 9-stelliges Passwort in 2 Sekunden knacken. Aus diesem Grund habe ich das Passwort meines Zugangspunkts in 123456789 geändert, das seit vielen Jahren in der Liste der 10 am häufigsten verwendeten Passwörter steht . Im Befehl geben wir den Brute-Force-Angriffsmodus mit einer -a3 und einer Maske für das zu knackende Passwort an. Jedes Zeichen nach einem ? (Fragezeichen) gibt eine zu erratende Ziffer und deren Anzahl eine Länge an.

hashcat -m 22000 -a 3 hs.22000 ?d?d?d?d?d?d?d?d?d

Basierend auf der hashcat Dokumentation können wir verschiedene Zeichensätze verwenden, wie zum Beispiel:

Das Ergebnis des Knackens eines 9-stelligen Passwortes können Sie in der folgenden Abbildung 30 sehen.

Um es schwieriger zu machen, habe ich das Passwort in password123 geändert und ?a?a?a?a?a?a?a?a?a?a?aeinen Zeichensatz verwendet, der alle möglichen Zeichenkombinationen angibt. Aber ich habe eine Fehlermeldung erhalten und hashcat konnte nicht fortfahren. Wahrscheinlich weiß das Programm, dass es ewig dauern würde, ein so schwieriges Passwort mit einer Maske zu knacken 😊. Ich habe mich entschieden, eine benutzerdefinierte Zeichenmaske mit Argumenten zu erstellen . Dadurch kann ich als Zeichensatz eine Kombination aus Ziffern ( ) und Kleinbuchstaben ( ) -1verwenden . Sie können den Befehl unten sehen:1dl

hashcat -m 22000 -a 3 hs.22000 -1 ?d?l ?1?1?1?1?1?1?1?1?1

Smartphones sind praktisch, um Handshakes aufzuzeichnen, aber wie Sie vielleicht schon vermutet haben, sind sie nicht zum Knacken von Passwörtern geeignet, da sie aufgrund ihrer Hardwareressourcen nicht praktikabel sind. Sie können sie immer noch in die Cloud oder auf den Computer hochladen und sie entweder mit CPU oder GPU knacken.

Wenn Sie andere ähnliche Angriffe wie Karma und Evil Twin erkunden möchten, die Probeanfragen von Geräten in der Nähe ausnutzen, sehen Sie sich meinen ausführlichen Blogbeitrag zu Wi-Fi-Karma-Angriffen mit Mobilgeräten an .

Betrügerischer Zugriffspunkt

Bettercap kann verwendet werden, um einen „gefälschten“ Zugangspunkt bereitzustellen. Dies kann verwendet werden, um Benutzer dazu zu verleiten, sich mit dem gefälschten Zugangspunkt statt mit dem legitimen Zugangspunkt zu verbinden. Sobald eine Verbindung mit dem gefälschten Zugangspunkt besteht, kann der Angreifer den Datenverkehr abfangen und auf die Daten des Benutzers zugreifen.

Der gefälschte Zugangspunkt kann auch für „Evil Twin“-Angriffe verwendet werden. Dabei erstellt der Angreifer ein bösartiges WLAN-Netzwerk mit demselben Namen wie ein legitimes Netzwerk. Wenn Benutzer versuchen, eine Verbindung mit dem legitimen Netzwerk herzustellen, stellen sie stattdessen eine Verbindung mit dem bösartigen Netzwerk her, sodass der Angreifer ihren Datenverkehr abfangen kann.

In diesem Abschnitt konzentrieren wir uns nur auf die Erstellung eines gefälschten und Evil-Twin-Zugangspunkts.

Gefälschter Zugangspunkt

Das Erstellen eines gefälschten Zugriffspunkts umfasst die folgenden Schritte und Befehle:

Bevor wir einen Fake-Access-Point erstellen, müssen wir sicherstellen, dass unsere drahtlose Netzwerkschnittstelle betriebsbereit ist. Dazu können wir den folgenden Befehl verwenden:

ifconfig

Dieser Befehl listet alle verfügbaren Netzwerkschnittstellen auf unserem System auf. Wir müssen unsere externe drahtlose Schnittstelle (z. B. wlan1) identifizieren und mit dem folgenden Befehl sicherstellen, dass sie betriebsbereit ist:

ifconfig wlan1 up

Als nächstes müssen wir den Monitormodus auf unserer drahtlosen Schnittstelle aktivieren, damit wir den drahtlosen Datenverkehr erfassen können. Dazu können wir den folgenden Befehl verwenden:

airmon-ng start wlan1

Dadurch wird der Überwachungsmodus auf unserer drahtlosen Schnittstelle gestartet.

Sobald der Monitormodus aktiviert ist, können wir bettercap starten, um den gefälschten Zugriffspunkt zu erstellen. Dazu können wir den folgenden Befehl verwenden:

bettercap -iface wlan1

Dadurch wird bettercap gestartet und unsere drahtlose Schnittstelle im Monitormodus verwendet.

Um einen gefälschten Zugangspunkt zu erstellen, können wir die unten aufgeführten Befehle verwenden, in denen wir die SSID ( FakeAP), BSSID, den Kanal, auf dem er ausgeführt wird, und die Art der Verschlüsselung des Zugangspunkts angeben. Wir müssen zuerst die WLAN-Aufklärung aktivieren, damit wir unseren Zugangspunkt starten können.

set wifi.ap.ssid FakeAP
set wifi.ap.bssid de:ad:be:ef:de:ad
set wifi.ap.channel 9
set wifi.ap.encryption false
wifi.recon on; wifi.ap

Dadurch werden Verwaltungs-Beacons als Zugriffspunkt mit dem Namen FakeAP gesendet. Benutzer in der Umgebung sehen dann FakeAP in ihrer Liste. Allerdings werden Beacons nur an andere Geräte gesendet, für die ein solcher Zugriffspunkt vorhanden ist. Bettercap stellt jedoch nicht das erforderliche Backend mit DHCP- und DNS-Setup bereit, um tatsächlich funktionierende Fake-Zugriffspunkte mit Hacker-Gerät in der Mitte (MITM) zu handhaben. Die Einrichtung dieses Servers liegt außerhalb des Rahmens dieses Dokuments.

Evil Twin-Zugangspunkt

Ein Evil-Twin-Angriff ist eine Art von Angriff auf drahtlose Netzwerke, bei dem ein Angreifer einen gefälschten drahtlosen Zugangspunkt einrichtet, der einen legitimen Zugangspunkt imitiert, um Benutzer dazu zu bringen, sich mit ihm zu verbinden. Dieser gefälschte Zugangspunkt wird oft als „Evil Twin“ bezeichnet, da er wie ein legitimer Zugangspunkt aussieht, aber vom Hacker kontrolliert wird. Um ein solches Szenario zu erstellen, muss der Hacker zunächst eine Wi-Fi-Auskundschaftung durchführen, um Probeanfragen von Geräten in Reichweite zu erhalten, die nach bestimmten Netzwerken suchen.

Bei Probeanfragen handelt es sich um Funksignale, die von Geräten gesendet werden, um nach Funknetzwerken in der Nähe zu suchen, mit denen das Gerät zuvor verbunden war oder für die zukünftige Verbindung konfiguriert ist.

Wenn der WLAN-Adapter eines Geräts aktiviert ist, sendet es automatisch einen Probe-Request-Frame, um verfügbare WLANs in der Umgebung zu finden. Dieser Frame enthält Informationen über das Gerät, wie etwa seine MAC-Adresse, sowie den Namen des WLANs, nach dem es sucht.

Während Probeanfragen für die Verbindung von Geräten mit drahtlosen Netzwerken unerlässlich sind, können sie von Angreifern auch zur Netzwerkaufklärung oder zur Durchführung von Evil-Twin-Angriffen verwendet werden.

Bevor wir den Zugriffspunkt einrichten, müssen wir zunächst die Aufklärung und Identifizierung wifi.probe von Anfragen aktivieren und eine davon auswählen, um einen Evil-Twin-Zugriffspunkt mit derselben SSID zu erstellen.

Basierend auf unserem Zielzugriffspunkt können wir mit den folgenden Befehlen seinen bösen Zwilling mit zufälliger BSSID erstellen:

set wifi.ap.ssid free_wifi
set wifi.ap.bssid 8c:8c:8c:8c:8c:8c
set wifi.ap.encryption false
wifi.recon on; wifi.ap

Wie im vorherigen Fall haben wir keinen funktionierenden Evil Twin-Zugangspunkt konfiguriert, der es Hackern ermöglicht, den Datenverkehr abzufangen, sondern nur Beacons zu senden, die von unserem Gerät an Client-Geräte in der Reichweite gesendet werden.

Bluetooth Low Energy-Scannen

Mit dem Bluetooth Low Energy (BLE)-Modul können Sie mit BLE-Geräten in Ihrer Nähe interagieren. Dieses Modul bietet einen leistungsstarken Satz von Tools zur Analyse und Interaktion mit BLE-Geräten.

Ab der Version 2022.4 des NetHunter-Kernels werden integrierte Bluetooth-Adapter zum Scannen einiger Android-Geräte unterstützt. Wenn dies bei Ihrem Gerät nicht der Fall ist, empfehle ich Ihnen, einen externen Bluetooth-Dongle zu verwenden. Dann können wir entweder Ihren internen oder externen Adapter zum BLE-Scannen in Bettercap verwenden. Zuerst müssen Sie sie mit Nethunters Bluetooth Arsenal aktivieren.

Bluetooth aktivieren

Wenn Sie Bluetooth Arsenal zum ersten Mal verwenden , müssen Sie es zuerst Setup und dann Update. Diese Optionen finden Sie in der oberen rechten Ecke, wenn Sie auf die drei Punkte tippen.

Wenn Sie einen externen Adapter haben, schließen Sie ihn mit dem OTG-Adapter an Ihr Android an. Wenn er unterstützt wird, sollte er in der Bluetooth-Schnittstelle als angezeigt werden hci0.

Wenn Sie es nicht sehen können, müssen Sie es manuell aktivieren. Diese Methode funktionierte bei einem meiner Dongles, der von NetHunter unterstützt, aber nicht aktiviert wurde.

Öffnen Sie die NetHunter Terminal-App und geben Sie hciconfig einen Befehl ein, um Informationen zu HCI-Geräten zu erhalten. Wenn es angezeigt wird, versuchen Sie, es zu aktivieren, hciconfig hci0 upwie in Abbildung 35 zu sehen. Wenn Sie die NetHunter-App neu starten, sollte die neu gestartete Bluetooth-Schnittstelle vorhanden sein.

Für internes Bluetooth müssen Sie zuerst alle Dienste wie Bluebinder, Dbus Service, Bluetooth Serviceund Schnittstelle starten, damit ein Adapter angezeigt wird, und dann können wir ihn in bettercap verwenden.

Auf dem linken Gerät sehen Sie ein anderes Menü, da darauf eine ältere Version von NetHunter ausgeführt wird.

Hier sind einige notwendige Befehle für das Bettercap BLE-Modul, die Sie kennen sollten, um Aufklärung, Aufzählung oder Datenschreiben durchzuführen:

Um in der Nähe befindliche BLE-Geräte für weitere Analysen zu identifizieren, können wir ble.reconden Befehl „on command“ verwenden, um nach Geräten in Reichweite zu suchen und Informationen über sie anzuzeigen, einschließlich ihrer MAC-Adresse, ihres Namens und der Signalstärke.

Wir können Gerätemerkmale Flags und Optionen identifizieren, wenn wir Connect dazu in der Lage sind. Meiner Erfahrung nach scheint es sich dabei um eine Markierung zu handeln, die angibt, ob Sie zusätzliche Gerätedetails auflisten können oder nicht. Es scheint einen kleinen Fehler zu geben. Wenn Sie die Ausgabe der Scanergebnisse in Abbildung 38 vergleichen, können wir Gerätenamen sehen, z. B. Apple, Samsung, Beoplay P2 …, diese Spalte „Name“ fehlt jedoch in ble.showder Ausgabe. Dieses Problem kann „behoben“ werden, indem jedes Gerät aufgezählt und die Scanergebnisse erneut angezeigt werden.

Bettercap im lokalen Netzwerk

Im lokalen Netzwerk kann bettercap Aufklärungsarbeiten durchführen, nach neuen Hosts suchen, die Netzwerkkommunikation belauschen, Port-Scans durchführen, MITM ausführen, Geräte im LAN aufwecken (Wake on LAN), die Internetverbindung deaktivieren und vieles mehr.

Mit einfachen Befehlen wie net.recon onkönnen wir neue Hosts im Netzwerk anhand der ARP-Tabelle erkennen. Die ARP-Tabelle zeichnet die mit einem Netzwerk verbundenen IP- und MAC-Adressen auf.

Um mehr Geräte zu erkennen, nicht nur die in der ARP-Tabelle aufgeführten, können wir net.probeein Modul aktivieren, das mDNS-, NetBIOS-, UPnP- und WSD-Erkennungstests an jede IP-Adresse im Subnetz sendet. Um es zu aktivieren, stellen Sie sicher, net.recondass es eingeschaltet ist, und verwenden Sie den Befehl net.probe on. Um Ergebnisse anzuzeigen, verwenden Sie es erneut.

Um ermittelte Metadaten zu einer bestimmten IP-Adresse oder einer Liste von IP-Adressen anzuzeigen, müssen Sie zunächst den Metadatenscan für ermittelte IP-Adressen aktivieren, indem Sie ausführen set net.show.meta true. Um Metadaten für eine bestimmte IP-Adresse anzuzeigen, verwenden Sie den Befehl net.show.meta <IP>. Sie können auch alle Metadaten in einer Tabelle auflisten, indem Sie verwenden net.show.

Sowohl die Aufklärung als auch das Senden von Testpaketen können mit net.recon offund gestoppt werden net.probe off.

Mithilfe syn.scandes Moduls können Sie einen SYN-Port-Scan durchführen, um offene Ports zu ermitteln. Mithilfe des Befehls sys.scan <IP address range> <start with port> <end with port>können Sie eine IP oder einen IP-Adressbereich scannen und entweder einen bestimmten Port oder einen Portbereich scannen. Im folgenden Beispiel habe ich einen Portbereich von 1 bis 500 anhand der IP-Adresse eines Routers gescannt. Um alle offenen Ports in einer Tabelle anzuzeigen, verwenden Sie net.show, stellen Sie jedoch sicher, dass Sie den Metadaten-Scan aktiviert haben ( set net.show.meta true).

Anhand der Ergebnisse des Netzwerkscans, vor allem nach der Sondenerkennung, können Sie Smart-TVs, Android-TV-Dongles, Computer (sofern aktiviert) usw. identifizieren.

Wake-On-LAN

Wake on LAN (WoL) ist ein Netzwerkprotokoll, das es ermöglicht, ein Gerät aus der Ferne einzuschalten, indem ein spezielles Magic Packet an seine Netzwerkschnittstelle gesendet wird. Dies ist nützlich für die Fernverwaltung von Systemen, das Aufwecken inaktiver Geräte oder die Automatisierung von Netzwerkvorgängen.

Mithilfe des Wol- Moduls kann bettercap Wake On Lan (WOL) -Pakete an eine bestimmte MAC-Adresse senden oder an das gesamte Subnetz übertragen. Im folgenden Beispiel habe ich mit dem Befehl WOL-Pakete an einen erkannten Smart-TV gesendet wol.eth <MAC address>. Dieser sendet Ethernet-Pakettyp 0x0847an die Ziel-MAC-Adresse. Alternativ können Sie verwenden, wol.udp <MAC address>dass Pakete an UDP-Port 9 gesendet werden. Nachdem der Endpunkt 192.168.0.175 verloren ging, habe ich ein WoL-Paket gesendet und das Gerät erschien wieder.

HTTP/HTTPS-Sniffing

Um den lokalen Netzwerkverkehr auf Android zu überwachen, empfehle ich die Verwendung von bettercap in Termux. Als ich es in NetHunter Terminal der App getestet habe, trat beim Aktivieren des Moduls immer ein Fehler auf http.proxyund ich konnte keine schnelle Lösung finden. Als Erstes müssen wir ein Netzwerk scannen, wie wir es bereits getan haben, und unser Ziel auswählen.

net.recon on
net.probe on      
net.show

Als Nächstes müssen wir SSLstrip aktivieren, ARP-Spoofing für die Ziel-IP-Adresse auswählen und aktivieren, den HTTP-Proxy und das Sniff-Modul mithilfe der folgenden Befehle aktivieren:

set http.proxy.sslstrip true
set arp.spoof.targets <target_IP_address>
arp.spoof on
http.proxy on
net.sniff on

DNS-Spoofing

Bettercap kann für DNS-Spoofing-Angriffe verwendet werden. Beim DNS-Spoofing wird eine bösartige DNS-Anfrage an den Browser eines Benutzers gesendet, die ihn auf eine bösartige Website umleitet. Der Angreifer kann dann die Daten des Benutzers abgreifen, da er nicht weiß, dass er sich auf einer bösartigen Website befindet.

DNS-Spoofing kann auch verwendet werden, um Malware zu verbreiten oder Phishing-Angriffe zu starten. Der Angreifer kann die gefälschte Website verwenden, um schädliche Dateien zu verteilen oder den Benutzer auf eine Phishing-Seite umzuleiten. DNS-Spoofing funktioniert in der NetHunter-Terminal-App nicht richtig, verwenden Sie deshalb Termux.

Beim DNS-Spoofing wird das Gerät eines Opfers dazu gebracht, eine bösartige IP-Adresse anstelle der legitimen aufzulösen. Wenn die angegriffene Domäne jedoch bereits im System oder Browser des Opfers zwischengespeichert ist, fragt das Gerät den DNS-Server nicht erneut ab, sondern verwendet einfach die gespeicherte (zwischengespeicherte) IP-Adresse. Dies bedeutet, dass die vergiftete DNS-Antwort das Opfer nie erreicht, wodurch der Angriff wirkungslos wird. Damit DNS-Poisoning in solchen Fällen erfolgreich ist, müsste das Opfer seinen DNS-Cache leeren und Browser-Cookies löschen, um das Gerät zu zwingen, eine neue DNS-Auflösung anzufordern. Wenn der Angreifer hingegen eine Domäne anvisiert, die nicht zwischengespeichert ist, fragt das Gerät des Opfers natürlich den DNS-Server ab, wodurch Poisoning ohne Cache-Manipulation möglich wird.

DNS-Spoofing aktivieren

Jetzt müssen Sie DNS-Spoofing in bettercap aktivieren. Sie können dies tun, indem Sie den folgenden Befehl in der bettercap-Konsole ausführen:

set dns.spoof.all true

und aktivieren Sie ARP-Spoof

set arp.spoof.targets <IP_address>

Festlegen der DNS-Spoofing-Domäne

Als nächstes müssen Sie die Domäne festlegen, die Sie fälschen möchten. Wenn Sie beispielsweise fälschen möchten  www.example.com, verwenden Sie den folgenden Befehl:

set dns.spoof.domains www.example.com

Starten Sie den DNS-Spoofing-Angriff

Schließlich können Sie den DNS-Spoofing-Angriff starten, indem Sie den folgenden Befehl ausführen:

dns.spoof on

Jetzt werden alle Anfragen  www. example.com vom Opfercomputer an die von Ihnen angegebene IP-Adresse umgeleitet:

set dns.spoof.address 192.168.0.3

Wenn die besuchte Domäne zwischengespeichert ist, erfolgt durch DNS-Spoofing keine Umleitung zu einer vom Angreifer kontrollierten IP-Adresse.

HID-Angriffe auf 2,4 GHz

Bettercap kann verwendet werden, um drahtlose HID-Angriffe (Human Interface Device) auf 2,4-GHz-Geräte wie drahtlose Tastaturen, Mäuse und andere Eingabeperipheriegeräte auszunutzen. Viele dieser Geräte arbeiten mit ungesicherten oder schwach verschlüsselten Protokollen, was sie anfällig für Keystroke-Injection, Replay-Angriffe und Lauschangriffe macht.

Hier ist eine Liste einiger anfälliger Geräte:

  • Microsoft Wireless Keyboard 800
  • Microsoft Wireless Mouse 1000
  • Microsoft Wireless Mobile Mouse 3500
  • Microsoft All-In-One-Medientastatur
  • Microsoft Sculpt Ergonomische Maus
  • Logitech Kabellose Touch-Tastatur K400r
  • Logitech Marathon M705 Maus
  • Logitech Wave M510 Maus
  • Logitech Kabellose Gaming-Maus G700s
  • Logitech Wireless M325 Maus
  • Kabellose Tastatur Logitech K750
  • Logitech K320 Kabellose Tastatur
  • Dell KM636 Kabellose Maus und Tastatur
  • AmazonBasics MG-0975 Kabellose Maus

Zu Beginn benötigen Sie einen kompatiblen WLAN-Adapter, der den Monitormodus und die Paketinjektion auf 2,4-GHz-Frequenzen unterstützt. Mit bettercap können Sie mit dem folgenden Befehl nach drahtlosen HID-Geräten suchen:

hid.recon on
hid.show

Sobald Sie ein Zielgerät identifiziert haben, können Sie versuchen, durch Keystroke-Injection vordefinierte Befehle zu senden:

hid.inject "STRING Hello, this is a test keystroke."

Wenn dies gelingt, kann ein Angreifer Remote-Befehle auf dem System eines Opfers ausführen, was möglicherweise zu einem unbefugten Zugriff oder zur Ausführung von Malware führt. Um sich gegen solche Angriffe zu schützen, verwenden Sie immer verschlüsselte drahtlose Peripheriegeräte und deaktivieren Sie nicht vertrauenswürdige USB- oder HID-Eingabegeräte auf Ihrem System.

CAN-Bus

Bettercap kann auch zur Schnittstelle mit CAN-Bussystemen (Controller Area Network) verwendet werden, die in Automobilen, Industriesystemen und IoT-Geräten weit verbreitet sind. Da vielen CAN-Bus-Implementierungen die erforderliche Sicherheit fehlt, können Angreifer Fahrzeugsysteme manipulieren, Sicherheitsfunktionen deaktivieren oder sogar die teilweise Kontrolle über kritische Funktionen wie Bremsen oder Beschleunigen übernehmen.

Um mit einem CAN-Bus-Netzwerk zu interagieren, benötigen Sie einen CAN-Schnittstellenadapter (z. B. ein USB-zu-CAN-Gerät) und Root-Zugriff auf Ihrem Android- oder Linux-System. Sobald die Verbindung hergestellt ist, können Sie mit folgendem Befehl nach CAN-Nachrichten suchen:

can.recon on
can.show

Wenn Sie einen anfälligen Endpunkt identifizieren, können Sie versuchen, bösartige CAN-Pakete zu senden, um Fahrzeug- oder IoT-Funktionen zu manipulieren:

can.inject id:0x123 data:0102030405

Beim ethischen Hacken und bei der Sicherheitsforschung sollten Sie immer auf autorisierten Systemen testen und innerhalb der gesetzlichen Grenzen arbeiten. Hersteller können die CAN-Bus-Sicherheit verbessern, indem sie Verschlüsselungs-, Authentifizierungs- und Angriffserkennungsmechanismen implementieren.

Trennen Sie ein Gerät im Netzwerk mit ARP Ban

Der ARP-Ban-Angriff (arp.ban) von Bettercap kann verwendet werden, um den Internetzugang für ein bestimmtes Ziel zu deaktivieren, indem die ARP-Tabelle des Geräts des Opfers beschädigt wird. Im Gegensatz zum ARP-Spoofing, bei dem der Datenverkehr über ein vom Angreifer kontrolliertes Gerät umgeleitet wird, isoliert ARP-Ban das Ziel effektiv, indem die Verbindung zum Netzwerk-Gateway blockiert wird.

So führen Sie einen ARP-Ban-Angriff auf einen bestimmten Benutzer aus:

net.recon on
net.probe on
set arp.spoof.targets <target_IP>
arp.ban on

Dadurch wird verhindert, dass das Zielgerät mit dem Router kommuniziert. Der Internetzugang wird effektiv unterbrochen, die Verbindung zum Netzwerk bleibt jedoch bestehen. Diese Methode ist nützlich für Netzwerksicherheitstests, Kindersicherungen oder die Verwaltung nicht autorisierter Geräte in autorisierten Umgebungen.

Zum Schutz vor ARP-Ban-Angriffen sollten Benutzer statische ARP-Einträge aktivieren, eine Netzwerksegmentierung verwenden und Intrusion Detection Systems (IDS) oder ARP-Überwachungstools einsetzen, um solche Bedrohungen zu erkennen und einzudämmen.

Zusammenfassung der wichtigsten Funktionen

Bettercap ist ein leistungsstarkes Tool für Netzwerksicherheitsbewertungen und Penetrationstests zur Simulation von Angriffen. Egal, ob Sie Netzwerkaufklärung, MITM-Angriffe (Man-in-the-Middle), WLAN-Überwachung oder das Sammeln von Anmeldeinformationen durchführen, bettercap bietet ein effizientes Framework zur Durchführung dieser Aufgaben.

Hier sind die wichtigsten Erkenntnisse:

  • Umfassendes Netzwerk-Scanning – bettercap kann Live-Hosts erkennen, Geräte prüfen und den Netzwerkverkehr auf Schwachstellen analysieren.
  • MITM-Angriffe: Sie ermöglichen die Manipulation des Netzwerkverkehrs, das Abfangen von Kommunikationen und die Ausnutzung schwacher Sicherheitskonfigurationen.
  • Wi-Fi-Überwachung und -Angriffe – Mit der Möglichkeit, Pakete zu sniffen, Clients zu deauthentifizieren, Deauthentifizierung zu erkennen und WPA-Handshakes aufzuzeichnen.
  • Credential Harvesting – Mittels HTTP- und DNS-Spoofing sowie SSL-Stripping kann bettercap Anmeldeinformationen von unsicheren Websites abfangen.
  • Bluetooth- und BLE-Erkennung – Das Tool unterstützt auch das Scannen von Bluetooth- und BLE-Geräten, sodass Sicherheitsexperten drahtlose Peripheriegeräte analysieren können.
  • Rogue Access Points & Evil Twin Attacks – mit bettercap können gefälschte WLAN-Netzwerke eingerichtet werden, um das Benutzerverhalten und die Netzwerksicherheitsrichtlinien zu testen.
  • Funktioniert auf Android (mit Einschränkungen) – bettercap läuft effektiv auf Android-Geräten über Termux, obwohl einige erweiterte Funktionen einen benutzerdefinierten Kernel sowie externe und kompatible WLAN- und Bluetooth-Adapter erfordern.
  • Anpassung und Automatisierung – Mit Caplets und Skripting ermöglicht bettercap Benutzern, Angriffe zu automatisieren und Arbeitsabläufe effizient anzupassen.

So verwenden Sie Bettercap zur Verbesserung Ihrer Netzwerksicherheit

Nachdem wir nun die Angriffsmethoden besprochen haben, die mit Bettercap ausgenutzt werden können, schauen wir uns an, wie es zur Verbesserung Ihrer Netzwerksicherheit eingesetzt werden kann.

Der erste Schritt besteht darin, Ihr Netzwerk mit bettercap zu scannen. Auf diese Weise können Sie alle Geräte in Ihrem Netzwerk sowie Schwachstellen und Sicherheitslücken identifizieren, die von einem Angreifer ausgenutzt werden könnten.

Sobald Sie alle potenziellen Schwachstellen identifiziert haben, ist es an der Zeit, Ihr Netzwerk zu schützen. Dies können Sie erreichen, indem Sie alle bekannten Schwachstellen patchen, starke Authentifizierungs- und Verschlüsselungsprotokolle implementieren und Firewalls und Angriffserkennungssysteme einrichten.

Darüber hinaus sollten Sie bettercap verwenden, um Ihr Netzwerk auf verdächtige Aktivitäten zu überwachen. Dies können Sie tun, indem Sie Warnmeldungen für alle Verbindungsversuche mit dem Netzwerk einrichten und auf verdächtigen Datenverkehr achten.

Abschließende Gedanken

Bettercap ist ein unschätzbar wertvolles Tool für Cybersicherheitsexperten, Penetrationstester und ethische Hacker. Mit viel Macht geht jedoch auch viel Verantwortung einher. Der Missbrauch von Bettercap für unbefugte Angriffe kann rechtliche Konsequenzen nach sich ziehen, da unbefugte Netzwerkmanipulationen in den meisten Ländern illegal sind. Stellen Sie immer sicher, dass Sie eine ausdrückliche Genehmigung haben, bevor Sie Sicherheitsbewertungen in einem Netzwerk durchführen.

Für Sicherheitsforscher bietet bettercap die Möglichkeit, die Techniken von Angreifern zu verstehen, die Widerstandsfähigkeit von Netzwerken zu testen und Abwehrmaßnahmen gegen reale Cyberbedrohungen zu stärken. Wenn Sie ein aufstrebender ethischer Hacker sind, können Sie mit Tools wie bettercap in kontrollierten Umgebungen praktische Fähigkeiten in den Bereichen Netzwerksicherheit, drahtloses Hacken und Verkehrsmanipulation erwerben.

Lernen Sie weiter und bleiben Sie ethisch!

Cybersicherheit ist ein sich ständig weiterentwickelndes Feld und um an der Spitze zu bleiben, ist kontinuierliches Lernen erforderlich. Egal, ob Sie bettercap für Penetrationstests, Sicherheitsprüfungen oder Bildungszwecke verwenden, versuchen Sie immer, Ihr Wissen zu erweitern, mit neuen Techniken zu experimentieren und ethische Richtlinien einzuhalten.

bettercap ist nur eines von vielen Tools im Arsenal eines Cybersicherheitsexperten. Nutzen Sie es mit Bedacht, verbessern Sie Ihre Fähigkeiten kontinuierlich und tragen Sie zu einer sichereren digitalen Welt bei!

 

 

Digitaler Selbstschutz



 

 

Glaube wenig, Hinterfrage alles, Denke selbst!