Disk Forensic #23 (서울에 사는 IU가 특정 웹...)
주어진 문제 파일은 확장자가 존재하지 않아 어떤 유형의 파일인지 알 수 없습니다.
파일 유형 정보 확인을 위해 리눅스 환경으로 옮겨서 file 명령어를 사용하여 확인하였습니다.
file 명령어로 확인한 결과, 7z 알고리즘 압축 파일입니다.
확장자를 7z로 지정하고 압축을 풀면 Users 폴더가 생성됩니다.
Users 폴더 안에는 All Users, Default 폴더 등 여러 폴더가 존재합니다.
이는 윈도우 사용자 폴더 구조와 동일합니다.
따라서 문제 파일은 윈도우 운영체제의 사용자 폴더를 압축한 파일임을 알 수 있습니다.
문제 지문에서 범인이 SQL Injection 공격을 시도하다가 브라우저가 갑작스럽게 종료됐다고 했습니다.
이와 관련된 증거가 존재하는지 확인을 위해 사용자 계정으로 보이는 proneer의 폴더 내 각 브라우저 데이터가 저장되는 폴더를 분석하였습니다.
브라우저 |
데이터 저장 경로 |
인터넷 익스플로어 |
C:\Users\[사용자]\AppData\Local(Roaming)\Microsoft\Internet Explorer |
파이어폭스 |
C:\Users\[사용자]\AppData\Local(Roaming)\Mozilla\Firefox |
크롬 |
C:\Users\[사용자]\AppData\Local(Roaming)\Google\Chrome |
3개의 브라우저 중, 파이어폭스의 데이터가 저장되는 폴더를 분석하면 sessionstore.js 파일이 존재하는 것을 확인할 수 있습니다.
파일 경로 : C:\Users\proneer\AppData\Roaming\Mozilla\Firefox\Profiles\0751fxbt.default
sessionstore.js 파일은 파이어폭스 브라우저가 비정상적으로 종료가 될 때, 그 시점의 상태 정보가 저장되는 파일입니다.
만약 범인이 파이어폭스를 사용하다가 비정상적으로 브라우저가 종료 됐으면 이 파일에 공격에 관한 정보가 존재할 것입니다.
이번에는 자바스크립트를 해석해주는 웹사이트를 이용해서 파일의 내용을 분석하였습니다.
jsonlint : 자바스크립트를 해석해주는 온라인 웹사이트
참조 사이트 : https://jsonlint.com/
The JSON Validator
JSONLint is the free online validator and reformatter tool for JSON, a lightweight data-interchange format.
jsonlint.com
위 화면과 같이 sessionstore.js 파일의 내부 정보를 확인하면 '1_UNI/**/ON_SELECT' 라는 'UNION SELECT' 쿼리를 삽입한 정황을 확인할 수 있습니다.
브라우저에 이런 쿼리를 입력하는 것을 볼 때 악의적인 목적으로 입력한 것으로 판단됩니다.
Injection value 값을 찾았으니 이제는 브라우저가 종료된 시간을 찾으면 됩니다.
위 화면과 같이 lastUpdate 변수로 브라우저가 종료된 시간 정보가 인코딩되어 저장된 것을 확인할 수 있습니다.
마지막으로 DCODE 프로그램을 사용해서 실제 종료된 시간을 정확하게 확인합니다.
Dcode 다운로드 : https://www.digital-detective.net/dcode/
DCode™ | Digital Detective
DCode™ is a simple utility for converting the hex and integer values found by investigators during a forensic investigation into readable timestamps.
www.digital-detective.net
Decode Format을 Unix: Numeric Value로 지정해주고, Value to Decode에 lastUpdate 변수 값을 넣고 Decode 버튼을 누르면 위 화면과 같이 날짜와 시간 정보가 실제 시간으로 나타납니다.
이제 키 포맷대로 Injection_value와 time을 포맷에 맞게 입력해주면 플래그로 인정되며, 문제를 해결할 수 있습니다.
# Reference
'Digital Forensics > CTF-D' 카테고리의 다른 글
[Disk Forensic] Please get my key back! (0) | 2020.03.11 |
---|---|
[Disk Forensic] IU는 악성코드에 의해 감염된... (0) | 2020.03.11 |
[Disk Forensic] 파일에서 플래그를 찾아라. (0) | 2020.03.11 |
[Disk Forensic] X 회사의 재정 정보를 훔치기... (0) | 2020.03.10 |
[Disk Forensic] Find Key(slack) (0) | 2020.03.10 |