#About


주어진 바로 가기 파일이 가리키는 대상 중 복사되지 않은 대상의 크기를 찾시오.

(단위는 Byte이며 정답 입력시 단위를 제외한 십진수 아라비아 숫자만 입력)




#Solution


[그림 1] - 문제 파일 확인


해당 문제에서 제공받은 폴더를 열어본 결과 5개의 바로 가기 파일을 확인할 수 있었으며, 문제에서 요구하는 핵심인


복사되지 않은 파일을 찾기위해서는 먼저 MAC Time에 대해 알아야 하며 MAC이 의미하는 바는 아래와 같다


Modified Time

수정 시간


Access Time

접근 시간


Creation Time

생성 시간


문제를 해결하기 위해서는 MAC Time의 시간 정보를 확인하고, 해당 정보가 가지는 의미를 파악하는 능력이 필요하다


[그림 2] - MAC Time 상태 변화


위 [그림 2]는 MAC Time이 상황에 따라 보존 or 변경되는 경우를 표로 나타낸 것이며 포렌식 위키에서 확인할 수 있었다


http://forensicswiki.org/wiki/MAC_times


이 중에서 문제에서 요구하는 것은 "복사되지 않은 대상"이므로 [그림 1]에서 확인했던 바로 가기 파일 5개 중 4개는 복사가 되었음을 추측할 수 있다


파일이 복사가 된 경우, [그림 2]에서 확인할 수 있듯 Access와 Creation 시간이 복사된 시점으로 바뀌고 Modified 시간은 보존 된다.


위 자료를 토대로 파일을 분석한 결과 아래의 (1,2,3,5).lnk 파일이 Modified Time이 2015년으로 보존 된 채로 Creation,Access Time이 2016년으로 변경되었다


[그림 3] - 1.lnk



[그림 4] - 2.lnk



[그림 5] - 3.lnk



[그림 6] - 5.lnk


위 파일들은 전부 복사가 됨으로 인해서 Creation Time과 Access Time이, Modified 시간보다 최근을 가리키며


오로지 4.lnk 파일만이 복사 되지않은 시간을 가리킨다 ( Creation Time < Modified Time < Access Time )


[그림 7] - 4.lnk


따라서 복사 되지 않은 파일은 4.lnk이며 해당 파일의 바이트 크기는 [그림 7]에서 확인할 수 있듯 248435이다


Answer = 248435




[ + ] 문제를 풀며


[그림 1]의 수정한 날짜의 시간과 010 Editor에서 파싱된 시간의 Modified 시간이 서로 일치 하지 않던 것이 궁금했고


궁금증을 해결하기 위해 010 Editor가 아닌 LNK Parser에서 링크 파일 파싱의 결과를 살펴보던 중 궁금증을 해결할 수 있었다


[그림 8] - 시간 비교 ( 010 Editor의 UTC+9 값과 동일 )


[그림 1]의 수정 시간은 링크 파일 자체의 수정 시간을 의미하며, 010 Editor에서의 수정 시간은 링크 파일이 가리키는 원본 파일의 수정 시간을 의미한다




[ + ] TIPS


Windows XP이후 Access Time의 경우 기본적으로, 읽기 작업을 진행할 때마다 Access Time을 업데이트하는 것은 성능면에서 비효율적이기 때문에


Access Time의 업데이트 기능이 비활성화 되어 있으며 활성화를 시키기 위해서는 아래의 경로에서 레지스트리 값을 수정해주어야 한다


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\FileSystem\NtfsDisableLastAccessUpdate


0 = 활성화 

1 = 비 활성화


'Wargame' 카테고리의 다른 글

[Cresendo] Memory Problem 01  (0) 2017.11.09
[Cresendo] Shim Cache Problem 01  (0) 2017.11.09
[Cresendo] LNK Problem 04  (0) 2017.11.08
[Cresendo] LNK Problem 03  (0) 2017.11.08
[Cresendo] LNK Problem 02  (0) 2017.11.08

#About


주어진 바로 가기 파일을 종합적으로 분석하여 관리자(Administrator)외의 사용자 계정을 알아내시오.

(대소문자 구분 없이 입력)




#Solution


[그림 1] - 문제 파일 확인


해당 문제에서 제공받은 폴더에는 85개의 바로 가기 파일이 있었으며, 분석을 위해 LNK Parser를 사용하였다


[그림 2] - 관리자외의 사용자 계정 확인


Machine ID에서 leech-75bbda31c라는 관리자로 추측되는 계정을 확인할 수 있었으며, 파일 경로를 기준으로 정렬했을 때


C:\Documents and Settings\drone1013\바탕 화면\Pi.RTF 이라는 경로에서 사용자 계정 drone1013을 확인할 수 있었다


C:\Documents and Settings\<Username>은 Windows XP 버전에서 사용하는 사용자 계정이 존재하는 경로이며


Windows XP 이후 버전에서는 C:\Users\<Username>이라는 경로를 사용한다


Answer = drone1013



'Wargame' 카테고리의 다른 글

[Cresendo] Shim Cache Problem 01  (0) 2017.11.09
[Cresendo] LNK Problem 05  (0) 2017.11.08
[Cresendo] LNK Problem 03  (0) 2017.11.08
[Cresendo] LNK Problem 02  (0) 2017.11.08
[Cresendo] LNK Problem 01  (0) 2017.11.06

#About


주어진 바로가기 파일이 가리키는 대상이 저장된 볼륨의 볼륨 일련 번호를 구하시오

(입력 형식 : XXXX-XXXX)




#Solution


[그림 1] - 문제 파일 확인


문제에서 제공 된 폴더를 열었을 때, 웹 브라우저인 Mozilla Firefox의 바로 가기 파일이 하나 존재 함을 확인했다


곧 바로 볼륨 일련 번호를 알기 위해 010 Editor를 이용, 볼륨 일련 번호를 확인할 수 있었다


[그림 2] - 볼륨 일련 번호 확인


또한 도구마다 구조를 파싱함에 있어 방식이 다르다거나 값의 차이가 다를 수 있으므로 확실한 검증을 위해 다른 도구인 Lnk Pasrer로도 확인을 했다


[그림 3] - 볼륨 일련 번호 재 확인


Answer = 600F-351D




[+] NTFS 파일시스템에서의 볼륨 일련 번호 확인


문제 풀이와는 직접적인 관련이 없는 내용이지만 기억하고 있는 것을 다시금 뚜렷히 하기 위해 언급을 진행한다


볼륨 일련 번호가 적힌 부분은 NTFS 파일시스템 상에서의 VR영역이며 오프셋 0x48~0x4F에 위치한다


윈도우 커맨드 창에서 아래와 같이 dir 명령어를 적으면 볼륨 일련 번호를 확인할 수 있으며 아래에서는

 

볼륨 일련 번호를 오프셋 0x48~0x4B의 값을 리틀엔디언으로 읽으면 되지만 볼륨 일련 번호 생성 규칙은 일정하지 않으므로 


0x48~0x4F 내의 다른 오프셋의 값을 읽어야할 수도 있다 ( 2017년 3월, 여러대의 컴퓨터에서 확인 결과 불규칙적이었음 )


[그림 4] - 볼륨 일련 번호 확인




[ + ] TIP


볼륨 일련 번호를 확인하기 위한 명령어로 dir은 더불어 현재 디렉터리에 있는 파일까지 전부 보여주게 되며, 파일이 많은 경우 


볼륨일련 번호를 보기 위해 cmd의 스크롤을 위로 올려야 하지만,아래와 같이 명령어 vol을 입력해주면 깔끔하게 볼륨 일련 번호만 출력된다


[그림 5] - 명령어 vol



'Wargame' 카테고리의 다른 글

[Cresendo] LNK Problem 05  (0) 2017.11.08
[Cresendo] LNK Problem 04  (0) 2017.11.08
[Cresendo] LNK Problem 02  (0) 2017.11.08
[Cresendo] LNK Problem 01  (0) 2017.11.06
[Cresendo] EventLog Problem 03  (0) 2017.11.06

#About


주어진 바로 가기 파일들이 가리키는 대상들 중 숨김 속성을 가진 것의 크기는 몇 바이트인가

(단위 생략, 10진법으로 아라비아 숫자만 작성)




#Solution


[그림 1] - 문제 파일 확인


문제에서 제공 받은 폴더에서 10개의 바로 가기 파일을 확인 했으며 이 중, 문제에서 제시하는 숨김 속성을 가진 것을 확인하기 위해 


이전 문제에서 사용했던 도구인 010 Editor를 이용하여 숨김 속성을 가진 파일을 확인할 수 있었다


[그림 2] - 숨김 속성 확인


위의 숨김 속성을 가진 파일을 확인 후 문제에서 요구하는 파일 사이즈를 찾기 위해 링크 구조에서 


공통적으로 원본 파일의 사이즈가 적혀있는 오프셋인 0x34~0x37에서 파일 사이즈를 확인할 수 있었다


[그림 3] - 숨김 속성을 가진 파일의 사이즈 확인


Answer = 1496



'Wargame' 카테고리의 다른 글

[Cresendo] LNK Problem 04  (0) 2017.11.08
[Cresendo] LNK Problem 03  (0) 2017.11.08
[Cresendo] LNK Problem 01  (0) 2017.11.06
[Cresendo] EventLog Problem 03  (0) 2017.11.06
[Cresendo] EventLog Problem 02  (0) 2017.11.06

#About


주어진 바로 가기 파일들 중 가리키는 대상이 이동식 디스크(Removable Disk)에 저장된 원본 파일의 이름을 알아내시오. 

단, 파일명은 'EUC_KR' 인코딩을 사용한다.


(확장자 및 띄어쓰기 포함, 소문자로 작성)




#Solution


[그림 1] - 문제 파일 확인


문제 파일을 확인하면 10개의 링크 파일을 확인할 수 있고, 문제에서 요구하는 것은 이동식 디스크에 저장된 원본 파일 이름을 구하는 것이다


링크 파일은 포렌식에 있어 중요한 정보가 많이 담기는 아티팩트에 해당되며, 링크 파일에서 추출가능한 정보는 아래와 같다


1. Volume ID

링크 대상이 위치한 볼륨의 식별자


2. DriveType

링크 대상이 위치한 드라이브 형식


3. DriveSerialNumber

링크 대상이 위치한 드라이브의 시리얼 번호


4. MAC Address

링크 대상이 위치한 PC의 네트워크 인터페이스에 할당된 고유 식별자


5. User Account

링크 대상이 위치한 PC의 사용자 계정


6. LocalBasePath

링크 대상 경로


7. Lnk File Creation, Access, Write Time

링크 대상의 생성, 접근, 쓰기 시간


8. Target File Creation, Access, Write Time

원본 파일의 생성, 접근, 쓰기 시간




문제를 풀기 위해 단순히 링크 파일에 담긴 정보를 추출한 결과를 보여주는 도구를 사용해도 되지만, 도구를 사용한다면 사용에 앞서 


해당 도구에서 어떻게 정보를 추출하고 어떻게 만들어진 것인지에 대한 기본이 되는 링크 파일의 구조를 알아야 한다


하지만 단순 문제 풀이 포스팅에 담기엔 복잡한 링크 파일의 구조를 아래의 MS 공식 문서를 참조하길 바란다


[MS-SHLLINK].pdf


https://msdn.microsoft.com/en-us/library/dd871305.aspx


문제를 해결하기 위해 링크 파일의 구조 분석 도구인 LNK Parser를 이용했으며 도구의 출처는 아래와 같다


http://forensic.korea.ac.kr/tools/lnkparser.html


[그림 2] - LNK Parser


위 도구를 통해 8.lnk 파일의 DriveType이 문제에서 가리키는 DRIVE REMOVABLE임과, 원본 파일 이름인 섹터 연락망.hwp 임을 확인할 수 있었다


또한 LNK Parser가 아닌 010 Editor을 통해 아래와 같이 파싱된 링크 파일에서 DriveType을 확인할 수 있었으며 


010 Editor를 이용한 파일의 구조 분석은 각 파일이 가지는 확장자에 맞는 Template을 다운로드 후에 사용가능 하다


https://www.sweetscape.com/


[그림 3] - 010 Editor를 이용한 구조 분석


파싱된 DriveType은 위 그림에서 볼 수 있듯 오프셋 0x015~0x018의 값인 0x00000002라는 값을 가지며 각 값이 의미하는 바는 아래를 참조하길 바란다


[+] DriveType


[그림 4] - DriveType




'Wargame' 카테고리의 다른 글

[Cresendo] LNK Problem 03  (0) 2017.11.08
[Cresendo] LNK Problem 02  (0) 2017.11.08
[Cresendo] EventLog Problem 03  (0) 2017.11.06
[Cresendo] EventLog Problem 02  (0) 2017.11.06
[Cresendo] Event Log Problem 01  (0) 2017.11.05

+ Recent posts