
Come nmap per mappare reti wifi a cui non sei connesso, più il tracciamento dei dispositivi
Come nmap per mappare reti wifi a cui non sei connesso. Mappa e traccia reti wifi e dispositivi tramite monitoraggio raw 802.11.
Pagina PyPI: https://pypi.python.org/pypi/trackerjacker
pip3 install trackerjacker
Piattaforme supportate: Linux (testato su Ubuntu, Kali e RPi) e macOS (pre-alpha)

trackerjacker può aiutare con quanto segue:
Trova l'utilizzo dettagliato così:
trackerjacker -h
Ci sono 2 modalità principali di utilizzo per trackerjacker: modalità map e modalità track:
Comando map:
trackerjacker -i wlan1337 --map
Per impostazione predefinita, questo produce il file YAML wifi_map.yaml, che è una mappa di tutte le reti WiFi vicine e di tutti i loro utenti. Ecco un esempio di file wifi_map.yaml:
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: ''
Nota che, essendo YAML, puoi facilmente usarlo come input per altri script di tua creazione. Ho uno script di esempio per analizzare questo "DB YAML" qui: parse_trackerjacker_wifi_map.py.
La modalità track ti permette di specificare un certo numero di indirizzi MAC da monitorare, e se un dispositivo specifico supera la soglia (in byte), specificata qui con --threshold 4000 (che imposta una soglia di alert di 4000 byte), verrà attivato un alert.
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 questo esempio specifico, stavo monitorando una telecamera di sicurezza per determinare quando stava caricando un video (indicando il rilevamento di movimento) in modo da poter attivare le sirene del mio sistema di sicurezza (che è stata l'origine originale di questo progetto).
trackerjacker -i wlan1337 --track --trigger-plugin foxhunt
Mostra una schermata curses come questa:
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 è un plugin integrato, ma puoi definire i tuoi plugin usando la stessa Plugin API.$ 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]
Questo esegue examples/plugin_example1.py ogni volta che 3c:2e:ff:31:32:59 viene visto inviare/ricevere 10 byte o più.
I plugin di trackerjacker sono semplicemente file python che contengono uno dei seguenti:
Trigger che definisce un metodo __call__(**kwargs) (esempio: examples/plugin_example1.py)trigger(**kwargs) (esempio: examples/plugin_example2.py)E opzionalmente una riga __apiversion__ = 1 (per la futura compatibilità all'indietro)
trackerjacker.py -c my_config.json
Ed ecco il file di configurazione di esempio chiamato 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"
}
Alcune note a riguardo:
threshold_bytes è la soglia predefinita di byte che, se superata, fa sì che venga chiamata la funzione di alertthreshold_window è la finestra temporale in cui viene analizzata la threshold_bytes.devices_to_watch è una lista che può contenere stringhe (che rappresentano MAC) o dizionari (che permettono di specificare un name e una threshold)
name è semplicemente l'etichetta che vuoi venga stampata quando questo dispositivo viene visto.threshold in "Security camera" indica quanti byte devono essere vistichannels_to_monitor - lista dei canali wifi 802.11 da monitorare. La lista dei canali supportati dalla tua scheda wifi viene stampata all'avvio di trackerjacker. Per impostazione predefinita, vengono monitorati tutti i canali supportati.channel_switch_scheme - può essere default, round_robin o . determina i canali con più traffico e li monitora probabilisticamente di più.Trackerjacker include alcune altre funzioni di utilità relative all'hacking WiFi. Una di queste è la possibilità di attivare la modalità monitor su un'interfaccia specifica.
Abilita modalità monitor:
trackerjacker --monitor-mode-on -i wlan0
Disabilita modalità monitor:
trackerjacker --monitor-mode-off -i wlan0mon
Nota che trackerjacker abiliterà/disabiliterà automaticamente la modalità monitor se necessario. Questa funzionalità è utile se vuoi abilitare la modalità monitor su un'interfaccia per usarla con altre applicazioni (o per un avvio più rapido di trackerjacker, se prevedi di avviare/uscire per testare cose).
trackerjacker --set-channel 11 -i wlan0
Nota che trackerjacker cambierà automaticamente canale quando necessario durante le normali azioni di map/track. Questa opzione è utile se vuoi impostare il canale su un'interfaccia per usarla con altre applicazioni.
sudo iw reg set US - Per poter accedere a tutti i canali disponibili con il tuo adattatore wifi, potresti dover eseguire questo comando (o una sua variante).ifconfig - Per elencare i nomi degli adattatori wifi.traffic_basedtraffic_based