[ * ] 문제 확인
IU는 악성코드에 의해 훼손된 시스템을 조사하는 중이며, 타임라인의 분석 결과로는 2012년 02월 09일 이후에 감염된 것으로 보인다. 악성코드 유입 경로는 방문했던 웹 사이트로 추정되며, 다양한 사용자 인터넷 추적을 분석했지만 악성 URL은 찾을 수 없었고 시스템이 감염 되었을 때 흔적이 지워진 듯 하다. 악성 URL과 감염 시간을 찾아라. TimeZone = KST(UTC+09:00)
Answer_format = malicious_URL|YYYY-MM-DDThh:mm:ss
[ * ] 해결 방향
현재 문제에 해당하는 시스템에서는 URL을 통한 악성코드 감염이며 URL은 웹과 관련되기 때문에, 해당 문제에서 주어진 파일 중 웹과 관련된 아티팩트를 찾아 분석하면 해당 문제에서 요구하는 악성 URL과 해당 시스템에서의 악성코드 감염 시간을 찾을 수 있을 것 같다
[ * ] 해결 과정
주어진 2012_CodeGate F300.7z 파일의 압축을 풀어준 뒤, 해당 폴더를 계속 탐색하면 Cookies라는 단 하나의 파일이 주어진다 (아래의 경로는 Chrome의 쿠키가 저장 되어 있는 곳)
파일의 확장자나 아이콘이 없음을 통해 파일 유형을 특정 짓기 어려웠고, Hex Editor를 통해 구조를 살펴 본 결과 아래와 같이 파일 헤더를 통해 데이터베이스에 사용되는 파일임을 알 수 있었다
파일의 유형을 확인 후, 해당 파일의 구조분석을 통해 데이터를 보여주는 SQLite로 파일을 열었고, 해당 파일이 가지는 데이터베이스 구조를 아래와 같이 볼 수 있었다
Cookies와 meta라는 두 개의 테이블과 두 테이블을 포함하는 데이터베이스 속성을 볼 수 있다
문제에서 주어진 상황은 웹 사이트를 통한 악성코드 감염으로 추측되기 때문에 방문했던 웹 사이트의 쿠키 값이 저장되어 있을 것이라 예상이 되어, Cookie 테이블의 데이터를 열어 보았다
해당 테이블에서 얻을 수 있는 정보는 쿠키 생성 시각, 해당 URL, 쿠키 이름과 값, 쿠키
저장 경로, 쿠키 만료 시간, 쿠키 기반의 해당 URL 마지막 접근 시간 등의 정보를 얻을 수 있고, 문제에서 요구하는
악성코드 유입 경로 URL을 찾기 위해 host_key 컬럼을
기준으로 약 40개의 URL을 추출한 다음 해당 URL에 전부 접속해 보았지만 의심이 될만한 것들을 찾지 못했고, 혹시라도
해당 도구에서 추출하지 못하는 데이터가 있을까 싶어 아래의 다른 도구도 이용해 보았지만 같은 값을 추출해 낼 뿐이었다
다른 두 도구에서 추출해주는 데이터를 분석을 했음에도 불구하고 특별한 단서를 찾지 못했으므로 해당 도구에서 파싱이 되지 않았거나 하지 못하는 데이터가 존재하지 않을까 라는 생각에 Hex 값을 직접 분석을 해보았고 분석 도중, 도구에서는 찾아볼 수 없던 URL 하나가 보였다
.test.wargame.kr이라는 문구와 함께 Unix Time Stamp로 추정되는 여러 개의 값과 __utma라는 단어가 보였고 구글에 검색을 한 결과 아래와 같이 Google Analytics Cookie와 관련되어 잘 정리 되어가 있었다
정리 된 Google Analystics Cookie 중 필요한 값은 Hex 값을 분석 도중 나온 __utma이므로 해당 쿠키에 대해 조금 더 알아보았고 알아 본 결과를 아래와 같이, 예시와 더불어 정리해 보았다
__utma=199704150.199705210. 1463756400.1495324800. 1498888800.64
Field |
Description |
Domain Hash |
Hash Value by Domain
|
Visitor ID |
Unique Identifier
|
Initial Visitor |
Unix Time Stamp for Initial Visit
|
Previous Session |
Unix Time Stamp for the Previous Session
|
Current Session |
Unix Time Stamp for the Current Session
|
Session Number |
Number of Sessions Started
|
현재 문제에서 요구하는 악성 URL로 추정되는 test.wargame.kr이라는 값을 찾았고, 위 표와 함께 Hex값에 적힌 __utma 값 중 세 번째 필드인 1328799447을 날짜로 변경한 값을 구한다면 문제를 해결할 수 있을 것이고 변환된 날짜 값을 얻기 위해 해당 기능을 제공하는 온라인 사이트를 통해 변환 한 값을 아래와 같이 구해서 문제를 해결할 수 있었다. Unix TimeStamp to Date: https://www.epochconverter.com/
정답 = test.wargame.kr|2012-02-09T23:57:27
Reference = https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage
'Wargame' 카테고리의 다른 글
[STEGANOGRAPHY] PHDays Quals 2014 - Forensic 150 - mp3 me (0) | 2017.07.07 |
---|---|
[PACKET] ASIS 2013 - Forensic Final 300 (0) | 2017.07.06 |
[STEGANOGRAPHY] RuCTF Quals 2013 - Forensic 100 (0) | 2017.07.05 |
[Web Browser] Secuwave 2012 - Forensic 200 (0) | 2017.07.05 |
[PACKET] Codegate 2014 - Forensic 150 - WeirdShark (0) | 2017.07.05 |