본문 바로가기
Networking/Network General (Anything)

와이어샤크 - 1

by 포항돼지 2022. 1. 18.

실무에서도 와이어 샤크를 제일 많이씀

 

여러용도로 사용

1. 침해대응 분석 - 모니터링 (로그분석을 하다 보면 나왔던 패킷 분석)

 - IPS/IDS 장비에서 분석 되었던 패킷 샘플들을 가져와서 읽어보는 대 사용, 실시간으로는 잘 안함

2. 모의 해킹 - 지나가는 클라이언트, 개인PC에서 서버로 가는 값들이 제대로 암호화 되는가에 대한 관점

3. 애플리케이션 - 패킷분석 어떤점들이 노출 되는지, 확인

4. 포렌식 분석 - 침해 대응 관점에서 보게 되는 것

 

winpcap - 패킷 드라이브 (모니터링 모드, 다른 PC 즉 같은 대역에서 발생되는 패킷들을 받아 분석 용)

와이어 샤크 자체만으로 모든 패킷을 분석 할수 없기 때문에 winpcap이라는 모듈을 설치해서 같이 사용

 

dumpcap - dump 패킷들 저장

mergecap - packet file들을 merge 시키는 것

tshark - wireshark 의 콘솔버젼 , 패킷들이 지나가는 것을 확인 , 진단하는 과정에서 많이 사용, 자동화 및 실시간으로 계속 지나가는 패킷들 가운데 내가 원하는 걸 뽑아내기위함 -> 콘솔로 뽑아내는게 편함

 

메뉴바 , 툴바 , 필터 툴바
패킷 데이터 영역 , 스테이터스 영역 (중요한 정보가 많음) 
얘네를 기준점으로 골라냄

Start하면 기본 옵션으로 packet capture

Option 들어가면

이렇게 영역이 나옴
영역 설정해서 패킷 캡쳐 가능

 

output 가면 어떤식으로 출력 할건지,

pcapng = pcap보다 기능이 많아진 next generation format -> XML 형태로 바꿔놓음

pcapng

pcap = lagacy

pcap

 

콘솔형태 = pcap

다른 편한 adapt 잘 되는거 = pcapng

 

promiscuous = 난잡한

 

캡쳐필터 , 화면 필터

 

와이어샤크는 크게 2가지의 캡쳐 방식을 제공

 

1. 캡쳐 필터 (필터를 할때 미리 필터링을 거는 것) , 어떤 인터페이스의 모든 트래픽을 받아옴

-> http, tcp 이런식으로 설정해서 캡쳐필터를 사용

여기서 걸면 됨

왼쪽 녹색 버튼 누르면 어떤 필터 캡쳐할건지 쉽게 종류별로 categorized 되어 있음

berkely packet filter라고 다른 패킷 필터임

 

 

host 192.168.0.1(primitive , 하나의 요소)  &&(and 연산자) tcp port 80

host 를 Host name, ipv4, ipv6로 사용 가능

 

src host 192.168.0.9

 

dst host 192.168.0.251

 

이런식으로 filtering 걸어서 사용 가능함

 

!port 8080 (not , 8080이 아닌 것만 not port 8080 도 사용 가능)

 

 

2. 화면 필터 (받아온 트래픽을 필터링 해서 내가 원하는 정보를 가져오는 것)

대용량 패킷을 수집하는 경우 -> 모든 패킷을 수집 하면 시간도 오래걸리고, 용량도 크다는 것.

패킷필터랑 비슷해 보이지만, 다름

연한 녹색 = 문법이 맞음 , 빨간색 = 문법 틀림

ip.addr==192.168.0.13 and http

 

frame.len <=128 (프레임 크기 기준으로 검색 가능)

 

논리연산자

and , or , xor, not 지원

 

tcp.port==80

!tcp.port==80 뭐 이런식으로 문법 맞춰서 작성해서 검색 하는 것

 

Apply as filter 하면 기존의 캡쳐된 파일에서 더 세밀하게 분석 가능

 

expression 누르면, gui 기준으로 제작 가능

 

와이어샤크 패킷 검색 기능 활용하기

Control + f 누르면 find 나옴

 

젤 많이 쓰는 거 = string(문자열 검색)

Packet list = 패킷 캡쳐된거 창

packet detail = status 창 -> 보통 요쪽에서 string 정보를 가져옴 , 여기꺼 제일 많이 씀

 

공격자가 upload 하는거 확인을 위해 패킷 디테일가서 실제로 overload 된거 에 대해 검색해서 tracking 하는 식 으로 함

 

이런 것들을 골라내기위해서&nbsp;
이런 바이트 값 분석해서, 확인 검색해서 확인 해야함

바이트 정보들 가져온 다음, 

이렇게 Hex value 값 검색해서 분석 하기

 

와이어샤크 statistics

침해사고 모니터링 하는 과정에서, 어떤 것들을 공격 하는지 확인 할 필요가 있는데, 하나하나 분석 해가면 어려움.

어떤 패턴으로 들어왔는지, 뭐 이런거 한눈에 보기 힘드니까 Statistics로 확인함

 

Webservice 로 공격이 들어왔다 , 하면 Statistics에 http 종합적으로 보여주는 거 보면 편함

 

HTTP 중에 Packet Counter 

Requests 를 많이 사용

 

Packet Counter

404 not found = scan 과정에서 없는 페이지로 접근, 사전 파일을 이용해 사전검사 -> 해킹시도

500에러는 없으니 SQL Injection 같은 공격은 없는걸로 볼수 있음

Get = 거의다 요청한 값으로 볼수 있음

 

요청 기준으로 나열 하는 것, 좀 오래 걸림

 

8180 대상으로 무수히 많은 Request 공격이 왔는거 확인 가능

짧은 것만 으로도, port scan으로 돌렸나, 자동으로 돌렸나 확인 가능

포트 별로도 확인 가능

 

와이어샤크 책 및 공부하기 좋은 프로그램

와이어샤크는 단순히, 트러블 슈팅 목적이 아닌, 패킷 분석과 CTF 보안 사고 대비해서 모니터링 하는 것, 그리고 침해 사고 분석용

 

CTF

이런거 보고 패킷 악성코드 샘플 같은거 보고 확인 가능

 

와이어샤크에 내 주석 달아서 나만의 분석 결과 만들기

 

밑에 저 word icon 같은거 누르면 파일 정보가 나옴
Caputure file comments 에 comments 입력 하면 그 entire 패킷파일 열때 코멘트가 같이 열림

그렇다면 Frame 별로 Comment 를 달고 싶은경우?

이렇게 오른쪽 누르면 PAcket Comment라는 옵션이 따로 있음,문구는 동일하지만 Frame 별로 다는 것임
이런식으로 기록을 해놓으면
이렇게 indicated 됨 , 하나씩 manually 달아야되서 잘 안쓸듯

내가 원하는 패킷들만 짤라서 집중적으로 분석 및 보관 하는 법

Display Filter -> 저장 하는 순서임

대충 먼저 마크를 해 놓아야 함

File -> Export Specified Packets -> Select Packet saving option -> Save -> Done

매우 메뉴얼리 저장 해야 하네.. 개 귀찮을 듯 -> Python Scripting 으로 할 수 있는 방법 없는가?

 

가성머신 환경에서 발생하는 공격 캡쳐

칼리 리눅스(보안쪽에서 많이 쓰는 OS)에서 공격 한번 해보자

옵션에서 네트워크 인터페이스 설정먼저 하고 필터링
nikto 로 http 공격 발생

그럼 와이어 샤크에서 패킷이 잡힘 -> 끝

분석할때 몇번째 가고싶다 할때 Control + G 하고 100 치면 100번째 패킷으로 감

 

 

라이브 스크롤 & 컬러 activate

 

Merge 기능을 사용해서 pcapng 파일 합치기

디테일한 분석들을 위해서, 패킷을 합칠 필요가 있을때도 있음.

file -> Merge에서 merge하면 됨
prepend -> 앞쪽 append -> 뒤쪽 chronologically -> 연대순으로
Mergecap이라는 console program도 있음
이렇게 직접 CLI에서 실행 해도됨

그리고 write(-w) 대신 -v쓰면 합치는 과정도 볼 수 있음

MERGECAP.EXE -v -w 001.pcapng 002.pcapng

output.pcapng 라는 이름으로 새 파일 생성
-a 같은 경우는 뒤에 append 시키는 것

 

'Networking > Network General (Anything)' 카테고리의 다른 글

Cisco BEC attack  (0) 2022.03.06
Cisco Security Training  (0) 2022.03.06
CCNP Part 2 - 9  (0) 2022.01.12
CCNP Part 2 - 8  (0) 2022.01.11
CCNP Part 2 - 7  (0) 2022.01.11