network/wireshark

[Wireshark] Wireshark 기본 활용 방법

xudegloss 2024. 1. 23. 22:59

사용 목적

1) 침해대응 분석 - 모니터링 (IPS/IDS 패킷 샘플)
2) 모의 해킹 - PC > 서버 (암호화 통신 정상 동작 여부 체크 등)
3) 어플리케이션 패킷 분석
4) 포렌식 분석 (침해대응 관점에서 사고 대응 및 개인정보노출 정보 분석)

 

 

따라서, 패킷 분석 시 wireshark 많이 활용

  • winpcap : 같은 대역에서 발생하는 패킷 모니터링 가능하도록 하는 드라이브 및 라이브러리 
  • 라이브러리 : 필요 시 사용하기 위하여 미리 작성한 코드 및 함수의 모음
  • 드라이브 : 하드웨어 또는 장치를 제어하기 위한 소프트웨어
  • wireshark가 설치된 C:\Program Files\Wireshark 경로로 접속 시, 여러 응용 프로그램 확인 가능

 

wireshark GUI

  • 메뉴바
  • 툴바
  • 필터 (패킷 필터를 2차적으로 해야 되는 경우, 많이 활용)
  • 패킷 리스트 영역
  • 리스트에 관한 상세 내역
  • 패킷 데이터 영역
  • 스태튜스 바 (패킷 필터해야 되는 경우, 이 정보를 기준으로 설정)

 

Edit  > Preferences (사용자 인터페이스 설정)

  • [columns] 새로운 칼럼 추가 / 제거 및 설정 가능
    * no는 수집된 숫자 값을 의미하고, 하나의 패킷만 보는 경우에는 no 값이 들쑥날쑥 할 수 있다.
  • [font and colors] 폰트 사이즈 설정 가능

 

 

Capture > Option (네트워크 인터페이스 설정 후 부가 설정) 

  • [Input] 1차적으로 필터 설정 및 네트워크 인터페이스 설정 (host-pc 아이피 확인 후 인터페이스 설정)
    *  enable promiscuous mode on all interfaces 체크 (네트워크 상 모든 트래픽을 모니터링하고 싶은 경우 이용)
  • [Output] 저장 형식 설정 (파일 쪼개서 저장하고 싶은 경우 이용)
  • [Options] Real-Time 패킷 정보 업데이트, 실시간 스크롤, 패킷 정보 표현하는 방식

캡처 필터 배경색이 녹색인 경우에는 정상적으로 입력된 것을 의미하고, 빨간색인 경우에는 잘못 입력된 것을 의미

 

1) format 참고하여 1차적으로 필터링 진행하기 (캡처 필터)

2) 그 후에, 화면 필터에서 2차적으로 필터링 진행하기 (화면 필터)

 

 

문법 헷갈리는 경우 참고할 만한 부분 (화면 필터 시 유용한 기능)

1) 패킷 리스트 영역에서 필터링 가능
마우스 오른쪽 > apply a filter > selected 클릭하여 동일한 조건으로 필터 사용

2) expression 참고하여 필터링 가능 
Analyze > Display Filter Expression 클릭하여 원하는 조건 생성 가능

 

 

 

Edit > Marked/Unmarked 또는 View > Coloring Rules (마스킹 처리 설정 및 룰 추가)

  • 원하는 패킷 마킹 처리할 수 있음 (침해대응 시 유용하게 활용)
    * ctrl + shift + n 이용하여 마킹 처리한 패킷만 확인 
  • 특이한 패킷은 필터 추가하여 색상으로 표기 가능 (새로운 룰 추가 이용)

특이한 패킷만 따로 추려서 보고 싶은 경우에는 새롭게 룰 추가하여 확인하면 된다.

 

 

또한, File > Export Specified Packet에서 원하는 패킷만 Export하거나 File > Print에서 원하는 패킷만 출력 가능하다.

패킷 나눠서 저장하는 4가지 기준

1) Selected Packets (1개만)
2) Marked Packets (아까 체크한 패킷)
3) First to last marked (마크 첫 번째부터 마크 마지막 패킷까지)
4) Range (범위는 num 기준)

 

 

침해 대응 시 유용하게 사용하는 마킹

1) Edit > Mark 처리 

2) Edit > Find packet 이용하여 찾고자 하는 패킷 확인

string 이나 Hex value 많이 이용 (Hex value는 중간에 의미 없는 패딩같은 존재가 존재할 수 있기 때문에 이용)

ㄴ Hex value 이용 시, 아래와 같이 Hex 값을 복사하여 이용 가능

* Case Sensitive는 대, 소문자 구분 시 체크 

 

 

Statistics에서 상태 요약 후 패킷 접근

  • 바로 접근해도 좋지만, Statistics에서 패킷의 대략적인 정보 확인 후 접근하는 것이 더욱 "효율적"
  • HTTP나 IPv4 위주로 확인

 

 

패킷에 Comment 작성 (전체적인 File 또는 각각의 패킷)

  • [전체적인 File에 Comment] 스태튜스 바에 연필 클릭 > Capture file comments에 추가하고 싶은 Comment 입력
  • [각각의 패킷에 Comment] Comment 남기고 싶은 패킷에 오른키 눌러서 추가

 

완료 후 연필 클릭하면 전체 파일 Comment 내용과 각각의 패킷의 Comment 내용 확인 가능

 

 

가상 환경에서 패킷 확인하는 방법

네트워크 가상 인터페이스 확인 후, 알맞은 네트워크 인터페이스와 연결 진행

 

와이파이로 하는 경우는 호스트 os와 무선으로 통신하는 단말의 패킷을 확인할 수 있고, 가상 네트워크 어뎁터에서는 가상 환경에서 만든 서버의 os에서 통신하는 패킷을 확인할 수 있다.

 

 

메인 툴바 기능

  • 패킷 시작 및 중단
  • 저장했던 패킷 파일 불러오기
  • 다시 패킷 불러오기 (Reload)
  • 패킷 찾기 (ctrl + f) 대부분 string 통하여 패킷 찾기
  • 패킷 번호로 찾기 (ctrl + g) 패킷 번호 통하여 패킷 찾기
  • 맨 위로 올라 가거나 맨 아래로 내려 가기
  • 자동적으로 패킷 보이도록 설정하기
  • 룰에 따라 패킷 색상 보이도록 설정하기
  • 폰트 크기 조절하기
  • 칼럼 폭 조절하기

 

 

Merge 통하여 패킷 합치는 과정

서버를 향하여 공격이 들어오면, IDS/IPS에 패킷 쌓이기 시작

관리자는 그 패킷을 확인하면서 침해 대응 진행 (패킷 쪼개기도 하고, 합치기도 하고)

 

1) GUI에서 직접 패킷을 합치는 과정

file > merge > merge packets chronologically 

기본적으로는 시간 순서대로 합쳐지지만, 맨 위 또는 맨 아래에 합치기도 함

 

2) 관리자 권한 이용하여 패킷 합치는 과정

CLI와 merge.exe 이용하여 패킷을 합칠 수 있다.

합치고자 하는 패킷 파일은 모두 wireshark가 설치되어 있는 경로에 모두 저장하기.

 

// 기본 
mergecap.exe -w [병합 파일 이름] [병합하고자 하는 파일 이름] [병합하고자 하는 파일 이름]

// 001.pcapng에 002.pcapng를 "시간 순으로" 병합하여 output01.pcapng로 저장
C:\Program Files\Wireshark>mergecap.exe  -w output01.pcapng 001.pcapng 002.pcapng 

// 2. 001.pcapng 뒤에 002.pcapng를 병합하여 output02.pcapng로 저장
// -a : append 의미
C:\Program Files\Wireshark>mergecap.exe  -w output02.pcapng 001.pcapng 002.pcapng -a

 

 

추가 정보

  • 패킷 캡처로 1차적으로 들어오는 패킷 거름
  • 화면 캡처로 들어온 패킷을 2차적으로 거름
  • 필터링한 패킷 정보를 저장하고 싶은 경우에, 특정 패킷만 저장하는 옵션 이용하여 패킷 저장
  • 마킹하든 필터링을 하든 나눠서 패킷 파일을 저장할 수 있고, 필요에 따라서 다시 병합할 수도 있음

 

 

.

.

.

 

 

침해 대응 과정

1) 전반적인 내용 보면서 패킷에 접근 (Statistics)
2) 1, 2차 필터링하여 의심가는 로그 전반적으로 찾고, 상황 파악 (캡처 필터 및 화면 필터)
추가적으로, 문자열 및 Hex 값으로도 패킷 찾기 가능
3) 새로운 룰 추가하여 색상으로 패킷 구분 및 의심스러운 패킷은 마킹하여 구분
4) 필요에 따라 Comment 작성도 가능
5) 상황에 따라 패킷을 나눠서 저장해야 되는 경우, 필터 걸어서 저장할 수도 있고 마킹 처리 기준으로도 저장 가능