
Wie nmap zum Kartieren von WLAN-Netzwerken, mit denen du nicht verbunden bist, plus Gerätetracking
Wie nmap zum Kartieren von WLAN-Netzwerken, mit denen du nicht verbunden bist. Kartiert und verfolgt WLAN-Netzwerke und Geräte mittels rohem 802.11-Monitoring.
PyPI-Seite: https://pypi.python.org/pypi/trackerjacker
pip3 install trackerjacker
Unterstützte Plattformen: Linux (getestet auf Ubuntu, Kali und RPi) und macOS (pre-alpha)

trackerjacker kann bei Folgendem helfen:
Detaillierte Verwendung findest du so:
trackerjacker -h
Es gibt zwei Hauptverwendungsmodi für trackerjacker: map-Modus und track-Modus:
Map-Befehl:
trackerjacker -i wlan1337 --map
Standardmäßig gibt dies die YAML-Datei wifi_map.yaml aus, eine Karte aller nahegelegenen WLAN-Netzwerke und aller ihrer Nutzer. Hier ist eine Beispiel-wifi_map.yaml-Datei:
TEST_SSID:
00:10:18:6b:7a:ea:
bssid: 00:10:18:6b:7a:ea
bytes: 5430
channels:
- 11
devices:
3c:07:71:15:f1:48:
bytes: 798
signal: 1
vendor: Sony Corporation
78:31:c1:7f:25:43:
bytes: 4632
signal: -52
vendor: Apple, Inc.
signal: -86
ssid: TEST_SSID
vendor: Broadcom
BRANSONS_WIFI:
90:48:9a:e3:58:25:
bssid: 90:48:9a:e3:58:25
bytes: 5073
channels:
- 1
devices:
01:00:5e:96:e1:89:
bytes: 476
signal: -62
vendor: ''
30:8c:fb:66:23:91:
bytes: 278
signal: -46
vendor: Dropcam
34:23:ba:1c:ba:e7:
bytes: 548
signal: 4
vendor: SAMSUNG ELECTRO-MECHANICS(THAILAND)
signal: -80
ssid: BRANSONS_WIFI
vendor: Hon Hai Precision Ind. Co.,Ltd.
hacker_network:
80:2a:a8:e5:de:92:
bssid: 80:2a:a8:e5:de:92
bytes: 5895
channels:
- 11
devices:
80:1f:02:e6:44:96:
bytes: 960
signal: -46
vendor: Edimax Technology Co. Ltd.
80:2a:a8:8a:ec:c8:
bytes: 472
signal: 4
vendor: Ubiquiti Networks Inc.
80:2a:a8:be:09:a9:
bytes: 5199
signal: 4
vendor: Ubiquiti Networks Inc.
d8:49:2f:7a:f0:8f:
bytes: 548
signal: 4
vendor: CANON INC.
signal: -46
ssid: hacker
vendor: Ubiquiti Networks Inc.
80:2a:a8:61:aa:2f:
bssid: 80:2a:a8:61:aa:2f
bytes: 5629
channels:
- 44
- 48
devices:
78:88:6d:4e:e2:c9:
bytes: 948
signal: -52
vendor: ''
e4:8b:7f:d4:cb:25:
bytes: 986
signal: -48
vendor: Apple, Inc.
signal: -48
ssid: null
vendor: Ubiquiti Networks Inc.
82:2a:a8:51:32:25:
bssid: 82:2a:a8:51:32:25
bytes: 3902
channels:
- 48
devices:
b8:e8:56:f5:a0:70:
bytes: 1188
signal: -34
vendor: Apple, Inc.
signal: -14
ssid: hacker
vendor: ''
82:2a:a8:fc:33:b6:
bssid: 82:2a:a8:fc:33:b6
bytes: 7805
channels:
- 10
- 11
- 12
devices:
78:31:c1:7f:25:43:
bytes: 4632
signal: -52
vendor: Apple, Inc.
7c:dd:90:fe:b4:87:
bytes: 423223
signal: 4
vendor: Shenzhen Ogemray Technology Co., Ltd.
80:2a:a8:be:09:a9:
bytes: 5199
signal: 4
vendor: Ubiquiti Networks Inc.
signal: -62
ssid: null
vendor: ''
Beachte, dass es sich um YAML handelt – du kannst es leicht als Eingabe für eigene Skripte verwenden. Ich habe ein Beispielskript zum Parsen dieser „YAML-Datenbank“ hier: parse_trackerjacker_wifi_map.py.
Der Track-Modus ermöglicht es dir, eine bestimmte Anzahl von MAC-Adressen zu überwachen. Wenn eines der angegebenen Geräte den Schwellenwert (in Bytes) überschreitet – hier mit --threshold 4000 (ein Alarm-Schwellenwert von 4000 Bytes) angegeben – wird ein Alarm ausgelöst.
trackerjacker --track -m 3c:2e:ff:31:32:59 --threshold 4000 --trigger-command "./alert.sh" --channels-to-monitor 10,11,12,44
Using monitor mode interface: wlan1337
Monitoring channels: {10, 11, 12, 44}
[@] Device (3c:2e:ff:31:32:59) threshold hit: 4734
[@] Device (3c:2e:ff:31:32:59) threshold hit: 7717
[@] Device (3c:2e:ff:31:32:59) threshold hit: 7124
[@] Device (3c:2e:ff:31:32:59) threshold hit: 8258
[@] Device (3c:2e:ff:31:32:59) threshold hit: 8922
In diesem konkreten Beispiel habe ich eine Überwachungskamera beobachtet, um festzustellen, wann sie ein Video hochlädt (was auf eine erkannte Bewegung hindeutet), damit ich meine Sicherheitssirenen aktivieren konnte (das war der ursprüngliche Anstoß für dieses Projekt).
trackerjacker -i wlan1337 --track --trigger-plugin foxhunt
Zeigt einen Curses-Bildschirm wie diesen an:
POWER DEVICE ID VENDOR
======= ================= ================================
-82dBm 1c:1b:68:35:c6:5d ARRIS Group, Inc.
-84dBm fc:3f:db:ed:e9:8e Hewlett Packard
-84dBm dc:0b:34:7a:11:63 LG Electronics (Mobile Communications)
-84dBm 94:62:69:af:c3:64 ARRIS Group, Inc.
-84dBm 90:48:9a:34:15:65 Hon Hai Precision Ind. Co.,Ltd.
-84dBm 64:00:6a:07:48:13 Dell Inc.
-84dBm 00:30:44:38:76:c8 CradlePoint, Inc
-86dBm 44:1c:a8:fc:c0:53 Hon Hai Precision Ind. Co.,Ltd.
-86dBm 18:16:c9:c0:3b:75 Samsung Electronics Co.,Ltd
-86dBm 01:80:c2:62:9e:36
-86dBm 01:00:5e:11:90:47
-86dBm 00:24:a1:97:68:83 ARRIS Group, Inc.
-88dBm f8:2c:18:f8:f3:aa 2Wire Inc
-88dBm 84:a1:d1:a6:34:08
foxhunt ein eingebautes Plugin ist, du aber eigene Plugins mit derselben Plugin-API definieren kannst.$ trackerjacker --track -m 3c:2e:ff:31:32:59 --threshold 10 --trigger-plugin examples/plugin_example1.py --channels-to-monitor 10,11,12,44 --trigger-cooldown 1
Using monitor mode interface: wlan1337
Monitoring channels: {10, 11, 12, 44}
[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 34 bytes
3c:2e:ff:31:32:59 seen at: [1521926768.756529]
[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 11880 bytes
3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929]
[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 18564 bytes
3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929, 1521926770.7622838]
Dies führt examples/plugin_example1.py jedes Mal aus, wenn 3c:2e:ff:31:32:59 mit dem Senden/Empfangen von 10 Bytes oder mehr gesehen wird.
trackerjacker-Plugins sind einfach Python-Dateien, die entweder Folgendes enthalten:
Trigger-Klasse, die eine __call__(**kwargs)-Methode definiert (Beispiel: examples/plugin_example1.py)trigger(**kwargs)-Funktion (Beispiel: examples/plugin_example2.py)Und optional eine Zeile __apiversion__ = 1 (für zukünftige Abwärtskompatibilität)
trackerjacker.py -c my_config.json
Und hier ist die Beispiel-Konfigurationsdatei namens my_config.json:
{
"iface": "wlan1337",
"devices_to_watch": {"5f:cb:53:1c:8a:2c": 1000, "32:44:1b:d7:a1:5b": 2000},
"aps_to_watch": {"c6:23:ef:33:cc:a2": 500},
"threshold_window": 10,
"channels_to_monitor": [1, 6, 11, 52],
"channel_switch_scheme": "round_robin"
}
Einige Anmerkungen dazu:
threshold_bytes ist der Standard-Schwellenwert in Bytes; wenn dieser überschritten wird, wird die Alarmfunktion aufgerufen.threshold_window ist das Zeitfenster, in dem threshold_bytes ausgewertet wird.devices_to_watch ist eine Liste, die entweder Zeichenketten (für MACs) oder Dictionaries enthalten kann (die die Angabe eines name und eines threshold ermöglichen)
name ist einfach die Bezeichnung, die gedruckt werden soll, wenn dieses Gerät gesehen wird.threshold bei der „Überwachungskamera“ gibt an, wie viele Bytes gesehen werden müssen.channels_to_monitor – Liste der zu überwachenden 802.11-WLAN-Kanäle. Die Liste der von deiner WLAN-Karte unterstützten Kanäle wird beim Start von trackerjacker ausgegeben. Standardmäßig werden alle unterstützten Kanäle überwacht.channel_switch_scheme – entweder default, round_robin oder . Bei werden die Kanäle mit dem meisten Verkehr ermittelt und probabilistisch häufiger überwacht.Trackerjacker bietet einige weitere Hilfsfunktionen für WLAN-Hacking. Eine davon ist die Möglichkeit, den Monitor-Modus auf einer bestimmten Schnittstelle zu aktivieren.
Monitor-Modus aktivieren:
trackerjacker --monitor-mode-on -i wlan0
Monitor-Modus deaktivieren:
trackerjacker --monitor-mode-off -i wlan0mon
Beachte, dass trackerjacker den Monitor-Modus bei Bedarf automatisch aktiviert/deaktiviert. Diese Funktionalität ist nur nützlich, wenn du den Monitor-Modus auf einer Schnittstelle für andere Anwendungen aktivieren möchtest (oder für einen schnelleren Start von trackerjacker, falls du vorhast, häufig zu starten und zu beenden, um Dinge zu testen).
trackerjacker --set-channel 11 -i wlan0
Beachte, dass trackerjacker während normaler Map/Track-Aktionen automatisch die Kanäle wechselt. Diese Option ist nur nützlich, wenn du den Kanal einer Schnittstelle für andere Anwendungen einstellen möchtest.
sudo iw reg set US – Um auf alle verfügbaren Kanäle mit deinem WLAN-Adapter zugreifen zu können, musst du möglicherweise diesen Befehl (oder eine Variante davon) ausführen.ifconfig – Zum Auflisten der Namen der WLAN-Adapter.traffic_basedtraffic_based