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. 보고]
취약점 및 영향도 평가'🥕 저장소 (Dev & Tools) > 잡다구리 (ETC)' 카테고리의 다른 글
| Proxmark3 × ChameleonUltra (0) | 2026.02.21 |
|---|---|
| 기업 네트워크 계층 구조 정리 (0) | 2026.02.21 |
| 공개 와이파이, 진짜 위험한가? HTTPS면 안전하지 않나? (0) | 2026.02.18 |
| 웹사이트 접속가능여부 확인 (0) | 2026.02.09 |
| Mifare Classic (0) | 2025.09.21 |