
Como nmap para mapear redes wifi às quais você não está conectado, mais rastreamento de dispositivos
Como o nmap para mapear redes wifi às quais você não está conectado. Mapeia e rastreia redes wifi e dispositivos através do monitoramento bruto 802.11.
Página PyPI: https://pypi.python.org/pypi/trackerjacker
pip3 install trackerjacker
Plataformas suportadas: Linux (testado no Ubuntu, Kali e RPi) e macOS (pré-alfa)

trackerjacker pode ajudar com o seguinte:
Encontre uso detalhado assim:
trackerjacker -h
Existem 2 modos principais de uso para trackerjacker: modo mapa e modo rastreamento:
Comando de mapa:
trackerjacker -i wlan1337 --map
Por padrão, isso gera o arquivo YAML wifi_map.yaml, que é um mapa de todas as redes WiFi próximas e de todos os seus usuários. Aqui está um exemplo de arquivo 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: ''
Observe que, como é YAML, você pode facilmente usá-lo como entrada para outros scripts de sua própria criação. Tenho um script de exemplo para analisar este "YAML DB" aqui: parse_trackerjacker_wifi_map.py.
O modo rastreamento permite especificar alguns endereços MAC para observar, e se algum dispositivo específico exceder o limite (em bytes), especificado aqui com --threshold 4000 (especificando um limite de alerta de 4000 bytes), um alerta será acionado.
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
Neste exemplo específico, eu estava observando uma câmera de segurança para determinar quando ela estava enviando um vídeo (indicando que movimento foi detectado) para poder ligar as sirenes do meu sistema de segurança (que foi a origem original deste projeto).
trackerjacker -i wlan1337 --track --trigger-plugin foxhunt
Displays a curses screen like this:
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 é um plugin integrado, mas você pode definir seus próprios plugins usando a mesma API de Plugin.$ 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]
Os plugins do trackerjacker são simplesmente arquivos Python que contêm:
Trigger que define um método __call__(**kwargs) (exemplo: examples/plugin_example1.py)trigger(**kwargs) (exemplo: examples/plugin_example2.py)E opcionalmente uma linha __apiversion__ = 1 (para compatibilidade futura com versões anteriores)
trackerjacker.py -c my_config.json
E aqui está o arquivo de configuração de exemplo chamado 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"
}
Algumas observações sobre isso:
threshold_bytes é o limite padrão de bytes que, se observado, faz com que a função de alerta seja chamadathreshold_window é a janela de tempo na qual o threshold_bytes é analisado.devices_to_watch é uma lista que pode conter strings (representando MACs) ou dicionários (que permitem a especificação de um name e threshold)
name é simplesmente o rótulo que você deseja que seja impresso quando este dispositivo for visto.threshold no "Security camera" é quantos bytes devem ser vistoschannels_to_monitor - lista de canais wifi 802.11 a serem monitorados. A lista de canais que sua placa wifi suporta é impressa quando o trackerjacker é iniciado. Por padrão, todos os canais suportados são monitorados.channel_switch_scheme - pode ser default, round_robin ou . determina os canais com mais tráfego e os monitora probabilisticamente com mais frequência.Ativar modo monitor:
trackerjacker --monitor-mode-on -i wlan0
Desativar modo monitor:
trackerjacker --monitor-mode-off -i wlan0mon
Observe que o trackerjacker ativará/desativará automaticamente o modo monitor se necessário. Essa funcionalidade é útil apenas se você quiser ativar o modo monitor em uma interface para uso com outros aplicativos (ou para inicialização mais rápida do trackerjacker, se você planeja iniciar/sair para testar coisas).
trackerjacker --set-channel 11 -i wlan0
Observe que o trackerjacker alternará automaticamente os canais conforme necessário durante as ações normais de mapeamento/rastreamento. Esta opção é útil apenas se você quiser definir o canal em uma interface para uso com outros aplicativos.
sudo iw reg set US - Para poder acessar todos os canais disponíveis com seu adaptador wifi, pode ser necessário executar este comando (ou uma variação dele).ifconfig - Para listar nomes de adaptadores wifi.traffic_basedtraffic_based