본문 바로가기

Reversing/Traffic

Wireshark - pcap 분석 Tip

0. 들어가며

침해 사고 대응을 하면 PCAP 파일을 다루는 경우가 많다. PCAP은 네트워크에서 오간 패킷을 기록한 파일로 공격 흔적이나 비정상적인 통신을 추적하기 위해 반드시 분석해야 하는 파일이다.

 

PCAP 분석을 위해 가장 널리 사용되는 도구가 대표적으로 Wireshark이다. Wireshark는 무료이면서 강력한 패킷 캡처 및 분석 도구로 다양한 프로토콜을 지원하며 실시간 트래픽 확인과 디스플레이 필터, 통계 분석 기능을 제공한다. 이를 통해 복잡한 네트워크 환경에서도 필요한 패킷만 선별하고, 전체 트래픽 흐름을 파악하며 세션별 통신 내역과 payload를 재구성할 수 있다. 본 글에서는 Wireshark를 중심으로 한 주요 분석 기법과 적용할 수 있는 Tip들을 정리하고자 한다.

 

1. 디스플레이 필터

https://unit42.paloaltonetworks.com/using-wireshark-display-filter-expressions/

 

 

Wireshark에서 패킷이 지나치게 많을 경우 원하는 데이터를 찾기 어렵다. 이때 디스플레이 필터를 활용하면 필요한 패킷만 선별적으로 확인할 수 있게 된다. 많은 디스플레이 필터 명령이 있지만 그중에 가장 많이 사용되는 명령어만 정리하면 다음과 같다.

 

 

1.1)IP 기반 필터링

ip.addr == 10.0.0.1    : 출발지나 목적지의 ip가 10.0.0.1인 경우 출력
ip.addr == 10.0.0.1 && ip.addr == 10.0.0.2    : 두 개의 정의된 ip 주소 모두 출력

 

1.2) 프로토콜/포트 기반

http or arp : 모든 http와 dns 프로토콜 출력
tcp.port == 4000 : 출발지나 목적지의 포트가 4000인 TCP 패킷 출력

 

1.3) 플래그/요청 기반

tcp.flags.reset == 1 : 모든 TCP reset 플래그가 활성화된 패킷 출력
http.request : 모든 HTTP GET 요청 패킷 출력

 

1.4) 문자열/헥사 값 필터링

tcp contains traffic : traffic라는 단어를 포함하는 TCP 패킷 출력 (특정 문자열이나 유저 이름을 출력할 때 효과적)

contains 33:27:58 : 헥스 값(0x33 0x27 0x58) 필터

 

그 외

!(arp or icmp or dns) : 괄호 내용을 모두 제외한 패킷을 출력
tcp analysis.retransmission : 추적에서 모든 재전송을 표시 (느린 응용 프로그램 성능 및 패킷 손실을 추적할 때 효과)

 

 

2. 통계 기능 활용

https://www.wireshark.org/docs/wsug_html_chunked/ChUseStatisticsMenuSection.html

 

 

필터를 통해 세부 패킷을 확인하는 것도 중요하지만 전체적인 트래픽의 흐름을 파악하려면 Statistics 메뉴를 반드시 활용해야 한다

 

 

2.1) Statistics -> Resolved Addresses (패킷 정보에서 도메인 식별) 

설명 : IP와 도메인을 매핑하여 확인할 수 있다.
활용 Tip)

패킷 정보가 많을 경우 사용


2.2) Statistics -> Protocol Hierarchy (프로토콜 통계 확인)

설명 : TCP, UDP, Data 등의 프로토콜 비중을 한눈에 확인할 수 있다.

활용 Tip)
TCP ,UDP , Data 정보 확인 ( Data 트래픽이 존재한다면 파일 전송이나 교환이 있었음을 의미할 수 있다. ) <다운로드, 전송, 수신>
Hypertext Transfer Protocol -> MIME Multipart Media Encapsulation Percent (첨부 파일 가능성)
Hypertext Transfer Protocol -> Line-based text data (웹쉘, 페이지에 응답 텍스트가 작성되는 형식 가능성)

 

2.3) Statistics -> Conversations (포트 정보 확인)

설명 : IP 간의 통신 관계와 사용된 포트를 확인할 수 있다.
활용 Tip)

IP 대역 대 및 의심스러운 포트 확인

 

2.4) Statistics -> HTTP -> Packet Counter (HTTP 상태 코드 확인)

설명 : HTTP 상태 코드를 통해 정상/비정상적인 요청을 식별할 수 있다.

활용 Tip)  

404가 많을 경우 스캐닝 도구의 사용 가능성을 고려해야 한다. 불 필요한 패킷 및 정상 응답 상태 확인

 

2.5) Statistics -> HTTP -> Requests (요청 정보 및 URL 확인)

설명 : 요청된 URL 및 전송 내역을 확인할 수 있다.

활용 Tip)
의심되는 포트가 해당 내역에 포착되지 않았을 경우 HTTP 프로토콜을 사용하지 않았을 확률이 있다.
Burst Start를 누르면 패킷을 순서대로 나열한다.
이상한 URL 주소 및 다운로드 (bat).. 가 시도 되었는지 확인

의심되는 파일 다운로드 시도(bat, exe 등)가 있었다면 주의 깊게 분석

 

 

3. 객체 추출 및 세션 재구성

https://unit42.paloaltonetworks.com/using-wireshark-exporting-objects-from-a-pcap/

 

 

PCAP 분석에서는 트래픽 속에 포함된 실제 파일이나 데이터 객체를 복원하는 작업이 필수적이다.

 

 

3.1) File -> Export Objects -> HTTP (Object file 추출)

설명 : 캡처된 패킷에서 HTTP 트래픽에 포함된 파일을 추출할 수 있는 기능이다.

활용 Tip)

Content Type 확인
application/X-msdos-program : 윈도 배치 파일일 가능성이 있다.
application/octet-stream : 다운로드 형태 보다는 URL 접속 시 나타날 수 있다.

 

3.2)  의심되는 패킷 선택 후 오른쪽 클릭 -> Follow -> TCP Stream (패킷 스트림 확인)

설명 :  하나의 TCP 세션에서 주고받은 데이터를 재구성해서 보여줌, (Source IP, Source Port, Destination IP, Destination

Port 4개가 동일한 패킷들만 모아서 하나의 Stream으로 간주)

활용 Tip)
한 번의 TCP 연결(예: 3-way handshake로 시작해서 FIN/RST로 끝나는 것) 내에서의 전송 데이터 전체를 보는 기능
만약 같은 호스트끼리 여러 연결이 있었다면, Stream 번호가 다르게 할당되어 다른 Follow 창에서 확인해야 한다.
payload 확인

 

4. 부가 분석 기법

압축된 패킷 데이터의 경우 gzip decoder 등의 도구를 활용하여 평문 데이터를 복원할 수 있다. 이는 은폐된 악성 코드나 숨겨진 통신 내용을 확인하는 데 효과적이다.

 

NetworkMiner와 같은 보조 도구를 사용하면 객체 추출이 훨씬 편리하고 Wireshark보다 직관적인 UI를 통해 분석 효율을 높일 수 있다. NetworkMiner는 패킷 내 포함된 파일, 이미지, 인증 정보 등을 자동으로 추출할 수 있으며 시각적으로 정리해 보여주기 때문에 빠르게 이상 패킷을 확인할 수 있다.

 

단, 추출된 파일을 로컬 환경에 저장할 경우 반드시 격리된 가상 환경에서 실행해야 하며 안티바이러스 탐지로 인해 추출한 파일이 삭제 될 수있으니 확인해야 한다.

 

 

5. 마무리

pcap 파일을 분석할 때 단순히 패킷만 살펴 보는 것보단 필터링 → 통계 분석 → 객체 추출 및 세션 재구성의 흐름으로 분석을 진행한다면 네트워크에서 발생한 공격 흔적, 이상 통신, 악성 파일 다운로드 여부 등을 효과적으로 확인할 수 있다.

또한 NetworkMiner와 같은 보조 도구를 활용한다면 파일 기반 증거를 빠르게 확보할 수 있다.