Dreamhack/Dreamhack Wargame (Challenge)

[164] IT 비전공자 [dreamhack] chrome_artifacts문제풀기

imaginefuture-1 2025. 2. 23. 12:52

포포포포렌식~ 같이 실습해보아요!


사용 Tools: FTK_Imager, DB browser for SQL lite, https://www.epochconverter.com/webkit

 

WebKit/Chrome Timestamp Converter

Convert WebKit/Chrome timestamps to human-readable date & Unix time This timestamp format is used in web browsers such as Apple Safari (WebKit), Google Chrome and Opera (Chromium/Blink). It's a 64-bit value for microseconds since Jan 1, 1601 00:00 UTC. One

www.epochconverter.com


우리는 크롬에서 다운로드한 아이콘 파일을 찾아야한다. 경로는 여기 C:\Users\victim\AppData\Local\Google\Chrome\User Data\Default\History

 

history 파일을 db browser for sqlite로 연다! 우리는 다운로드 정보를 봐야하니, 다운로드를 폴더에 들어간다. ico 이미지 파일 이름과, start time이 보인다
mime_type도 찾았다.
B: 파일 다운로드를 시작한 시간 (Unix Timestamp, seconds 단위)은 변환이 필요하다. download에서 보이는 start time은 webkit time stamp기준이라 unix time으로 바꿔야함

 

이걸 전부 다 종합하면!

DH{Dtafalonso-Android-L-Chrome_1712416601_image/x-icon}

 

 


 

 

 

ftk_imager로 추출한 C:\Users\victim\AppData\Local\Google\Chrome\User Data\Default\History 파일을 db brower for sqlite로 읽을 수 있는 이유가 뭐야? 왜 그냥 안열려? 아니면 깨져? 이후 db에서 starttime을 알아냈는데 이걸 WebKit/Chrome Timestamp Converter로 변환하는 이유는 문제에서 파일 다운로드를 시작한 시간 (Unix Timestamp, seconds 단위)를 찾아야해서 그렇지?

 

더보기
  1. FTK Imager로 추출한 History 파일이 DB Browser for SQLite에서 열리는 이유
    • C:\Users\victim\AppData\Local\Google\Chrome\User Data\Default\History 파일은 SQLite 데이터베이스 파일이기 때문이야.
    • Chrome의 History 파일은 SQLite3 형식으로 저장되므로, DB Browser for SQLite 같은 툴에서 열 수 있어.
    • SQLite는 자체적인 포맷을 가지고 있고, 일반 텍스트 파일처럼 바로 열리지는 않아. 그래서 메모장 같은 걸로 열면 깨진 것처럼 보이거나 바이너리 데이터가 섞여 있는 것처럼 보일 수 있어.
  2. 왜 WebKit/Chrome Timestamp Converter를 사용해서 변환하는가?
    • History DB의 start_time 값은 일반적인 **Unix Timestamp (1970년 기준 초 단위)**가 아니라, WebKit 타임스탬프 형식이야.
    • WebKit 타임스탬프는 1601년 1월 1일을 기준으로 밀리초 단위로 기록됨.
    • 문제에서 파일 다운로드 시작 시간을 찾으려면 **Unix Timestamp (초 단위)**가 필요하므로 변환해야 해.
  3. 변환 과정
    WebKit 타임스탬프 → Unix Timestamp 변환 공식:
    • WebKit 타임스탬프는 1,000,000 (즉, 마이크로초 단위)로 저장됨 → 초 단위로 변환하려면 1,000,000으로 나눈다.
    • WebKit의 기준 시간(1601년 1월 1일)과 Unix 기준 시간(1970년 1월 1일)의 차이인 11644473600을 빼야 한다.
  4. Unix Timestamp = (WebKit Timestamp / 1,000,000) - 11644473600
  5. 정리
    • History 파일이 그냥 안 열리는 이유 → SQLite 데이터베이스 파일이기 때문.
    • start_time을 변환하는 이유 → Chrome/WebKit 타임스탬프는 Unix 타임스탬프와 기준이 다르므로 변환이 필요.
    • 변환 공식 → (WebKit Timestamp / 1,000,000) - 11644473600

이제 문제에서 요구하는 파일 다운로드 시작 시간을 찾으려면 History DB의 downloads 테이블에서 start_time을 추출하고 변환하면 돼! 🚀