关于trackerjacker
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、支持自定义插件开发来运行功能脚本,以便在每次新的苹果设备出现在附近时做一些有趣的事情;
推荐使用的硬件设备
Panda PAU07 N600 Dual Band
Panda PAU09 N600 Dual Band
Alfa AWUS052NH Dual-Band 2x 5dBi
TP-Link N150
工具要求
Python 3
Scapy v2.5.0
Pyaml >= v17.12.1
ruamel.yaml >= 0.15.35
支持的平台
Linux(Ubuntu、Kali和RPi)
macOS
工具安装
由于该工具基于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
PyPI安装
pip3 install trackerjacker
工具使用
查看工具帮助消息:
trackerjacker -h
当前版本的trackerjacker支持两种主要运行模式,即map(映射)模式和track(跟踪)模式。
Map映射模式使用
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
跟踪模式+foxhunt插件
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 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]
工具配置
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:【GitHub传送门】