xcz.kr의 36번째 문제는 File Deleted다. 포렌식 문제이고, 찾아야 할 내용은 아래와 같다.
해당 파일은 압축 파일이고, 분석하기 위해 FTK Imager 툴을 사용해서 열었다.
하나씩 분석하다가 최근 기록에 관련된 Recent 파일 내부를 살펴봤다.
누가 봐도 수상해 보이는 "s3c3r7.avi.lnk" 파일이 있다. 하지만 최종 수정 시간이 아닌, 우리가 알아야 할 것은 원본 경로와 만들어진 시간, 마지막으로 실행된 시간, 볼륨 시리얼을 모두 알아야 한다. 여기서 lnk 파일은 링크 파일이다. 바탕화면이나 시작 메뉴에 프로그램을 놓으면 원본 위치를 가리킨다. 윈도우에서 작동하는 확장자다.
다른 폴더에서는 이 문제를 풀어나가는 데 필요한 정보를 딱히 얻지 못했다. 따라서 Recent 폴더에 있는 링크 파일을 분석해서 문제를 풀어야 될 것 같다. 따라서 Hex 값부터 분석하기 위해 010 Editor를 사용했다. 여기서부터는 이 사이트에서 링크 파일의 구조를 참고하며 문제를 풀었다.
먼저 해당 의심 파일을 추출해서 분석을 진행하자.
HEADER 부분에서 파일의 생성, 접근, 쓰인 시간을 알 수 있었다. 하지만 이 시간은 UTC 기준이고, 문제에서 제시하는 시간의 기준은 GMT+9이므로 이에 맞춰 9시간을 더해서 키 값을 구해야 한다. 따라서 파일의 생성 시각은 2013/10/16/ 13:52:10라고 할 수 있고, 파일의 마지막 실행된 시각은 2013/10/16 23:24:50라고 할 수 있다. 또한, 파일이 쓰인 시각은 2013/10/16 19:37:47이라고 할 수 있다.
LINKINFO 부분에서는 원본 파일의 경로와 파일이 위치한 VolumeID의 시리얼 번호를 알 수 있다. 먼저 경로는 LocalBasePath에 나와있듯이 H:\study\s3c3r7.avi임을 알 수 있다. 볼륨 시리얼 넘버의 경우 운영체제에서 저장장치를 포맷할 때 생성되는 고유한 16진수 값이다. (en.wikipedia.org/wiki/Volume_serial_number 참고)
또한, 010 Editor의 View 바에서 Little Endian 방식으로 데이터를 읽는 것을 확인할 수 있다. 따라서 볼륨 시리얼 번호 역시 이 방식에 맞춰 A902-A8D0가 아닌 D0A8-02A9 형식으로 읽어야 한다.
구해야 하는 플래그 형식은 lowercase(md5(원본 경로_만들어진 시간_마지막 실행된 시간_쓰인 시간_볼륨 시리얼))의 형태이다. 따라서 아까 구한 값들을 각 순서에 맞게 대입하면 아래와 같다.
lowercase(md5(H:\study\s3c3r7.avi_20131016135210_20131016232450_20131016193747_D0A8-02A9))
해당 형식에 맞게 md5 hash를 구하면 위와 같다. 저 사이트에서는 이미 소문자로 해시 값이 나오므로 나온 해시 값을 그대로 인증하면 문제가 풀린다.
[xcz.kr #24] Memoryyyyy Dumpppppp - 200 points (0) | 2022.01.06 |
---|---|
[xcz.kr #27] XCZ Company Hacking Incident - 150 points (3) | 2022.01.06 |
[xcz.kr #35] ZIP - 300 points (0) | 2021.04.02 |
[xcz.kr #22] Who's Notebook? - 100 points (0) | 2021.02.16 |
[xcz.kr #16] Mountains beyond mountains - 150 points (0) | 2021.02.16 |
댓글 영역