디지털 포렌식 #23 (CTF - D Defcon#21)

0

디지털포렌식

목록 보기
89/115

1. 회의가 예정된 요일은 언제인가?

1번에 걸맞는 난이도를 가진 문제였다. Wireshark를 통해 conversation(Stream을 묶어서 보여준다.)분석을 수행한다면, IRC 대화 목록을 확인할 수 있다. Greg라는 인물과 대화하고 있음을 알 수 있다. 그러다 갑자기 평문이 사라지고 난독화된것 처럼 보이나, 유심히 살펴보면다면 어떠한 형태로 인코딩 되었는지 알 수 있을 것이다. 따라서 정답을 알 수 있다.
(IRC : Internet Relay Chat)

2. 그들은 어느 도시에서 만납니까?


1번 문제와는 다른 파일이 주어지고, 약 7,000개의 패킷이 보인다. 이전 문제와 마찬가지로 Conversation을 분석해보았지만, 특별히 이상한 점은 발견하지 못하였고, NetworkMiner를 통해 다시 분석해보았다.

다음과 같은 메시지를 확인할 수 있었고, PW를 획득하였다. PW를 획득한 데에서, Zip 파일 등을 암호화된 압축파일을 예상했다.
메시지 분석을 계속 진행하다보면, 다음과 같은 메시지를 확인할 수 있다.

  • DCC SEND r3nd3zv0us 2887582002 1024 819200
    구글링을 통해 무슨 의미를 지니는지 찾아보면, Direct Client to Client를 의미함을 알 수 있다. IRC 프로토콜의 하위 프로토콜로써, 파일을 교환하는데 사용한다고 한다. (https://en.wikipedia.org/wiki/Direct_Client-to-Client#DCC_SEND)

  • DCC SEND filename(1) ip(2) port(3) file size(4).
    그렇다면, 파일이름은 r3nd3zv0us이며, ip는 2887582002(decimal, decimal to ip로 변환 필요, 변환한다면 172.29.1.50), port는 1024, file size는 819200임을 알 수 있다. 이 때, IP와 port는 모두 "발신자"의 것이다.

그럼, 발신자의 ip와 포트를 통해 wireshark로 검색해보자.
ip.src == 172.29.1.50 and tcp.port == 1024
그 후 Follow - tcp를 확인해본다면,
아까 확인한 용량과 동일하게 819kb가 확인된다. 그럼 raw 형태로 추출해보자.
그런데, 파일을 잘 살펴보면 "헤더 시그니처", "푸터 시그니처"가 없다. 우린 PW를 가지고 있다. 시그니처 없음 + PW = > Truecrpyt를 떠올리면 된다.

복호화를 진행해주자

  • TrueCrypt Mode 옵션 선택 안 할 시 오류 발생함.

그럼 Flag가 있는 파일을 확인 할 수 있다.

3. Gregory가 Betty를 만나지 못한다면 어떻게 죽게 되는가?

이전 문제들과 마찬가지로, 별 다른 정보 없이 파일만 전달해준다.
Networkminer로 분석을 시도해봐도, Message는 존재하지 않는다. 다만, File들의 목록을 살펴보면, MMS 가 있다. 우리가 아는 그 MMS.

wireshark에 필터링을 걸어서, 분석을 시도해봤다.
ip.src == 10.92.182.35 and http contains POST(대/소문자를 구분한다.)
그럼 패킷이 나오고, Follow - TCP를 통해 분석해본다면 여러 Mp4들이 존재함을 알 수 있다.

MP4의 시그니처 : 00 00 00 18 66 74 79 70

HxD로 내보내서 Carving을 진행해봤다.

답을 알았다.

  • networkminer의 Frame No. != Wireshark No.

  • 이번 문제에서 얻은 점 : Wireshark에서 Hex dump의 검색을 하기보다, hxd로 내보낸 다음 시그니처 검색하기.

4번 Gregory에게 제공된 비밀번호는 무엇인가?

Networkminer, Wireshark는 이제 기본이다. 그럼 Networkminer에서 2개의 메시지를 확인할 수 있다.

그 중, 1번째 메시지는 뭔가 독특하다. kml로 작성된 정보들과, 위도/경도 값들이 있다. 다만, 위도/경도의 마지막에 "," 문자가 있어서 더 이상함을 느꼈다. 원래의 패킷을 보기 위해, Wireshark를 통해 필터링을 걸어 찾아보자.


눈 아프다.
아무튼 찾아냈다. 원본과 비교해서, 끝 부분이 잘려졌다면 합쳐보자.
근데 생각해보니, 어차피 둘이 겹치는 부분이 있다면, Wireshark에서 확인한 패킷이 더 크니까 덮어 씌우는게 더 낫다고 판단했다.

덮어씌워주었고, 열려고 해보니 오류가 있었다.
=> \ 를 제거해주어야함.

kml viewer로 열어주면,
답을 찾을 수 있다.

5번 Gregory에게 무슨 일이 일어 난건가?

압축 파일이 주어진다. Dump가 들어 있다. 그냥 이것 저것 뒤져보니, DCIM (사진 폴더)에 특정한 사진이 있다. 답 발견.

6번 악성 페이로드의 용량은 몇 Byte인가?

파일을 열어보면, 패킷이 몇 개 없다. 좋다.
Wireshark의 Conversation을 분석해봐도, 뭐 단서가 딱히 없다.

전체 패킷을 분석하던 중, POP 프로토콜을 Follow해봤다.
mrsd34thm3rch4nt 라는 파일을 전송하는 과정이 있구나 라고 추측했고, Virustotal 올려서 검사해보니 답을 찾은 것 같다.

7번 Victoria가 지시한 허위(악의적인) 웹페이지의 URL은 무엇입니까?

wireshark를 통해, http로 내보내진(export)된 object들을 살펴보다보면, bank of america에 관련한 URL들을 발견할 수 있다. 다만, 그 중 하나가 수상하다. 개수도 1개이고, 일반적인 사이트의 형식이 아니다. 그래서 패킷을 분석해봤더니, 다음과 같은 내용이 있었다.

activity%2F&mboxReferrer=http%3A%2F%2Fwww.google.com%2Furl%3Fsa%3Dt%26rct%3Dj%26q%3Dwhy%2520is%2520my%2520bank%2520of%2520america%2520account%2520not%2520working%253F%26source%3Dweb%26cd%3D2%26ved%3D0CD4QFjAB%26url%3Dhttp%253A%252F%252Finfocenter.bankofamerica.com%252Fsmallbusiness%252Fic2%252Fonline-banking%252Fview-balances-account-activity%252F%26ei%3DdS_XUdu5Gei7igLL7YHQDw%26usg%3DAFQjCNEh7nqNYvobnOUp-5_YMQJn7YTKEQ%26bvm%3Dbv.48705608%2Cd.cGE&mboxVersion=41 HTTP/1.1

왜 동작하지 않냐고 한다. 동작을 안한대.

8번 누가 그레고리를 죽였는가?

RTP 라는 프로토콜이 있다.
Real-time Transport Protocol
오디오/비디오를 전송하는 프로토콜이다. 감사하게도, Wireshark는 자체적으로 RTP 분석을 수행해준다.
도구가 짱이다.


출처 : https://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791196058432

0개의 댓글