Communitygithub.com

Wireshark를 사용한 네트워크 트래픽 분석

Wireshark와 tshark를 사용하여 네트워크 패킷 데이터를 캡처하고 분석합니다.

Wireshark를 사용한 네트워크 트래픽 분석란 무엇인가요?

이 스킬은 Wireshark와 tshark 명령줄 도구를 활용하여 네트워크 패킷 데이터를 캡처하고 분석하는 방법을 제공합니다. 보안 침해 조사, 네트워크 성능 진단, 악성코드 통신 패턴 분석, 방화벽 및 IDS 규칙 검증 등에 사용됩니다. 주요 기능으로는 라이브 패킷 캡처, 디스플레이 필터를 통한 타겟 분석, 프로토콜별 심층 분석(HTTP, DNS, TLS, SMB 등), 아티팩트 및 IOCs 추출, 통계 분석, 증거 보고서 생성이 포함됩니다. Wireshark 4.0+ 및 tshark를 지원하며, 캡처 필터(BPF), 디스플레이 필터, PCAPNG 형식, TCP 스트림 재조립, 프로토콜 디섹터, IO 그래프 등의 핵심 개념을 다룹니다. 실제 데이터 유출 시나리오(DNS 터널링)와 함께 일반적인 함정 및 모범 사례도 제공됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-network-traffic-with-wireshark

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Wireshark를 사용한 네트워크 트래픽 분석은(는) 무엇을 하나요?

사용 시점

  • 명령 및 제어(C2) 트래픽, 데이터 유출, 측면 이동 등 패킷 수준 증거를 조사하여 네트워크 침해를 의심할 때
  • 재전송, 단편화, DNS 해석 실패 등 네트워크 성능 문제를 진단할 때
  • 샌드박스 또는 격리 호스트에서 트래픽을 캡처하여 악성코드 통신 패턴을 분석할 때
  • 방화벽 및 IDS 규칙을 검증하여 실제 네트워크 세그먼트에서 어떤 트래픽이 통과하는지 확인할 때
  • 캡처된 네트워크 세션에서 파일, 자격 증명, 침해 지표(IOC)를 추출할 때

사용 금지: 허가 없이 네트워크 트래픽을 캡처하는 행위, 법적 권한 없이 개인 통신을 도청하는 행위, 프로덕션 모니터링에서 완전한 SIEM 플랫폼을 대체하는 행위.

사전 요구 사항

  • Wireshark 4.0+ 및 tshark 명령줄 유틸리티 설치
  • 라이브 패킷 캡처를 위한 루트/sudo 권한 또는 wireshark 그룹 멤버십
  • 모니터링할 세그먼트에 대한 네트워크 인터페이스 액세스(물리적 NIC, SPAN 포트 또는 네트워크 탭)
  • 패킷 캡처 파일을 위한 충분한 디스크 공간(사용 중인 기가비트 링크에서 분당 약 1GB 필요)
  • TCP/IP 프로토콜, HTTP, DNS, TLS, SMB에 대한 패킷 수준의 이해

워크플로우

1단계: 캡처 환경 구성

관련 트래픽을 대상으로 캡처 인터페이스와 필터를 설정합니다.

# 사용 가능한 인터페이스 나열
tshark -D

# eth0에서 캡처를 시작하고 범위를 제한하는 캡처 필터 적용
tshark -i eth0 -f "host 10.10.5.23 and (port 80 or port 443 or port 445)" -w /tmp/capture.pcapng

# 링 버퍼를 사용하여 디스크 사용량 관리 (10개 파일, 각 100MB)
tshark -i eth0 -b filesize:102400 -b files:10 -w /tmp/rolling_capture.pcapng

# 여러 인터페이스에서 동시에 캡처
tshark -i eth0 -i eth1 -w /tmp/multi_interface.pcapng

Wireshark GUI의 경우, 캡처를 시작하기 전에 캡처 옵션 대화상자에서 캡처 필터를 설정합니다.

2단계: 타겟 분석을 위한 디스플레이 필터 적용

# 의심스러운 사용자 에이전트를 포함한 HTTP 트래픽 필터링
tshark -r capture.pcapng -Y "http.user_agent contains \"curl\" or http.user_agent contains \"Wget\""

# 의심스러운 TLD로의 DNS 쿼리 찾기
tshark -r capture.pcapng -Y "dns.qry.name contains \".xyz\" or dns.qry.name contains \".top\" or dns.qry.name contains \".tk\""

# 네트워크 문제를 나타내는 TCP 재전송 식별
tshark -r capture.pcapng -Y "tcp.analysis.retransmission"

# 측면 이동 탐지를 위한 SMB 트래픽 필터링
tshark -r capture.pcapng -Y "smb2.cmd == 5 or smb2.cmd == 3" -T fields -e ip.src -e ip.dst -e smb2.filename

# 평문 자격 증명 전송 찾기
tshark -r capture.pcapng -Y "ftp.request.command == \"PASS\" or http.authbasic"

# 비콘 패턴 탐지 (일정 간격 연결)
tshark -r capture.pcapng -Y "ip.dst == 203.0.113.50" -T fields -e frame.time_relative -e ip.src -e tcp.dstport

3단계: 프로토콜별 심층 분석

# TCP 스트림을 따라 대화 재구성
tshark -r capture.pcapng -q -z follow,tcp,ascii,0

# HTTP 요청/응답 쌍 분석
tshark -r capture.pcapng -Y "http" -T fields -e frame.time -e ip.src -e ip.dst -e http.request.method -e http.request.uri -e http.response.code

# DNS 쿼리/응답 통계 추출
tshark -r capture.pcapng -q -z dns,tree

# 취약한 암호화 제품군을 위한 TLS 핸드셰이크 분석
tshark -r capture.pcapng -Y "tls.handshake.type == 2" -T fields -e ip.src -e ip.dst -e tls.handshake.ciphersuite

# SMB 파일 액세스 열거
tshark -r capture.pcapng -Y "smb2" -T fields -e frame.time -e ip.src -e ip.dst -e smb2.filename -e smb2.cmd

4단계: 아티팩트 및 IOC 추출

# HTTP 객체 내보내기 (HTTP를 통해 전송된 파일)
tshark -r capture.pcapng --export-objects http,/tmp/http_objects/

# SMB 객체 내보내기 (SMB를 통해 전송된 파일)
tshark -r capture.pcapng --export-objects smb,/tmp/smb_objects/

# 위협 정보 조회를 위한 모든 고유 대상 IP 추출
tshark -r capture.pcapng -T fields -e ip.dst | sort -u > unique_dest_ips.txt

# SSL/TLS 인증서 정보 추출
tshark -r capture.pcapng -Y "tls.handshake.type == 11" -T fields -e x509sat.uTF8String -e x509ce.dNSName

# 액세스된 모든 URL 추출
tshark -r capture.pcapng -Y "http.request" -T fields -e http.host -e http.request.uri | sort -u > urls.txt

# IOC 매칭을 위해 추출된 파일 해시 생성
find /tmp/http_objects/ -type f -exec sha256sum {} \; > extracted_file_hashes.txt

5단계: 통계 분석 및 이상 탐지

# 프로토콜 계층 구조 통계
tshark -r capture.pcapng -q -z io,phs

# 바이트별로 정렬된 대화 통계
tshark -r capture.pcapng -q -z conv,tcp -z conv,udp

# 주요 트래픽 송신자 식별
tshark -r capture.pcapng -q -z endpoints,ip

# IO 그래프 데이터 (초당 패킷 수)
tshark -r capture.pcapng -q -z io,stat,1,"COUNT(frame) frame"

# 포트 스캐닝 패턴 탐지
tshark -r capture.pcapng -Y "tcp.flags.syn == 1 and tcp.flags.ack == 0" -T fields -e ip.src -e tcp.dstport | sort | uniq -c | sort -rn | head -20

6단계: 보고서 생성 및 증거 내보내기

# 증거 보존을 위해 필터링된 패킷을 새 PCAP 파일로 내보내기
tshark -r capture.pcapng -Y "ip.addr == 10.10.5.23 and tcp.port == 4444" -w evidence_c2_traffic.pcapng

# CSV 형식으로 패킷 요약 생성
tshark -r capture.pcapng -T fields -E header=y -E separator=, -e frame.number -e frame.time -e ip.src -e ip.dst -e ip.proto -e tcp.srcport -e tcp.dstport -e frame.len > traffic_summary.csv

# 프로그래밍 분석을 위한 PDML (XML) 출력 생성
tshark -r capture.pcapng -T pdml > capture_analysis.xml

# 증거 관리 연속성을 위한 캡처 파일 해시 계산
sha256sum capture.pcapng > capture_hash.txt

주요 개념

용어정의
캡처 필터 (BPF)캡처 시점에 적용되어 기록되는 패킷을 제한하는 Berkeley Packet Filter 구문. 파일 크기를 줄이고 성능을 향상시킵니다.
디스플레이 필터이미 캡처된 패킷에 적용하여 캡처 파일을 변경하지 않고 집중 분석을 수행하는 Wireshark 고유의 필터 구문입니다.
PCAPNG단일 파일에서 여러 인터페이스, 이름 해석, 주석, 메타데이터를 지원하는 차세대 패킷 캡처 형식입니다.
TCP 스트림두 엔드포인트 간의 완전한 양방향 대화를 나타내는 재조립된 TCP 세그먼트 시퀀스입니다.
프로토콜 디섹터특정 프로토콜의 필드와 구조를 디코딩하여 패킷 내용을 심층 검사할 수 있게 해주는 Wireshark 모듈입니다.
IO 그래프캡처 기간 동안 패킷 또는 바이트 전송률의 시계열 시각화로, 트래픽 급증 또는 비콘 식별에 유용합니다.

도구 및 시스템

  • Wireshark 4.0+: 3,000개 이상의 프로토콜을 위한 프로토콜 디섹터, 스트림 재조립, 내보내기 기능을 갖춘 GUI 기반 패킷 분석기입니다.
  • tshark: 헤드리스 캡처, 배치 처리, 스크립팅된 분석 파이프라인을 위한 Wireshark의 명령줄 버전입니다.
  • tcpdump: GUI 의존성 없이 원격 시스템에서 빠른 캡처를 위한 경량 패킷 캡처 도구입니다.
  • mergecap: 통합 분석을 위해 여러 캡처 파일을 단일 PCAP으로 결합하는 Wireshark 유틸리티입니다.
  • editcap: 캡처 파일을 분할, 필터링, 변환하는 Wireshark 유틸리티입니다.

일반적인 시나리오

시나리오: DNS 터널링을 통한 데이터 유출 의심 조사

컨텍스트: SOC 팀이 워크스테이션(10.10.3.45)에서 외부 도메인으로 비정상적으로 높은 DNS 쿼리 볼륨을 탐지했습니다. SIEM 알림은 기준 15회 대비 분당 200회의 DNS 쿼리를 표시했습니다. 워크스테이션 VLAN의 네트워크 탭에서 패킷 캡처가 시작되었습니다.

접근 방식:

  1. 워크스테이션 서브넷에서 트래픽 캡처: tshark -i eth2 -f "host 10.10.3.45 and port 53" -w dns_exfil_investigation.pcapng
  2. DNS 쿼리 패턴 분석: tshark -r dns_exfil_investigation.pcapng -Y "dns.qry.name contains \"suspect-domain.xyz\"" -T fields -e frame.time -e dns.qry.name
  3. 인코딩된 데이터(긴 base64 유사 하위 도메인은 터널링을 나타냄)에 대한 하위 도메인 레이블 검사: tshark -r dns_exfil_investigation.pcapng -Y "dns.qry.type == 16" -T fields -e dns.qry.name -e dns.txt
  4. 쿼리 이름 길이를 합산하여 유출 대역폭 추정
  5. 고유 쿼리 이름을 추출하고 base64 하위 도메인을 디코딩하여 유출된 내용 복구
  6. 증거 패킷을 별도의 PCAP으로 내보내고 증거 관리 연속성을 위해 SHA-256 해시 생성

함정:

  • 사용량이 많은 네트워크에서 필터링되지 않은 트래픽을 캡처하여 관련 데이터를 수집하기 전에 디스크 공간이 부족해지는 경우
  • 캡처 필터 대신 디스플레이 필터를 사용하여 처리 속도가 느린 대용량 파일이 생성되는 경우
  • 기존 포트 53에서 DNS 캡처를 우회하는 암호화된 DNS(DoH/DoT) 트래픽을 간과하는 경우
  • 법의학 증거를 위한 패킷 캡처 해시 및 증거 관리 연속성 문서 설정을 누락하는 경우

출력 형식

## 트래픽 분석 보고서

**케이스 ID**: IR-2024-0847
**캡처 파일**: dns_exfil_investigation.pcapng
**SHA-256**: a3f2b8c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
**기간**: 2024-03-15 14:00:00 ~ 14:45:00 UTC
**소스 인터페이스**: eth2 (VLAN 30 SPAN 포트)

### 발견 사항

**1. DNS 터널링 확인**
- 출처: 10.10.3.45
- 대상 DNS: 8.8.8.8 (ns1.suspect-domain.xyz로 전달)
- 쿼리 볼륨: 45분 동안 9,247개의 쿼리 (분당 205회, 기준 분당 15회 대비)
- 평균 하위 도메인 레이블 길이: 63자 (base64 인코딩 데이터)
- 추정 유출 데이터: TXT 레코드 응답을 통해 약 2.3MB

**2. 침해 지표(IoC)**
- 도메인: suspect-domain.xyz (3일 전 등록)
- 네임서버: ns1.suspect-domain.xyz (203.0.113.50)
- 쿼리 패턴: base64로 인코딩된 하위 도메인이 포함된 TXT 레코드 요청
- 응답 패턴: base64로 인코딩된 페이로드가 포함된 TXT 레코드

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

관련 스킬