
연결되지 않은 Wi-Fi 네트워크 매핑용 nmap과 같으며, 장치 추적 기능 포함
연결되지 않은 WiFi 네트워크를 매핑하는 nmap과 같은 도구입니다. 원시 802.11 모니터링을 통해 WiFi 네트워크와 장치를 매핑하고 추적합니다.
PyPI 페이지: https://pypi.python.org/pypi/trackerjacker
pip3 install trackerjacker
지원 플랫폼: Linux (Ubuntu, Kali, RPi에서 테스트) 및 macOS (pre-alpha)

trackerjacker는 다음과 같은 작업에 도움이 됩니다:
자세한 사용법은 다음과 같이 확인할 수 있습니다:
trackerjacker -h
trackerjacker에는 map 모드와 track 모드 두 가지 주요 사용 모드가 있습니다:
맵 명령어:
trackerjacker -i wlan1337 --map
기본적으로 이 명령어는 wifi_map.yaml YAML 파일을 출력하며, 이 파일은 주변의 모든 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 형식이므로, 직접 작성한 다른 스크립트의 입력으로 쉽게 사용할 수 있습니다. 이 "YAML DB"를 파싱하는 예제 스크립트는 여기에서 확인할 수 있습니다: parse_trackerjacker_wifi_map.py.
트랙 모드를 사용하면 감시할 MAC 주소를 지정할 수 있으며, 특정 장치가 임계값(바이트 단위, 여기서는 --threshold 4000으로 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
다음과 같은 curses 화면을 표시합니다:
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는 내장 플러그인이지만, 동일한 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]
이 명령어는 3c:2e:ff:31:32:59가 10바이트 이상을 송수신할 때마다 examples/plugin_example1.py를 실행합니다.
trackerjacker 플러그인은 단순히 다음 중 하나를 포함하는 Python 파일입니다:
__call__(**kwargs) 메서드를 정의하는 Trigger 클래스 (예: examples/plugin_example1.py)trigger(**kwargs) 함수 (예: examples/plugin_example2.py)그리고 선택적으로 __apiversion__ = 1 줄을 포함할 수 있습니다 (향후 하위 호환성 유지).
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"
}
이에 대한 몇 가지 참고 사항:
threshold_bytes는 기본 임계값(바이트)으로, 이 값을 초과하면 경고 함수가 호출됩니다.threshold_window는 threshold_bytes가 분석되는 시간 창입니다.devices_to_watch는 문자열(MAC 주소) 또는 딕셔너리(name 및 threshold 지정 가능)를 포함할 수 있는 목록입니다.
name은 해당 장치가 감지될 때 출력하려는 레이블입니다.threshold ("Security camera"의 경우)는 감지해야 할 바이트 수입니다.channels_to_monitor - 모니터링할 802.11 WiFi 채널 목록입니다. Wi-Fi 카드가 지원하는 채널 목록은 trackerjacker가 시작될 때 출력됩니다. 기본적으로 지원되는 모든 채널이 모니터링됩니다.channel_switch_scheme - default, round_robin, 또는 traffic_based 중 하나입니다. 는 트래픽이 가장 많은 채널을 결정하고 확률적으로 더 많이 모니터링합니다.Trackerjacker에는 WiFi 해킹과 관련된 몇 가지 다른 유틸리티 함수가 포함되어 있습니다. 그 중 하나는 특정 인터페이스에서 모니터 모드를 켜는 기능입니다.
모니터 모드 활성화:
trackerjacker --monitor-mode-on -i wlan0
모니터 모드 비활성화:
trackerjacker --monitor-mode-off -i wlan0mon
trackerjacker는 필요에 따라 자동으로 모니터 모드를 활성화/비활성화합니다. 이 기능은 다른 애플리케이션과 함께 사용하기 위해 인터페이스에서 모니터 모드를 활성화하려는 경우에 유용합니다 (또는 테스트를 위해 자주 시작/종료할 계획이라면 trackerjacker의 시작 속도를 높이는 데도 유용합니다).
trackerjacker --set-channel 11 -i wlan0
trackerjacker는 일반적인 맵/트랙 작업 중에 필요에 따라 자동으로 채널을 전환합니다. 이 옵션은 다른 애플리케이션과 함께 사용하기 위해 인터페이스의 채널을 설정하려는 경우에 유용합니다.
sudo iw reg set US - Wi-Fi 어댑터로 사용 가능한 모든 채널에 접근하려면 이 명령어(또는 변형)를 실행해야 할 수 있습니다.ifconfig - Wi-Fi 어댑터 이름을 나열합니다.traffic_based