
Como nmap para mapear redes wifi a las que no estás conectado, más seguimiento de dispositivos
Como nmap para mapear redes wifi a las que no estás conectado. Mapea y rastrea redes wifi y dispositivos mediante monitorización raw 802.11.
Página PyPI: https://pypi.python.org/pypi/trackerjacker
pip3 install trackerjacker
Plataformas compatibles: Linux (probado en Ubuntu, Kali y RPi) y macOS (pre-alfa)

trackerjacker puede ayudar con lo siguiente:
Encuentra uso detallado así:
trackerjacker -h
Hay 2 modos principales de uso para trackerjacker: modo mapa y modo seguimiento:
Comando de mapa:
trackerjacker -i wlan1337 --map
Por defecto, esto genera el archivo YAML wifi_map.yaml, que es un mapa de todas las redes WiFi cercanas y de todos sus usuarios. Aquí hay un ejemplo del archivo 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: ''
Ten en cuenta que, como esto es YAML, puedes usarlo fácilmente como entrada para otros scripts propios. Tengo un script de ejemplo para analizar esta "base de datos YAML" aquí: parse_trackerjacker_wifi_map.py.
El modo seguimiento te permite especificar un número de direcciones MAC a vigilar, y si algún dispositivo específico supera el umbral (en bytes), especificado aquí con --threshold 4000 (estableciendo un umbral de alerta de 4000 bytes), se activará una alerta.
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
En este ejemplo concreto, estaba observando una cámara de seguridad para determinar cuándo estaba subiendo un video (indicando que se había detectado movimiento) para poder activar las sirenas de mi sistema de seguridad (que fue el origen original de este proyecto).
trackerjacker -i wlan1337 --track --trigger-plugin foxhunt
Muestra una pantalla curses como esta:
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 es un plugin incorporado, pero puedes definir tus propios plugins usando la misma API de Plugins.$ 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]
Esto ejecuta examples/plugin_example1.py cada vez que se detecta que 3c:2e:ff:31:32:59 envía/recibe 10 bytes o más.
Los plugins de trackerjacker son simplemente archivos python que contienen:
Trigger que define un método __call__(**kwargs) (ejemplo: examples/plugin_example1.py)trigger(**kwargs) (ejemplo: examples/plugin_example2.py)Y opcionalmente una línea __apiversion__ = 1 (para compatibilidad futura hacia atrás)
trackerjacker.py -c my_config.json
Y aquí está el archivo de configuración de ejemplo llamado 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"
}
Algunas notas sobre esto:
threshold_bytes es el umbral predeterminado de bytes que, si se observan, hace que se llame a la función de alertathreshold_window es la ventana de tiempo en la que se analiza threshold_bytes.devices_to_watch es una lista que puede contener cadenas (que representan MAC) o diccionarios (que permiten especificar un name y un threshold)
name es simplemente la etiqueta que quieres que se imprima cuando se vea este dispositivo.threshold en "Security camera" es cuántos bytes deben ser observadoschannels_to_monitor - lista de canales wifi 802.11 a monitorear. La lista de canales que soporta tu tarjeta wifi se imprime cuando trackerjacker se inicia. Por defecto, se monitorean todos los canales soportados.channel_switch_scheme - puede ser default, round_robin o . determina los canales con mayor tráfico y los monitorea probabilísticamente más.Trackerjacker viene con otras funciones de utilidad relevantes para el hacking WiFi. Una de ellas es la capacidad de activar el modo monitor en una interfaz específica.
Activar modo monitor:
trackerjacker --monitor-mode-on -i wlan0
Desactivar modo monitor:
trackerjacker --monitor-mode-off -i wlan0mon
Ten en cuenta que trackerjacker activará/desactivará automáticamente el modo monitor si es necesario. Esta funcionalidad es útil solo si quieres activar el modo monitor en una interfaz para usarla con otras aplicaciones (o para un inicio más rápido de trackerjacker, si planeas iniciar/salir para probar cosas).
trackerjacker --set-channel 11 -i wlan0
Ten en cuenta que trackerjacker cambiará automáticamente de canal según sea necesario durante las acciones normales de mapa/seguimiento. Esta opción es útil solo si quieres establecer el canal en una interfaz para usarla con otras aplicaciones.
sudo iw reg set US - Para poder acceder a todos los canales disponibles con tu adaptador wifi, es posible que necesites ejecutar este comando (o una variante del mismo).ifconfig - Para listar los nombres de los adaptadores wifi.traffic_basedtraffic_based