짱짱해커가 되고 싶은 나

[NONamed Wargame] infect writeup 본문

forensic

[NONamed Wargame] infect writeup

동로시 2021. 1. 18. 19:35

Background

FDK imager : 포렌식 작업 중에서 발생할 수 있는 사고를 방지하기 위해 그리고 무결성을 지키기 위해 미디어 이미지를 비트/비트 스트림 단위로 정확히 복사해서 포랜식 이미지를 생성하는 툴이다.

따라서 포렌식을 분석할 때 FDK 이미저를 이용해 포렌식 이미지를 복사해 이 파일을 읽어서 포렌식을 수행한다.

 

frepatch : 윈도우의 프리패칭 기술은 부팅/응용프로그램 실행 시 성능을 향상시키기 위해 구현된 기술이다.

부팅(120초)/응용프로그램(10초)을 모니터링한 뒤 모니터링한 정보를 바탕으로 사용하는 시스템 자원을 프리패치 파일로 만든다. 이렇게 만들어진 프리패치 파일은 재부팅/재실행할 때 미리 저장된 프리패치 파일을 로드 시켜서 속도를 향상시킨다. 프리패치 파일 개수는 최대 128개로 제한하며 최대치를 넘기면 가장 오래된 프리패치 파일을 자동 삭제한다.

 

프리패치의 저장 경로는 %SystemRoot%Prefetch에 존재한다.

부트 프리패치 파일: NTOSBOOT-B00DFAAD.pf

응용 프로그램 프리패치 파일: <filename>-<filepath hash>.pf

 

프리패치 파일을 확인하면 응용 프로그램의 이름, 실행, 마지막 실행 시간, 참조 목록을 알 수 있다.

프리패치 파일의 구조는 다음과 같다.

 

이런 프리패치 파일을 통해 악성코드의 흔적을 찾을 수 있다. 참조 목록을 분석해보면 부팅 시 로드되는 악성코드나 응용프로그램이 인젝션되어 동작하는 악성코드를 찾을 수 있다.

 

DB Browser for SQLite : 크롬 방문 기록, 다운로드 기록 등이 Users/사용자 이름/AppData/Local/Google/Chrome/User Data/Default/History에 SQlite로 작성되어 있다.

문제 분석

문제는 다음과 같다. 악성코드에 감염된 PC이고 악성프로그램을 찾으라고 한다.

파일을 다운받아보니 확장자가 ad1였다. 

 

ad1 확장자 파일이 뭔지 몰라서 검색해보니 AD segmented 파일이라고 한다. access data에서 지원하는 파일 포맷으로  FDK imager가 dump를 수행할 때 확장자를 ad1로 지정했을 때 만들어지는 파일이라고 한다.

근데 공부하면서 느끼는건데 다 윈도우용이어서 맥으로 하기에는 어려움이 있는 것 같다; 다시 그램에서 다운 받아서 하는중..용량 하나도 없는데..에효

 

FDK imager에 이미지로 문제의 infect.ad1 파일을 넣으면 다음과 같이 뜬다.

그리고 root\windows\ 에 Prefecth 폴더가 존재한다. 아마 여기에 있는 pf 파일 중에 악성코드에 대한 pf 파일도 존재할 것 같다. 근데.. 너무 많다;; 이 중에서 악성코드의 pf를 어떻게 알아보징..

 

뭐 좀 더 둘러보면 저 swing 하고 NTFS 써 있는 폴더에는 이미지들이 있었다.

그리고 이미지 파일 사이에 실행 파일이 하나 껴 있다. 혹시 얜가 하구 이거 pf 파일 찾아봤는데 없었당 머쓲-

 

이 폴더는 아닌 것 같은 느낌.. 의 nice try.. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

다음으로 Users 폴더에 들어가니까 다운로드 폴더가 있었다.

수상한 이름의 VB0x를 깔아서 데스크탑에 깔려있는게 보인다. crack..version.. 굉장히.. 악성코드 스럽다;;

 

확인해보기 위해 히스토리 파일을 찾으러 갔다.

내용을 확인하려고 추출해서 DBbrowser for SQLite로 열었다.

 

방문했던 url을 보면 vm 깔다가 악성코드에 감염된게 분명한 것 같다.

검색어가 너무 불쌍해..

Exploit

아까 봤던 VB0x가 문제의 악성 파일임이 분명하니까 pf 파일이 있나 확인해보자.

 

이렇게 있다. 그러면 이 pf 파일로 실행 시간이랑 파일 이름을 찾으면 된다.

pf 파일 구조를 보면 2b 00 00 00 00 01 00 00 00 이 최종 시간인건데 뭔지 모르겠다.

 

WinPrefetchView는 내 컴퓨터의 prefetch 폴더에 있는 것들만 보여주는 거라서 저 pf 파일을 export해서 prefetch 폴더에 넣어줬다.

 

그러면 이렇게 뾰롱 뜬다@@

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ쿠ㅠㅜㅠ

근데 파일이름에서 자꾸 틀렸다. ㅠㅜㅠ pf 파일 앞에 있는게 파일명인 줄 알았는데 노우노우

실제 깔려져 있는 저걸 실행하는 파일 이름.. 그니까 깔려있는 애 이름을 썼어야했다. 퓨퓨

 

추가

데스크 탑의 data2.encrypted 파일은 악성 프로그램에 의해 생성되었거나 암호화 되었음을 유추 할 수 있다.

그래서 이 파일의 수정 시간과 pf 파일의 수정 시간이 동일한 파일을 추려내면 CMD랑 VBOXTEST가 일치함을 알 수 있다. 그리고 FTK Imager는 UTC 시간 기준이어서 +9시간을 더해줘야한다. 나는 윈페치뷰로 봐서 한국시간으로 나온 것 같다.

'forensic' 카테고리의 다른 글

05. 인터넷과 이메일 포렌식  (0) 2021.01.23
04. 윈도우 시스템의 증거  (0) 2021.01.19
03. 디지털 증거  (0) 2021.01.17
02. 포렌식 랩과 툴  (0) 2021.01.13
[NONamed Wargame] 입사 테스트 [2] writeup  (0) 2021.01.07
Comments