content/projects/uaf.ko.md (2259B)
1 +++
2 title = "uaf"
3 description = "Ultimate AP Finder. PCI-DSS 감사를 위한 무선 AP 탐지와 분류."
4 weight = 30
5 date = 2026-02-14
6
7 [extra]
8 tier = "brief"
9
10 eyebrow = "무선 AP 감사 · Python"
11 tagline = "PCI-DSS 는 무선 점검을 요구한다. 그 요구를 솔직하게 옮기면 이런 질문이 된다. 이 AP 들 중 어느 것이 우리 것이고, 어느 것이 열려 있는가."
12 lang = "Python"
13 license = ""
14 version = ""
15 platform = "Linux"
16 repo = "https://github.com/sqzer-x/uaf"
17 stars = 0
18 accent = "#9aa6cc"
19 mark = ""
20 logo = ""
21
22 actions = [
23 { label = "소스", url = "https://github.com/sqzer-x/uaf", style = "ghost" },
24 ]
25
26 facts = [
27 { value = "3", label = "탐지 대역" },
28 { value = "5", label = "보안 분류" },
29 { value = "3.10+", label = "Python" },
30 { value = "root", label = "권한" },
31 ]
32
33 features_eyebrow = ""
34 features_title = ""
35 features_intro = ""
36 features = []
37
38 session_eyebrow = ""
39 session_title = ""
40 session_shell = ""
41 session_caption = ""
42 session_lines = []
43
44 cta_title = ""
45 cta_text = ""
46 cta_actions = []
47 +++
48
49 스캔 도구는 대개 SSID 목록에서 멈춘다. 감사 보고서에는 그것만으로 부족하다.
50 암호화가 WEP 인지 WPA3 인지, SSID 를 숨겼는지, 무선 칩을 누가 만들었는지, 그리고
51 열려 있는 것들 뒤에는 실제로 무엇이 있는지가 필요하다.
52
53 **수동 스캔.** 2.4, 5, 6 GHz 를 실시간으로 훑는다. 모든 AP 를 보안(WEP, WPA,
54 WPA2, WPA3, OPN)과 규격(802.11 a/b/g/n/ac/ax)으로 분류하고, 채널 폭과 숨긴 SSID
55 복원과 MAC 제조사 조회까지 붙인다. 열린 네트워크는 눈에 띄게 표시한다. 보고서가
56 말하려는 것이 그것이기 때문이다.
57
58 **능동 스캔.** 목록에서 의심스러운 개방 AP 를 고르면 접속한 뒤 구조를 그린다.
59 DHCP 정보, 다른 단말을 찾는 ARP 스윕, 게이트웨이 포트 스캔. 결과는 화면을 옮기지
60 않고 겹쳐 띄운다.
61
62 **내보내기.** 능동 스캔 결과까지 포함해 CSV 와 JSON 으로 낸다. 옮겨 적는 대신
63 그대로 감사 문서에 들어간다.
64
65 `iw` 와 `ip` 가 있는 Linux, root 권한, 모니터 모드가 되는 어댑터가 필요하다.
66
67 ```bash
68 pip install uaf
69 ```