trackerjacker是一款针对WiFi无线网络的强大安全工具,该工具功能类似于Nmap,可以帮助广大研究人员映射未连接的WiFi网络,并进行设备跟踪。
该工具基于IEEE 802.11实现其功能,支持通过原始802.11实现网络映射和设备跟踪。
功能特性
1、支持识别附近所有的WiFi网络,并查看连接到每个网络的全部设备;
2、可查看目标网络中哪台设备占用了全部带宽;
3、当目标MAC地址在30秒的时间窗口中发送超过100000个字节时,支持执行操作命令;
4、支持对任何在10秒时间窗口中发送超过100000个字节的设备执行身份验证;
5、支持查看目标区域的每个Dropcam;
6、检测到任何MAC地址的信号强度超过-40dBm时,收到警告消息;
7、支持查看目标用户何时出现在附近(基于移动设备的MAC地址实现),并运行命令来提醒研究人员;
8、支持自定义插件开发来运行功能脚本,以便在每次新的苹果设备出现在附近时做一些有趣的事情;
推荐使用的硬件设备
工具要求
支持的平台
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/calebmadrigal/trackerjacker.git
然后切换到项目目录中,使用pip3工具和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd trackerjacker
pip3 install -r requirements.txt
然后运行工具安装脚本即可:
python setup.py
pip3 install trackerjacker
工具使用
查看工具帮助消息:
trackerjacker -h
当前版本的trackerjacker支持两种主要运行模式,即map(映射)模式和track(跟踪)模式。
Map命令:
trackerjacker -i wlan1337 --map
默认配置下,trackerjacker会将输出wifi_map.yaml文件,该文件中存储了trackerjacker映射的附近所有的WiFi网络及全部用户信息。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: ''
需要注意的是,这个YAML文件可以直接使用,或作为输入提供给其他工具脚本解析。
跟踪模式支持我们指定要跟踪的设备MAC地址,如果指定设备超出阈值(通过字节定义),可以通过参数「--threshold 4000」来设置:
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
trackerjacker -i wlan1337 --track --trigger-plugin foxhunt
输出信息如下:
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是一个内置插件,我们也可以使用相同的插件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 1Using monitor mode interface: wlan1337Monitoring channels: {10, 11, 12, 44}[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 34 bytes3c:2e:ff:31:32:59 seen at: [1521926768.756529][@] Device (device 3c:2e:ff:31:32:59) threshold hit: 11880 bytes3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929][@] Device (device 3c:2e:ff:31:32:59) threshold hit: 18564 bytes3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929, 1521926770.7622838]
工具配置
trackerjacker.py -c my_config.json
下面给出的是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"
}
启用监控器模式:
trackerjacker --monitor-mode-on -i wlan0
禁用监控器模式:
trackerjacker --monitor-mode-off -i wlan0mon
设置适配器信道
trackerjacker --set-channel 11 -i wlan0
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
trackerjacker:
https://github.com/calebmadrigal/trackerjacker
https://pypi.python.org/pypi/trackerjacker