[ * ] 문제 확인



해당 문제에서 주어지는 파일이며 열었을 때, 아래와 같은 메시지와 함께 풍성한 눈썹이 매력적인 남성을 볼 수 있다 ㅋ.ㅋ



[ * ] 풀이 방향


해당 문제 파일을 열었을 때 주어지는 메시지는 "That 8-symbol password, we were talking about recently, is exactly the same as the text on the T-shirt of that guy"이며 이를 간략히 해석하면 8자리의 비밀번호는 사진에 있는 남성의 티셔츠에 적힌 문자와 정확히 일치하다고 되어 있다 // 문제의 지문을 미루어 보아 해당 파일에 문제를 해결하기 위한 남성의 티셔츠 사진이 존재할 것이라 추측


문제를 해결 하기 위해 현재 주어진 조건은 task.docx 파일과, 파일 속 메시지와 사진이다 메시지와 사진에 대한 정보는 얻었으므로 task.docx라는 파일이 가지는 구조의 특징을 이해한다면 문제를 해결할 수 있을 것 같다


[ * ] 풀이 과정


먼저 파일의 구조 분석을 위해 Hex Editor로 현재 파일이 가지는 바이너리를 확인했고 결과는 아래와 같다



바이너리를 확인 결과 해당 파일의 확장자인 "docx"가 가지는 식별 값 즉, 시그니쳐 값인 "50 4B 03 04"를 확인할 수 있었고 해당 시그니쳐 값을 가지는 파일의 특성을 찾아보던 도중 아래와 같은 정보를 얻을 수 있었다


[자료 1]


위 자료에서 얻을 수 있는 정보는 "50 4B 03 04"라는 시그니쳐 값을 가지는 파일의 확장자가 "docx"만이 아닌 zip, pptx, xlsx 등의 다양한 확장자로도 사용할 수 있음을 알 수 있었고, 위 사진의 설명부분을 읽어 보던 도중 Microsoft Office Open XML Format이라는 것에 대해 더 알고 싶다는 생각에 검색을 해보았고 위키피디아에서 해당 부분을 자세히 알 수 있었다


[자료 2]


Office Open XML은 보통 "OOXML" 또는 "MOX"라고 알려져있으며 스프레드시트, 차트, 프레젠테이션 그리고 워드 프로세스 문서를 나타내기 위해 마이크로소프트가 개발을 하였고 XML을 기반으로한 파일 형식이고 압축이 되어 있다고 설명이 나와있었다. 해당 문서를 읽고 XML이 무엇일까 하는 생각에 또 다시 검색을 해보았고 아래와 같은 정보를 얻을 수 있었다


[자료 3]


위 자료의 내용을 요약하면, XML은 데이터에 의미를 부여하는 메타데이터를 기술하기 위해 개발 되었고 XML을 이용하면 해당 구조에서 데이터 이름, 실제 데이터, 데이터 단위에 대한 위치 표현이 가능해지며 그 표현은 태그 형식으로 한다


해당 자료들의 검색을 통해서 확장자 "docx" 그리고 "docx"와 관련된 정보들을 알 수 있었고, 결정적으로 문제 해결의 요인으로 작용했던 것은 OOXML의 자료의 설명 첫 부분에 "Office Open XML is zipped"라는 문장을 통해서였다. 해당 문장이 의미하는 바가 XML이 압축 데이터라는 것인지 아니면 XML이 압축 파일이라는 것인지 무슨 말인지 정확히 파악이 되지 않았기에 또 다시 검색을 해보았고 아래 자료의 두 번째 문단에서 궁금증을 해결할 수 있었다


[자료 4]


두 번째 문단의 첫 번째 줄을 확인하면 "Office Open XML 형식은 XML 및 ZIP 압축 기술을 기반으로 합니다"라는 설명을 볼 수 있었고 "docx"와 "zip"이 파일의 시그니쳐 값이 "50 4B 03 04"와 같다는 점을 [자료 1]에서 봤음을 생각하고 곧 바로 주어졌던 문제 파일인 task.docx의 확장자를 task.zip으로 바꾸어 주었더니 아래와 같이 세 개의 폴더와 XML파일을 확인할 수 있었으며, 각각의 폴더 역시 XML파일이 존재함을 확인할 수 있었다



각각의 폴더를 탐색 도중 아래와 같이 word\media\의 경로에서 image1.jpeg와 image2.jpg 파일을 확인할 수 있었다



두 파일 모두 확인 결과 image1.jpeg 파일은 제일 처음 주어졌던 task.docx 파일속에 있던 남성의 사진 이었고 image2.jpg 파일은 task.docx 파일속에서 볼 수 없었던, 8글자의 비밀번호가 적힌 티셔츠를 입은 남성의 사진을 볼 수 있었다 



사진을 확대 해보면 흰 티셔츠를 입은 남성의 옷에 새겨진 password를 확인할 수 있다


PASSWORD = GANT1949




참조 사이트

http://forensic-proof.com

https://en.wikipedia.org/wiki/Office_Open_XML

https://namu.wiki/w/XML

https://msdn.microsoft.com/ko-kr/library/aa982683(v=office.12).aspx

[ * ] 문제 확인

판교 테크노밸리 K기업에서 기밀유출 사건이 발생했다.  현재 용의자의 시스템을 조사하는 중이다.  용의자의 인터넷 사용 패턴으로 용의자의 관심사를 파악하고자 한다.  용의자가 가장 많이 접근했던 사이트의 URL(http://aaa.bbb.cccc/) 해당 URL 마지막으로 접근한 시간(UTC+09:00) 알아내시오.

 

[ * ] 해결 방향

해당 사건의 핵심은 용의자의 인터넷 사용 패턴이고, 문제에서 요구하는 것은 가장 많이 접근 했던 사이트의 URL과 해당 URL 접근 시간이기 때문에 용의자가 주로 사용한 인터넷 웹 브라우저를 파악하고, 해당 웹 브라우저의 History 정보가 담겨 있는 파일을 찾아 분석하면 될 것 같다

 

[ * ] 해결 과정

먼저 주어진 2012_Secuwave F200.7z 파일의 압축을 풀어주게 되면 아래와 같이 윈도우 사용자 계정 폴더가 주어지고 “7ester”라는 용의자가 사용하던 계정으로 추측되는 폴더를 볼 수 있다


“7ester”라는 사용자 폴더를 분석하기 전 알아야 할 선행 지식은 웹 브라우저 아티팩트이기 때문에 웹 브라우저 아티팩트에 대해서 정리를 해보았고 주요 웹 아티팩트는 다음과 같다

1.     웹 브라우저 히스토리 à 접속 사이트 URL, 접속 시간, 접속 횟수, 접속 페이지 정보 등의 정보 획득 가능  

2.     웹 브라우저 다운로드 à 파일 저장 경로, 저장 시간, 파일 크기, 다운로드 소스 URL, 다운로드 성공 여부 등의 정보 획득 가능

3.     웹 브라우저 쿠키 à 호스트, 경로, 방문 횟수, 마지막 접근 시간, 쿠키 만료 시간 등의 정보를 획득 가능

4.     웹 브라우저 캐시 à 아이콘, 이미지 파일, 텍스트 파일, HTML파일, 스크립트 파일 등의 정보 획득 가능


 Internet Explorer

전체 경로 

History 

 %UserProfile%\AppData\Local\Microsoft\Windows\History\History.IE5\index.dat

 Download

 %UserProfile%\AppData\Local\Microsoft\Windows\History\History.IE5\index.dat

 Cookie

 %UserProfile%AppData\Roaming\Microsoft\Windows\Cookies\index.dat

 Cache

 %UserProfile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\index.dat

 IE V10+

 %UserProfile%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat

 %UserProfile%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV24.dat



 Chrome

전체 경로 

 History

 %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\History

 Download

 %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\History

 Cookie

 %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\Cookies

 Cache

 %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\Cache\


용의자가 사용했던 브라우저를 확인 하기 위해 공통적으로 해당되는 경로인 “%UserProfile%\App
Data\Local”
을 탐색했고 결과는 아래와 같다



해당 폴더에는 웹 브라우저인 Internet Explorer 밖에 찾을 수 없었기에 용의자가 사용한 웹 브라우저는 Internet Explorer라고 판단하고 해당 웹 브라우저의 아티팩트를 분석하기 위해 적당한 분석 도구인 IEAnalyzer10를 사용했다 

[ * ] 도구 참고 : http://moaimoai.tistory.com/45 , http://moaistory.blogspot.kr/2016/07/internet-explorer-10-microsoft-edge.html


아래는 IEAnalyzer10을 실행 한 화면이며 File, Tool, Help의 총 세 개의 탭을 확인할 수 있다



File탭의 Open에서 분석에 필요한 Internet Explorer의 아티팩트가 있는 경로를 설정해 줄 수 있다



경로를 설정해 준 뒤 해당 문제에서 요구하는 시간대와 같은 UTC+9로 설정을 해주었다



시간대 설정을 완료 후, 아래 사진의 왼쪽 편에 나타나는 탭 중 History 부분을 보면 아래와 같은 Internet Explorer의 사용기록이 나오며, 해당 History 탭에서 얻을 수 있는 목록 중 문제에서 요구하는 가장 많이 접속한 URL과 마지막 접속 시간이 목록에 해당함을 확인했다



가장 많이 접속한 수를 알면 그에 해당하는 URL과 마지막 접속시간을 모두 알 수 있는 레코드가 나오기에 AccessCount를 기준으로 탐색 결과, 접속 회수가 519가 가장 큰 것임을 알 수 있었고 해당 레코드를 체크 해둔 부분이 해당 문제에서 원하는 답임을 알 수 있다



가장 많이 접근했던 사이트의 URL = http://www.hanrss.com

해당 URL에 마지막으로 접근한 시간(UTC+09:00) = 2012-08-30 14:59:43

2012_CodeGate F300.7z


[ * ] 문제 확인

IU는 악성코드에 의해 훼손된 시스템을 조사하는 중이며, 타임라인의 분석 결과로는 20120209일 이후에 감염된 것으로 보인다. 악성코드 유입 경로는 방문했던 웹 사이트로 추정되며, 다양한 사용자 인터넷 추적을 분석했지만 악성 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로 파일을 열었고, 해당 파일이 가지는 데이터베이스 구조를 아래와 같이 볼 수 있었다



Cookiesmeta라는 두 개의 테이블과 두 테이블을 포함하는 데이터베이스 속성을 볼 수 있다

문제에서 주어진 상황은 웹 사이트를 통한 악성코드 감염으로 추측되기 때문에 방문했던 웹 사이트의 쿠키 값이 저장되어 있을 것이라 예상이 되어, 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 


+ Recent posts