CTF/N0named CTF

[N0Named CTF - Write Up [B]] 유출된 자료 거래 사건 [4]

Ron Weasley 2021. 9. 22. 08:47

이번 시간에 포스팅할 문제는 이전 시간과 이어지는 내용입니다.

 

이전 시간에 배웠던 내용을 되짚어 보면, 우리는 사용자의 계정을 확인 하기 위해 "Root\Users" 경로를 따라가 사용자의 계정이 어떤게 있는지 확인을 하고 삭제된 계정을 확인하기 위해서 이벤트 뷰어를 통해 analysis를 해야합니다. 계정이 삭제된 것을 파악하기 위해서는 이벤트 로그 파일중 Security를 확인 해야하며 경로는 "Root\Windows\System32\winevt\Logs" 에서 찾을 수 있습니다.

 

이번 시간에 풀어야 할 문제를 한 번 보겠습니다.

문제를 읽어 보면 어떤 방법으로 문제를 풀어야 할 지 추측이 가능할것입니다. 왜냐하면 하드 어딘가에 암호화(encryption)를 해두어 숨겨뒀다. 라는 문구가 보이니까 우리는 하드 디스크를 복호화해서 FLAG값을 찾아야 한다는 것 입니다. 그럼 FTK Imager를 실행해서 수상한 하드 디스크가 있는지 확인 해봅시다.

우리는 Partition 3이 왜 있을까?? 라는 생각을 가진적이 있을겁니다. 왜냐하면 Unrecognized file system라는 말은 인식할 수 없는 파일 시스템이라는 말이고 안에 파일은 unallocated space 할당되지 않은 공간인데 size가 101,376바이트인게 의미 심장합니다. 하지만 저 하드 디스크에 대한 증거가 하나도 없습니다. 암호화 패스워드도 모르고 왜 어떤 프로그램을 사용해서 암호화를 했는지도 모릅니다. 그래서 우리는 휴지통을 한번 뒤져 보겠습니다. 왜냐하면 파일을 삭제 했으면 휴지통을 통해서 삭제 했으니까요!! 경로는 "root\$Recycle.Bin" 입니다.

보시면 txt, jpg, exe, zip파일 등 여러 가지 파일이 존재 하는데, txt파일을 뒤적 거리다가 의심이 가는 문구를 하나 발견했습니다.

AES는 암호화 기법 중 하나이고 sha512는 해쉬 함수, pw는 thisispwthisispw입니다. 어?? 하드 디스크의 패스워드 같은 느낌이 싹 드네요..그럼 어떤 프로그램을 사용했는지만 파악하면 됩니다. 과거로 돌아가서 우리는 이전에 usb의 흔적을 뒤지다가 파일명이 바뀐 파일을 하나 본적이 있었을겁니다. 바로 Confidential.Doc.hwp라는 파일인데요, 그 파일을 찾기 위해서 우리는 DB를 분석했습니다. 그런데 분석을 할 때 수상한 파일이 있다는걸 눈치 채셨나요??

이 부분이 우리가 답을 찾기 위해 봤던 곳이고 조금만 더 내리면

plan.txt라는 텍스트 파일을 만든것을 확인할 수 있는데, 아마 저기에 계획이 담겨 있을거 같다는 생각이 든다...읍읍

그리고 History파일을 DB로 분석했을 때도 의미심장한 url을 들어 간적이 있습니다. 

빨간색 칸에 들어있는 부분이 문제를 풀기 위해 봤던 부분이고, 바로 밑에 뭔가 검색을 통해서 url을 들어갔는데 Free Open Source?? 오픈 소스 프로그램인 veracrypt?? crypt는 암호라는 뜻인데 어...바로 veracrypt를 검색해보니 veracrypt는 디스크 암호화 소프트웨어로써 파일 안에 암호화된 가상 디스크를 만들거나, 파티션을 암호화 할 수 있다고 설명이 되어있네요!!

 

그럼 우리는 공격자가 veracrypt를 통해서 Partition3를 암호화 했고, pw는 아까 휴지통에서 발견된 txt파일에 들어있는 pw로 디스크 마운트를 통해서 분석을 하면 되는것입니다. 오픈소스 프로그램인 veracryte를 설치되어 있다고 가정하에 분석을 바로 하겠습니다. 먼저 Partition3를 Export합시다.

Export한 파일을 veracrypt를 통해서 마운트를 해보겠습니다. 실행을 시켜서 원하는 드라이브를 선택하고 Select File을 통해서 Export한 파일을 선택하고 마운트를 진행하면 password를 입력하라는 문구가 뜰텐데 txt파일에 있던 pw문구를 입력하면 마운트가 됩니다.

이렇게 마운트 된 하드 디스크를 들어가면 plan.txt 파일이 있는데 FLAG값을 확인할 수 있습니다. 이렇게 몇일에 걸쳐서 하나의 vmdk(가상 디스크)를 통해서 여러가지 분석을 다 해봤는데요. 이런 문제들 덕분에 포렌식의 매력에 저는 계속 빠져있을거 같습니다!!!