본문 바로가기
Security/Digital Forensic

[Digital Forensic] 네트워크 포렌식 툴

by 단월໒꒱ 2022. 5. 10.

 네트워크 포렌식 툴

 

네트워크 포렌식이란?

네트워크 기반으로 생겨난 데이터 분석 기법으로,

네트워크를 통해 전송되는 데이터, 패스워드 등 데이터 트래픽을 분석하거나

접근 에러 로그, 네트워크 환경 등을 조사하여 수사 단서를 찾아내는 분야이다.

 

 

네트워크 포렌식 툴로는

CapTipper, Network Miner, Wireshark, Xplico 등이 존재한다.

 

 

 

CapTipper

 

  CapTipper는 Python 기반의 악성 트래픽 분석 도구이다.

 

  트래픽 내에서 파일을 추출하고 흐름을 분석할 수 있다.

  이외에도, 로그 명령으로 페이지 탐색 모니터링이 가능하며, --report 옵션을 통해 분석 보고서 생성 기능을 제공한다.

 

  가상 서버를 통한 시뮬레이션 기능을 지원해서, 분석하고자하는 pcap 파일을 로드하면 로컬 호스트 상의 가상 서버가 구동되면서 실제 트래픽이 오고 갔던 화면을 그대로 재연할 수 있다.

 

  자바스크립트 내 포함된 iframe 코드를 자동으로 찾아주거나, 바이러스 토탈 API를 통해 자동으로 분석 결과를 업로드/조회할 수도 있다.

 

  간단한 사용법 : https://aaasssddd25.tistory.com/58  참고

 

 

 

Network Miner

 

  Network Miner는 네트워크 패킷 분석 툴이다.

 

  운영체제, 세션, 호스트 이름, 열린 포트 등을 검색하기 위해 수동 네트워크 스니퍼, 패킷 캡쳐 도구로 사용된다.

  각 호스트에 대한 단말의 통합적인 정보를 표현해주므로 분석자가 보기 편하다.

 

  Network Miner는 어느 정도의 복원 작업을 해주기 때문에, 어떤 파일이 전송되었는지 재구성하여 볼 수 있다.

 

  파일 추출 지원 프로토콜 : FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 등

 

 

  네트워크 트래픽 분석 도구 (Wireshark 등)를 사용하여 pcap 생성 후 Network Miner로 상세 분석을 하면 간단하게 네트워크 스트리밍에서 사용되었던 파일, 이미지, 세션 통신 등을 확인할 수 있다.

 

  간단한 사용법 : https://aaasssddd25.tistory.com/58  참고

 

 

 

Wireshark

 

  Wireshark는 오픈 소스 패킷 분석 프로그램으로, pcap을 이용하여 패킷을 잡아내는 것이 주요 기능이다.

 

  무차별 모드를 지원해서 나한테 들어오고 나가는 패킷만 얻을 수 있는 것이 아니라 브로드캐스트나 멀티캐스트 트래픽도 얻을 수 있다.

  

  패킷을 분석하는 툴이기 때문에, 해당 패킷을 보고 싶은 사람이 사용할 수도 있고, pcap 라이브러리를 이용하여 패킷 분석 프로그램을 개발할 수도 있다.

 

간단한 사용법은 아래에서 서술

 

 

  

Xplico

 

  Xplico는 네트워크 포렌식 분석 도구로 패킷 스니퍼(Wireshark 등)로 수행된 수집 내용을 재구성하는 소프트웨어이다. (분석기x)

  

  프로토콜의 애플리케이션 데이터를 재구성하는 것을 목표로 한다.

  예를 들어, pcap 파일에서 Xplico는 각 전자 메일, 모든 HTTP 내용, 각 VoIP 호출, FTP, TFTP 등을 추출한다.

 

 

 

 

 Wireshark 사용법

 

사용법은 https://citizen.tistory.com/6?category=983886 를 참고하였다.

 

 

 

초기 화면

 

  처음 프로그램을 실행시키면 아래와 같은 화면이 나온다.

 

 

 

 

 

상단 메뉴

 

 

 

 

File 캡처 데이터를 열거나 저장
Edit 패킷을 찾거나 표시, 프로그램 속성 설정
View wireshark 설정
Go 캡처된 데이터를 특정 위치로 이동
Capture 캡처 필터 옵션을 설정하고 캡처 시작
Analyze 분석 옵션 설정
Statistics wireshark 통계 데이터 확인

 

 

 

Main Toolbar

 

  주로 많이 사용하는 기능들을 제공하는 툴바이다.

 

 

 

 

 

  패킷 검색 기능 : 특정 헥사 값을 포함하는 패킷을 찾아내는 데에 유용

 

 

 

 

 

Filter Toolbar

 

  특정 조건을 만족하는 패킷들만 추려 화면에 보여줄 수 있도록 필터 기능이 존재한다.

 

  특정 IP 주소, 포트 번호를 사용 중인 네트워크 플로우를 찾아내거나, 프로토콜 별로 패킷을 분리하는 작업을 할 때 유용하다.

 

 

 

 

 

 

  필터링 명령어는 보통 '프로토콜.필드정보 + 비교연산자 + 필드값'의 형식을 하고 있다.

     ex. ip.src eq 10.6.21.101 

             → source node의 IP 주소가 10.6.21.101인 패킷들만 골라서 시각화해달라는 요청

 

 

 

Packet List

 

  패킷들을 수집된 순서에 맞춰 표시해둔 영역이다.

 

 

 

 

  기본적으로는 위의 7개가 나타나는데, 이 외의 정보들은 헤더의 행 영역을 우클릭하여 추가할 수 있다.

  

  헤더 행을 좌클릭할 경우, 해당 열에 있는 정보를 기준으로 패킷을 재배치할 수도 있다.

 

 

 

Packet Details

 

  프로토콜 스택을 표현해줄 뿐만 아니라, 각 프로토콜 레이어의 필드 정보를 자세하게 나타내주는 영역이다.

 

 

 

 

Frame : 1계층 정보

Ethernet : 2계층 정보 (MAC 주소)

Internet Protocol : 3계층 정보 (IP 주소)

Transmission ~ : 4계층 정보

 

 

  특정 필드 정보를 클릭하면 아래와 같이 해당 정보가 패킷 내에서 위치하는 지점을 확인할 수 있다.

 

 

 

 

  필드 정보를 우클릭하여 동일한 필드 값을 갖는 패킷들을 필터링할 수도 있다.

 

 

Packet Bytes

 

  패킷 정보를 헥사 값 상태 그대로 확인할 수 있는 영역이다.

  

  좌측에는 한 줄당 16개의 Hex 값을 표시하고 있으며,

  우측에는 이 값들을 아스키코드로 변환하여 보여주고 있다.

 

  커서를 바이트 값 위에 올려두면 같은 필드 정보를 공유하는 파란색 블록이 생성되고, 어떤 필드 영역이 선택되었는지는 status bar에서 확인할 수 있다.

 

 

 

 

 

 

Status Bar

 

  pcap 파일 정보, 수집된 패킷 개수, expert info 등을 포함하고 있다.

 

 

 

 

 

 


 

 

필터링

 

1. 프로토콜별 분리

 

   ① tcp 프로토콜만 필터링

 

 

 

 

   ② udp 프로토콜만 필터링

 

 

 

 

2. 필드 검색

 

   특정 프로토콜의 필드 종류를 입력하면 해당 필드를 포함하고 있는 패킷을 필터링할 수 있다.

 

   아래는 http 패킷 중에서 host라는 필드를 가진 패킷을 조회한 결과이다.

 

 

 

 

3. 비교 연산

 

   필드값을 비교하여 조건에 일치하는 패킷을 조회할 수 있다.

 

 

같다 다르다 크다 크거나 같다 작다 작거나 같다
eq 또는 == ne 또는 != gt 도는 > ge 또는 >= lt 또는 < le 또는 <=

 

 

유용한 필터링 식

  • eth.addr == 00:3f:1e:00:00:23   //출발지나 목적지 MAC 주소로 검색
  • ip.addr == 192.168.0.2   // 출발지나 목적지 IP주소로 검색
  • tcp.port == 3306   // TCP 출발지나 목적지 포트 번호로 검색
  • ip.src != 10.1.2.3   // 출발지 IP주소가 해당 IP주소가 아닌것 검색
  • eth.dst == 00:3f:1e:00:00:23   // 목적지 MAC주소 검색

 

 

   ① IP 주소 (Source, Destination 둘 다 포함)

 

 

 

 

   ② IP 주소 (Source만)

 

 

 

 

   ③ IP 주소 (Destination만)

 

 

 

 

   ④ TCP port 번호

 

 

 

 

   ⑤ 1 ~ 100번째 패킷

 

 

 

 

   ⑥ TCP 바이트 영역

 

 

 

 

4. 논리 연산

 

   ① TCP port 80번을 쓰지 않는 패킷

 

 

 

 

   ② 길이가 60보다 크고 500보다 작은 패킷

 

 

 

 

5. 그 외

 

  필드 값에서 특정 문자열 검색

 

 

 

 

 

 

 

 

 

 

 

'Security > Digital Forensic' 카테고리의 다른 글

[Hack the Packet 2012] L4  (0) 2022.05.10
[Hack the Packet 2012] L2  (0) 2022.05.10
[Hack the Packet 2012] L1  (0) 2022.05.10
[Digital Forensic] 네트워크  (0) 2022.04.28
[Digital Forensic] 기초암호학  (0) 2022.04.05

댓글