계기

"어차피 HTTPS 쓰면 내용은 못 보니까, 공개 와이파이 위험하다는 건 그냥 DNS 바꿔서 피싱 유도하는 거 아닌가? 그거 말고는 별로 없지 않나?"

 

이 생각이 맞는지 파고들었다. 결론부터 말하면 부분적으로 맞고, 크게 틀렸다.

 

기존 생각 실제 구조
HTTPS 쓰면 내용 못 보니까 안전하다 내용은 보호되지만 나머지 공격은 여전히 가능하다
DNS만 바꾸면 피싱 유도 끝 아닌가 ARP Spoofing → MitM → SSL Strip / 쿠키 탈취 등 연계 공격 가능

 

HTTPS가 보호하는 것은 전송 중인 데이터의 내용(Payload) 뿐이다. 공개 와이파이 공격의 대부분은 내용 도청이 아닌 다른 경로로 이루어진다.


HTTPS가 실제로 막는 것

TLS 암호화로 보호되는 것들: 로그인 폼의 ID/PW, 카드번호, 개인정보 등 입력값, HTTPS API 응답 내용

HTTPS가 못 막는 것

[SNI 노출]
TLS 핸드셰이크 중 접속 도메인이 평문으로 전송됨
→ 내용은 몰라도 "저 사람 지금 hospital.kr 접속함" 은 보임
→ 행동 패턴, 업무 파악 가능

[SSL Strip]
HSTS 미적용 사이트는 HTTPS → HTTP 다운그레이드 공격에 취약
MitM 상태에서 암호화 구간 자체를 제거

[세션 쿠키 탈취]
Secure 플래그 없는 쿠키 → HTTP 요청 시 평문 전송
→ 쿠키 하나로 비밀번호 없이 계정 접근 가능

[HTTPS 피싱]
Let's Encrypt로 피싱 사이트도 HTTPS + 자물쇠 적용 가능
nаver.com (키릴 문자 'а') 같은 도메인도 자물쇠 뜨지만 피싱

[디바이스 직접 공격]
같은 LAN = 방화벽 없음, 직접 통신 가능
→ HTTPS와 완전 무관한 공격 경로

[앱 내부 HTTP 통신]
브라우저는 HTTPS지만 앱이 내부 API를 HTTP로 호출하는 경우 존재


공개 와이파이 공격 유형 정리

공격 유형 필요 조건 HTTPS 방어 실제 피해
ARP Spoofing 같은 망 X 모든 트래픽 중간 차단
Evil Twin 근처에 있으면 됨 X 크리덴셜 탈취, 피싱
KARMA / MANA 근처에 있으면 됨 X 사용자 액션 없이 자동 연결
DNS Spoofing AP 제어 or MitM X 피싱 사이트로 이동
SSL Strip MitM 성립 후 HSTS 없으면 뚫림 HTTP 다운그레이드 후 도청
세션 쿠키 탈취 Secure 플래그 없는 쿠키 플래그 따라 다름 로그인 없이 계정 접근
HTTPS 피싱 DNS 제어 X (자물쇠도 뜸) 크리덴셜 탈취
Passive Sniffing Open Network O HTTP 평문 사이트만 위험
디바이스 직접 공격 같은 망 무관 파일 탈취, 악성코드 설치
WPA2-Enterprise 크랙 기업 WiFi 근처 무관 도메인 AD 크리덴셜 탈취

주요 공격 상세

1. ARP Spoofing — MitM의 기반

같은 네트워크 안에서 게이트웨이(공유기) MAC 주소를 사칭. 피해자의 모든 트래픽이 공격자 장비를 거쳐가게 만드는 대부분 MitM 공격의 출발점.

  • 도구: arpspoof, Bettercap
  • 같은 LAN에 있으면 실행 가능
  • HTTPS 여부와 무관하게 트래픽 경로 자체를 가로챔

2. Evil Twin + Deauth — 가짜 AP 공격

정상 AP와 동일한 SSID로 더 강한 신호의 가짜 AP를 만들고, Deauth 패킷으로 피해자를 정상 AP에서 강제 연결 해제시킨 뒤 가짜 AP로 유도.

  • 802.11 Deauthentication 프레임은 암호화되지 않아 스푸핑 가능
  • Captive Portal(가짜 로그인 페이지)로 크리덴셜 탈취
  • 도구: aircrack-ng, Wifiphisher, Airgeddon

3. KARMA / MANA — 자동 연결 공격

일반 Evil Twin보다 한 단계 위. 디바이스가 브로드캐스트로 뿌리는 Probe Request(과거 접속한 AP 목록 탐색)에 응답해서 사용자 액션 없이 자동 연결을 유도.

피해자 디바이스 → 브로드캐스트: "attwifi, Starbucks, 공항WiFi 있어?"
↓
KARMA AP → "응 나야!" 하고 전부 응답
↓
피해자 기기 자동 연결 (사용자가 아무것도 안 해도)
↓
MitM 완성 → 이후 다양한 공격 연계 가능
  • 과거에 Open WiFi에 한 번이라도 접속했던 모든 기기가 잠재적 피해자
  • 도구: eaphammer, hostapd-wpe (KARMA 모드)

4. 세션 하이재킹 — 쿠키 탈취

로그인 후 발급되는 세션 쿠키를 탈취해서 비밀번호 없이 계정 접근. 2010년 Firesheep 사건으로 유명해진 공격.

  • Secure 플래그 없는 쿠키 → HTTP 요청 시 평문 전송됨
  • MitM 상태에서 쿠키 가로채 브라우저에 복붙 → 즉시 로그인
  • Firesheep: Firefox 플러그인 하나로 버튼 클릭만에 Facebook/Twitter 계정 탈취

5. WPA2-Enterprise 크리덴셜 탈취 — 기업 환경 핵심

기업 직원 대상에서 가장 크리티컬한 공격. 도메인 AD 계정을 직접 탈취할 수 있어 내부망 침투로 이어진다.

① 회사 WiFi SSID 동일한 가짜 AP 설치 (eaphammer / hostapd-wpe)
② 직원 노트북이 가짜 AP에 연결 시도
③ EAP 인증 과정에서 MSCHAPv2 해시 캡처
④ hashcat / asleap 으로 오프라인 크랙
⑤ 크랙된 크리덴셜 = AD 도메인 계정
⑥ VPN 로그인 → 내부망 침투
  • EAP-GTC 다운그레이드 공격으로 평문 크리덴셜까지 탈취 가능
  • 크리덴셜 하나 = 레드팀이 몇 주 걸릴 작업을 단번에 달성

실제 공격 연계 흐름

실제 공격에서는 단일 기법보다 여러 기법이 연계되는 시나리오가 훨씬 많다.

Step 1. Evil Twin AP 설치 — SSID 동일, 신호 더 강하게
↓
Step 2. Deauth 공격으로 정상 AP에서 피해자 강제 연결 해제
↓
Step 3. 피해자 가짜 AP에 자동 접속
↓
Step 4. ARP Spoofing으로 MitM 완성
↓
Step 5.
  a. DNS 응답 변조 → 피싱 사이트 유도 → 크리덴셜 탈취
  b. SSL Strip → HTTP 평문 도청 + 쿠키 탈취
  c. WPA2-Enterprise 해시 캡처 → 오프라인 크랙 → AD 계정 탈취

실제로 누가 타겟인가

공격 대상에 따라 위험도가 완전히 달라진다.

위험도 낮음 — 일반인 + 대형 사이트
구글, 네이버, 카카오, 은행 등은 HSTS Preload, Secure 쿠키, Certificate Pinning 적용. 단순 공격으로는 실질적 피해 주기 어려움. 결국 피싱 페이지에 직접 입력하게 유도하는 것 외에 현실적 수단이 없음.

위험도 매우 높음 — 기업 직원 (AD 도메인 사용)
도메인 크리덴셜 하나 = VPN → 내부망 → 횡적 이동 → DB, 재무 정보, 고객 데이터 → 랜섬웨어. 개인 피해가 아니라 회사 전체 피해. 실제 레드팀에서 반복적으로 재현되는 시나리오.

공격자는 공항, 컨퍼런스장, 코워킹 스페이스처럼 비즈니스 유저가 밀집한 곳을 노린다. 회사 WiFi SSID가 저장된 노트북에 KARMA 공격을 걸면 사용자가 아무것도 안 해도 자동 연결된다.

일반인 계정 탈취
→ 피해 범위 = 개인

기업 직원 도메인 크리덴셜 탈취
→ VPN → 내부망 → Lateral Movement → 랜섬웨어
→ 피해 범위 = 회사 전체

핵심 방어 방법

  • VPN 필수 → MitM 계열 공격 대부분 무력화
  • 인증서 경고 절대 무시 금지 → HTTPS 프록시 공격 방어
  • URL 직접 확인 → IDN 호모그래프, 피싱 방어
  • 저장된 Open WiFi 삭제 → KARMA 공격 방어
  • 윈도우 네트워크 위치 → "공용" 설정 → 디바이스 직접 공격 방어
  • 기업 환경: EAP-TLS + 인증서 검증 강제 → WPA2-Enterprise 공격 방어

WPA2-Enterprise가 AD 환경에서 왜 위험한가


1. WPA2-Enterprise 인증 구조 이해

일반 가정용 WiFi와 기업 WiFi의 차이부터 봐야 한다.

일반 WiFi (WPA2-Personal)

연결 시도 → PSK(사전 공유 키) 일치 여부 확인 → 연결

비밀번호 하나를 모든 직원이 공유하는 구조. 퇴사자가 생겨도 비밀번호 안 바꾸면 계속 접속 가능.

기업 WiFi (WPA2-Enterprise)

연결 시도
↓
AP → RADIUS 서버로 인증 요청 전달
↓
RADIUS 서버 → Active Directory 계정 검증
↓
AD가 "이 계정 유효함" 확인 → 연결 허가

핵심은 WiFi 인증 = AD 도메인 계정 인증이라는 것. 별도 WiFi 비밀번호가 없고 corp\홍길동 / 사번패스워드로 WiFi에 붙는 구조다.


2. EAP 인증 과정과 해시 캡처

WPA2-Enterprise에서 주로 쓰이는 인증 방식이 EAP-PEAP(MSCHAPv2) 인데, 가짜 AP 앞에서 이 인증 과정이 어떻게 흘러가는지 보면 된다.

정상 인증 흐름

클라이언트 → AP → RADIUS → AD
    ←────────────────── 챌린지 값 전달
클라이언트: NT 해시(패스워드) 기반으로 응답값 계산
    ──────────────────→ 응답값 전송
RADIUS → AD: 검증
    ←────────────────── 인증 성공/실패

가짜 AP 공격 시

클라이언트 → 가짜 AP: "인증할게요"
가짜 AP → 클라이언트: 챌린지 값 전달 (공격자가 생성)
클라이언트 → 가짜 AP: NT 해시 기반 응답값 전송
                       ↑ 이걸 캡처 (NetNTLMv2 해시)

클라이언트는 가짜 AP인지 모르고 정상적으로 응답값을 보냄. 공격자는 이 응답값을 오프라인에서 크랙한다.

eaphammer로 캡처하면 이런 형태로 나옴

CORP\홍길동::CORP:aabbccddeeff0011:A1B2C3D4E5F60718293A4B5C:
0101000000000000C0653150DE0D0201A979FB1CC3020000000000000

이게 NetNTLMv2 해시. hashcat으로 오프라인 크랙.

hashcat -m 5600 captured.txt wordlist.txt --rules-file best64.rule

기업 패스워드 정책이 약하면(8자리 + 숫자 조합 정도) 수 분~수 시간 내 크랙됨.


3. EAP-GTC 다운그레이드 — 해시도 필요 없는 경우

eaphammer가 지원하는 GTC(Generic Token Card) 다운그레이드 공격을 쓰면 해시 크랙도 필요 없다.

공격자 가짜 AP가 EAP-GTC 방식으로 인증 요청
↓
iOS, macOS, 일부 Android 기기: 자동으로 GTC 방식 수락
↓
클라이언트가 패스워드를 평문으로 전송
↓
공격자: 평문 패스워드 즉시 획득

크랙 과정 없이 바로 평문이 나온다.

./eaphammer -i wlan0 --channel 6 \
  --auth wpa-eap \
  --essid CorpWifi \
  --creds \
  --negotiate gtc-downgrade

4. 탈취 후 — 내부망 침투 단계

여기서부터가 실제로 위험한 이유다. 단순히 WiFi 재접속이 목적이 아니다.

4-1. VPN 진입

대부분의 기업 VPN은 AD 계정으로 인증한다.

탈취한 크리덴셜: corp\홍길동 / P@ssw0rd123

→ GlobalProtect, Cisco AnyConnect, Pulse Secure 등
→ AD 계정으로 VPN 로그인
→ 내부망 진입 성공

4-2. 내부망에서 정찰

# 도메인 정보 수집
net user /domain
net group "Domain Admins" /domain

# BloodHound로 AD 구조 시각화 (권한 상승 경로 자동 분석)
SharpHound.exe --CollectionMethod All

BloodHound는 AD 내 모든 계정, 그룹, ACL, 세션 정보를 수집해서 Domain Admin까지 가는 최단 경로를 그래프로 보여준다.

4-3. Lateral Movement

같은 패스워드를 여러 계정에 재사용하는 경우가 많다. 또는 현재 계정이 로컬 관리자 권한을 가진 PC가 있을 수 있다.

# CrackMapExec으로 내부망 전체 계정 사용 가능 여부 확인
crackmapexec smb 10.0.0.0/24 -u 홍길동 -p P@ssw0rd123

# 결과 예시
SMB  10.0.0.5   445  PC-001  [+] CORP\홍길동:P@ssw0rd123 (Pwn3d!)
SMB  10.0.0.12  445  PC-007  [+] CORP\홍길동:P@ssw0rd123 (Pwn3d!)
SMB  10.0.0.31  445  SRV-02  [+] CORP\홍길동:P@ssw0rd123 (Pwn3d!)

Pwn3d! 가 뜨면 그 PC에서 코드 실행 가능.

4-4. 권한 상승 → Domain Admin

BloodHound가 찾아준 경로를 따라 권한 있는 계정으로 점프하다 보면 Domain Admin에 도달한다.

일반적인 경로들:

  • Kerberoasting: 서비스 계정의 TGS 티켓 요청 → 오프라인 크랙 → 서비스 계정 패스워드 획득
  • AS-REP Roasting: 사전 인증 비활성화된 계정 해시 덤프 → 크랙
  • ACL Abuse: WriteDACL, GenericAll 같은 권한 오용
  • Pass-the-Hash: 해시 자체를 인증에 사용 (패스워드 크랙 불필요)

4-5. DCSync — 게임 오버

Domain Admin 권한을 얻으면 DCSync 공격으로 도메인 컨트롤러에서 전체 계정 해시를 덤프할 수 있다.

# impacket secretsdump
python3 secretsdump.py CORP/관리자:패스워드@도메인컨트롤러_IP

# 결과
[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:fc525c9683e8fe067095ba2ddc971889:::
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:a5f8e57f53ebbf04f1ce4a344af8c8e9:::
CORP\홍길동:1103:aad3b435b51404eeaad3b435b51404ee:2d56fe4b1e8394d40bb0b18f8e2dfc6c:::
CORP\김철수:1104:aad3b435b51404eeaad3b435b51404ee:e19ccf75ee54e06b06a5907af13cef42:::
... (도메인 내 전체 계정)

이 NT 해시들은 Pass-the-Hash로 바로 사용 가능. 패스워드 크랙 없이도 어디든 접근 가능.

krbtgt 해시를 얻으면 Golden Ticket 공격 가능 — 임의의 계정으로 임의의 기간 동안 유효한 Kerberos 티켓 위조 가능. 패스워드가 바뀌어도 무효화되지 않음.


5. 전체 공격 체인 요약

공개 WiFi 근처
↓
가짜 AP (eaphammer) 설치 — 회사 SSID 동일
↓
직원 노트북 자동 인증 시도
↓
MSCHAPv2 해시 캡처 or GTC 다운그레이드로 평문 획득
↓
hashcat 오프라인 크랙 → 도메인 크리덴셜 확보
↓
VPN 로그인 → 내부망 진입
↓
BloodHound 정찰 → 권한 상승 경로 파악
↓
Kerberoasting / Pass-the-Hash / ACL Abuse
↓
Domain Admin 도달
↓
DCSync → 전체 계정 해시 덤프
↓
Golden Ticket → 영구 백도어
↓
랜섬웨어 배포 or 데이터 유출

6. 왜 일반 계정 탈취와 차원이 다른가

  일반 SNS 계정 탈취 AD 도메인 계정 탈취
초기 접근 그 계정만 VPN → 내부망 전체
확장 가능성 없음 Lateral Movement → DA
최종 피해 개인 정보 전사 DB, 랜섬웨어, 데이터 유출
지속성 패스워드 바꾸면 끝 Golden Ticket은 패스워드 변경으로도 무효화 안 됨

7. 방어 방법 (기업 관점)

인증 강화

  • EAP-TLS 사용 (인증서 기반, MSCHAPv2 대신) → 해시 캡처 자체가 불가
  • 서버 인증서 검증 강제 → 가짜 AP에서 인증 시도 자체를 차단

계정 정책

  • 패스워드 복잡도 강화 (크랙 난이도 상승)
  • LAPS (Local Administrator Password Solution) → PC마다 로컬 관리자 패스워드 다르게
  • Tiered Admin Model → 일반 계정과 관리자 계정 분리

탐지

  • 비정상 VPN 로그인 알림 (시간대, 위치)
  • Kerberoasting 탐지 (대량 TGS 요청)
  • DCSync 탐지 (도메인 복제 권한 없는 계정의 복제 요청)

+ Recent posts