2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

WireShark

2022. 9. 18. 17:56ㆍSK Rookies 9/Network System Secure

WireShark는 패킷 분석 도구이다.

Ubuntu_DVWA에서 핑을 날린 결과
이더넷 헤더
IP헤더
ICMP

98byte인 이유 = 이더넷 헤더 + IP헤더 + ICMP

DVWA에서 로그인 하고 로그인 정보 보기

로그인 버튼을 눌렀을 시
ID Password 정보

FTP_sniff.pcapng 분석 (Id Password 찾기)

분석 결과

telnet_sniff.pcapng (Id Password 찾기)

frame matches로 찾은결과

위의 사진의 결과 id는 blackpink인 것을 알 수 있었다.

그래서 PacketDetails에서 String으로 blackpink를 검색한 결과 3-Way-Handshake의 모습을 볼 수 있었다.

  • 3-Way-Handshake
    • TCP 연결시 서로의 연결에 대한 정보를 교환하는 방법으로 연결을 요청하는 쪽에서 [SYN]을 보내면 요청 받는 쪽이 연결이 가능한 상태시 [SYN, ACK]가 날라온다 그럼 [ACK]를 보내 연결을 한다. ( # 연결 불가능 할시 [RST,SYN]가 날라옴)

blackpink 검색 결과

흐름을 보기위해 TCP Stream을 누르면

TCP Stream

위와 같이 id : blackpink password : love 인 것을 알 수 있다.

(# 아이디 및 명령어가 두번씩 쳐진 것은 echo의 영향)

ftp-clientside101.pcapng (이미지 찾기)

패킷을 분석해보면 로그인을 하였고, 우리의 문제는 파일을 찾는 것이다.

문제는 아니지만 복습 -> id, passwd 찾기

우선적으로 파일을 전송하기 위해서는 파일자체는 데이터가 큰 편이므로 length가 크고 분할 혹은 단편화 과정을 거친 것 처럼 보이는 패킷이 연속되어 있는 것을 보면 된다. 또한 파일을 찾는 것이니 파일 전송 프로토콜인 FTP를 기반으로 요청패킷을 분석해 봤다.

ftp.request 결과

위의 사진처럼 pantheon.jpg를 요청한 것을 볼 수 있고 이 패킷의 번호를 토대로 그 이후 패킷을 보면

사진 요청 이후 패킷들

위의 사진처럼 3-Way-Handshake을 거친 후 1514로 분할 혹은 단편화(위의 경우 TCP/IP 통신을 했으므로 분할과정을 거쳤다)과정을 거친 모습이 보인다. 그럼 3-Way-Handshake이후 패킷의 흐름을 보면

흐름의 일부

.jpg의 매직넘퍼인 JFIF가 보이는 것을 알 수 있다. 이 파일을 Raw로 변경한 후 저장하면 이미지를 볼 수 있다.

pantheon.jpg

whoisshe.pcapng (이미지 찾기)

패킷을 분석해보면 우선 80번 포트와 통신을 하는 것을 볼 수 있었다. -> HTTP통신이므로 웹이다.

패킷 일부

그래서 http.request로 검색한 결과 이용자는 yura.jpg를 요청한 것을 볼 수 있었다 위 문제와 동일한 방법으로 251번 패킷 이후를 분석해보면 

http.request결과 일부
251 이전 이후 패킷들

위와 같이 TCP연결을 거친 후 파일전송이 시작된 것을 볼 수 있다. 흐름으로 보면 

흐름도 일부

위 문제의 FTP전송과는 다르게 HTTP는 요청과 응답 메시지도 흐름에 포함되는 것을 볼 수 있는데 이렇게 되면 단지 Raw로 바꾸어 jpg로 저장하는 방법은 안된다. -> 헥스 에디터 도구를 이용하여 파일 매직넘버 이전부분을 지운 후 .jpg로 저장하면 이미지를 얻을 수 있다.

<유라 이미지 나중에 등록>

네이버 검색캡쳐.pcap (검색 결과 찾기)

네이버로 검색한 글자를 찾는 문제이다. 우선 네이버에 검색을 했을 시 흐름을 머리속으로 생각해보면 입력 할 때마다 추천 검색어가 등장하는 것을 알 수 있고, 또한 검색을 했을 시 서버에 검색 결과를 요청을 해야 한다는 것을 알 수 있다. 이를 토대로 HTTP GET을 검색해보면 된다.

검색 결과 일부분

위 사진을 보면 steve jobs를 검색한 것을 알 수 있었다.

lemieux.pcap (파티에 참석하기 위한 비밀문구는 무엇일까요?)

파티에 참석하기 위해 파티 초대장을 이메일로 받아야하는데, 초대장을 보낸 패킷을 분석하는 문제이다.

mail로 검색한 결과

위의 사진처럼 mail단어를 기반으로 검색한 결과 손쉽게 얻을 수 있었다. 메시지 전체를 알기 위해 복사를 해보면

Value로 복사하기

Hey! I want to plan a party at your venue. I'm expecting a lot of people though and I don't want anyone who isn't supposed to be there showing up for the fun. If you can do me a favor and make sure to ask for the phrase "brooklyn beat box" before letting attendees in, that would be awesome!

와 같은 내용을 알 수 있다.

회사 내부의 스파이를 잡아라

Wireshark Forensic Contest.pptx
0.48MB

  • ch01) evidence01.pcap

어떻게 접근해야 할 지 모를때는 흐름별로 조사하는 방법으로 조사해본다.

흐름 번호
Eq2

2번째 흐름을 보던중 recipe.docx라는 레시피 파일이름을 알 수 있었고, 또한 Sec558user1이라는 유저를 알 수 있었다.

이 정보를 토대로 1. docx파일이 오갈만한 연속된 length를가진 패킷을 찾는방법 2. 계속해서 흐름 번호를 늘려보며 분석하는 방법을 사용하여 분석하면

분석결과

recipe.docx가 등장하고 docx의 파일 매직넘버인 PK를 확인할 수 있었다. -> PK이전을 지우면 레시피를 얻을 수 있다

예전에는 Office File의 확장자가 doc, ppt, xls 이었음.

요즘에는 Office File의 확장자가 docx, pptx, xlsx  --------> XML형식으로 작성됨 : File Signature는 PK (50 4B 03 04)가 됨

<레시피 파일 이미지 나중에 업로드>

  • ch02) evidence02.pcap

( # SMTP란 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜이다. 사용하는 TCP 포트번호는 25번이다.)

패킷 앞부분 일부분
메일 보낸 흐름을 본 일부분

앞부분을 보면 이렇게 암호화되어있지만 ID와 Password를 알 수 있다. (암호의 경우 해쉬로 판단된다.)

또한 이메일 주소들을 알 수 있다. (보내는 사람이 sneakyg33k로 받는 사람은 sec558 위 문제에서 얻은 user정보이다. -> 받는 사람은 직원으로 추정, 보내는 사람은 범인 Ann이다.)

 

sneakyg33k을 토대로 검색한 결과 두번째 메일을 찾을 수 있었다. 패킷 No을 보면 메일을 두번 보낸 것을 확인 할 수 있다.

이메일로 검색한 결과
2번째 메일 흐름

흐름을 본 결과 "secretrendezvous.docx"를 보낸것을 알 수 있었다.

# Email Web Mail 차이는??

  • Web Mail은 웹브라우저로 열어봅니다.  ---->  ex) 네이버, 구글, 다음 등등
  • Email은 Outlook, Outlook Express, 메일(Win10)  확장자는 eml( tcp stream eq 1 eml 저장한 , 메일 또는 Outlook으로 열어보면 )

<이메일은 나중에 업로드>

  • ch03) evidence03.pcap

검색한 영화를 찾는 문제이므로 http.request.method == GET 혹은 frame matches search로 찾아보면

첫번째 검색
두번째 검색
세번째 검색

위와 같이 3번의 검색을 한 것을 알 수 있다. 위의 검색을 토대로 search 혹은 movie로 검색하여 영화를 검색해서 본 영화가 무엇인지 알아보면 

유일하게 id가 있다

위와 같이 영화 id를 가진 단 하나의 패킷을 볼 수 있었다.

이후 계속

  • ch04) evidence04.pcap

스캐닝

- 열린포트에서는 ACK/SYN 응답, 닫힌포트에서는 ACK/RST 응답  ----> 열린포트를 있음

1. TCP SYN Scan (Half Open Scan, Stealth scan)

- SYN 보내고, 서버의 포트가 열려있는지만 확인하고, 마지막 ACK 안보냄  ----> 연결이 이루어지지 않음

 

2. TCP ACK Scan

- ACK 보내서, 응답이 없으면 열린포트, RST 오면 닫힌 포트

 

3. UDP Scan

- 실행중인 포트에서 UDP응답이   (UDP Handshaking 없으므로, 닫힌포트는 ICMP destination unreachable)

 

4. TCP Connect Scan (연결 완성)

- SYN 보내서, ACK/SYN 오면, ACK 보내줌 ----> 정상연결

 

5. TCP Xmas 

- TCP Flag 모두 1 만들어서 보내는 공격 :  111111  -----> Flag 6개를 모두 활성화(엉터리 로직)

- 열린포트는 응답없음, 닫힌포트는 RST 보냄 ---> 구분 가능

 

6. TCP RST

- RST 보내는 기법 ( 사용 안함)

 

* Apple MAC : Hardware OS 같이 판매  ----> MAC주소에 Apple이라고 나옴

  Windows : Hardware MAC주소가 Network 장비 회사, OS TTL=128 응답, 135, 139 포트 열려있음

TCP Flag 순서 : UAPRSF  

U:32, A:16, P:8,  R:4,  S:2, F:1   ---->  오른쪽부터 2의 0승, 2의1승, 2의2승....

열린포트에서 어떻게 응답??   ACK/SYN  --->  010010   ----> 16+2 = 18    디스플레이 필터에 입력 tcp.flags == 18

- ACK로 응답하는지 확인하려면? 010000   ---->     디스플레이 필터에 입력  tcp.flags == 16

 

 

 

 

 

'SK Rookies 9 > Network System Secure' 카테고리의 다른 글

로그 분석  (0) 2022.09.22
Metasploit 실습  (0) 2022.09.21
Exploit  (0) 2022.09.20
암호화  (0) 2022.09.19
9월 15일  (0) 2022.09.16