본문 바로가기
Forensics

[포렌식] 네트워크 패킷 포렌식

by 수픽 2021. 2. 8.

네트워크 포렌식

네트워크 포렌식 ⊃ 네트워크 패킷 포렌식

네트워크 포렌식 : 컴퓨터 네트워크 트래픽에서 목적 정보를 수집하고, 분석하는 일련의 과정 또는 기술

네트워크 패킷 포렌식 : 종단간 수집된 패킷에 대해 분석 하는 기술

활용 분야 : 네트워크 흐름 파악, 네트워크 공격/위협 감지, 기업 내부 감사, 악성코드의 분석

 

국내에서는 통신 비밀 보호법으로 인한 통신제한 조치 (도청..)

 

정보의 분류 : 보안장비 로그, 서버 로그, 네트워크 애플리케이션 로그, 하드 상의 네트워크 트래픽 아티팩트 (피씨 상태 점검), 라이브 트래픽, 네트워크 관련 장비

 

네트워크 패킷 포렌식 기초

Port Scan과 같은 공격 유형 판별 시 중요한 정보

*Port Scan

운영 중인 서버에서 열려 있는 TCP/UDP 포트를 검색하는 것

TCP 플래그

 

TCP 3-way Handshaking

가장 기초가 되는 네트워크 통신 연결 방식

3-way Handshaking

HTTP

인터넷 프로토콜

광범위하게 사용. S/C 모델, Request와 Response, 

HTTP 1.0/1.1 버전

메소드 : 요청에 대한 행위 표시

URI : 서버 자원에 접근

 

HTTP Method

현재는 보안상 이유로 GET, POST만 사용

HTTP Method

네트워크 패킷 포렌식 분석

패킷 분석 시 나타나는 패킷 형태

평문 : FTP, Telnet, HTTP (아이디와 패스워드가 모두 평문)

base64 인코딩 후 전송 : SMTP, IPOP와 같은 메일 전송 프로토콜

-> PortScan과 같은 스캐닝 공격은 일정한 형태(구조체)를 갖고 있음

 

PortScan

1. TCP OPEN Scan

TCP 처음 연결 시 일어나는 3-way 핸드셰이킹을 탐지하는 기법

포트가 열렸을 때 : 3way 핸드 셰이킹 형태

포트가 닫혔을 때 :  RSP/ACK 응답

TCP Open Scan

 

2. TCP Half OPEN Scan (SYN Scan)

TCP 핸드쉐이킹을 완전히 수행하지 않고, 처음 SYN 패킷만을 받은 후 검사를 완료하는 방식

포트가 열렸을 때 : 3way 핸드 셰이킹 형태와 비슷하지만 마지막 패킷이 RST

포트가 닫혔을 때 :  RST/ACK 응답

TCP Half Open Scan

 

3. UDP Open Scan

많은 시스템에서는 보낸 패킷에 대한 응답이 없을 때 ICMP unreachable 메시지를 보냄

ICMP 메시지를 보내지 않는 경우, 닫혀 있는 포트를 열려 있다고 판단하는 경우 존재

포트가 열렸을 때 : 비연결지향이기 때문에 일방적으로 전송

포트가 닫혔을 때 : ICMP 패킷으로 연결할 수 없다고 응답

UDP Open Scan

 

4. ACK Scan

포트가 열렸을 때 : ACK 전송

포트가 닫혔을 때 :  윈도우 사이즈(프레임 구조에서 확인 가능)가 0이 아닐 경우에 응답

ACK Scan

 

5. Stealth Scan

공격시 가장 많이 사용

Stealth Scan

FIN : FIN Flag만 활성화

X-mas : 모든 Flag 활성화,조합

NULL : 모든 Flag 비활성화

->X-mas는 일정한 형태, 구조체를 나타낼 수는 없음

->플래그가 비정상적으로 조합되어 오면 X-mas인지 NULL인지 구분

 

네트워크 패킷 포렌식 도구

Wireshark

논리 연산자를 이용한 필터링

특정 호스트의 패킷, 특정 두 호스트의 통신 패킷, 특정 포트 패킷, 특정 호스트의 특정 포트 패킷 캡처 가능

Wireshark - 필터링

 

[File]-[Export Objects]-[HTTP] : 패킷에 대해 컨텐츠 타입 별로 확인 가능 (ZIP,html)

[File]-[Export Specified Packets] : 화면에 디스플레이 되고 있는 패킷들을 저장하고 싶을 때

[Statistics]-[Conversations] : 프로토콜 별로 확인 가능 (IPv4, TCP, UDP..)

 

NetworkMiner

[Hosts] : 패킷을 열면 자동으로 호스트를 분석, 어떤게 통신이 됐는지 세션 정보를 알 수 있음

[Files] : 해당 패킷으로부터 카빙할 수 있는 파일들을 자동 복구

[Messages] : 메시지들 복호화

-> 주로 메시지, 파일 카빙 시 사용

 

* 파일 카빙( File Carving )

메타데이터가 아닌 파일 자체의 바이너리 데이터(content, signature, header, ... )를 이용해 디스크의 비활당 영역에서 파일을 복구하는 방식

 

CapTipper-master

Captipper.py 

패킷에 대해 넘버링

패킷 헤더, 내용 분석

트래픽 내에서 파일 추출, 흐름 분석

log 명령으로 페이지 탐색 모니터링 가능

 

'Forensics' 카테고리의 다른 글

[포렌식] 안드로이드 루팅하는 법  (0) 2021.07.30
[포렌식] 침해사고 포렌식  (0) 2021.02.01
[포렌식] 악성코드 분석  (0) 2021.01.23
[포렌식] Volatility 사용법  (0) 2021.01.20
[포렌식] 디지털 포렌식  (0) 2021.01.18