#About


다음 샘플을 참조하여, Windows System에서 사용자의 행위를 추적하기 위해 이용되는 아티팩트 중 한가지인 prefetch의 Windows system 중 XP, 7, 8.x버전들의 버전 별 Activate Count가 저장되는 offset value를 적으시오.


(인증형식 : 0x(xp시작오프셋)(xp종료오프셋)(7시작오프셋)(7종료오프셋)(8.x시작오프셋)(8.x종료오프셋))




#Solution


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


위 문제에서 주어진 프리패치 파일 목록을 보면 3개가 있으며 이는 XP, 7, 8.x 각기 다른 버전의 프리패쳐를 가지는 것을 유추할 수 있다


프리패쳐의 XP와 7 버전은, 이전 문제에서 보았던 아래의 프리패치 구조 정보에서 오프셋 0x0000~0x0003을 확인하면 알 수 있다


[그림 2] - Windows 7, Windows XP 프리패치 구조 정보



[그림 3] - Windows XP


먼저 WGATRAY.EXE-0ED38BED.pf는 오프셋 0x00~0x03에서 0x00000011이라는 값을 가지므로 Windows XP에 해당하며


Windows XP 프리패치 구조에서의 Activate Count 즉, 실행 회수가 저장되는 오프셋은 [그림 2]에서 확인할 수 있듯 0x90~0x93이다


[그림 4] - Windows 7


두 번째로 RUNDLL32.EXE-43594133.pf는 오프셋 0x00~0x03에서 0x00000017이라는 값을 가지므로 Windows 7에 해당하며


Windows 7 프리패치 구조에서의 Activate Count 즉, 실행 회수가 저장되는 오프셋은 [그림 2]에서 확인할 수 있듯 0x90~0x93이다


[그림 2]에서는 확인할 수 없는 Windows 8의 구조 정보는 포렌식 위키에서 알 수 있었다


http://www.forensicswiki.org/wiki/Windows_Prefetch_File_Format

[그림 5] - 프리패처 버전


위 그림의 Windows 8에 해당하는 값인 26을 찾아보았더니 아래와 같이 Run Count의 오프셋을 확인할 수 있었다 


[그림 6] - Windows 8


Answer = 0x9093989BD0D3



'Wargame' 카테고리의 다른 글

[Cresendo] EventLog Problem 02  (0) 2017.11.06
[Cresendo] Event Log Problem 01  (0) 2017.11.05
[Cresendo] Prefetch Problem 02  (0) 2017.11.05
[Cresendo] Prefetch Probelm 01  (0) 2017.11.04
[Lord of SQL Injection] Dragon  (0) 2017.11.02

#About


크레센도 그룹의 보안담당자 B씨는 최근 인사팀으로 부터 근무태만 혐의가 있는 직원에 대한 감사 요청 및 해당 직원 PC의 프리패치 폴더를 전달받았다. 인사팀은 해당 직원이 일과 시간에 일은 안하고 다른 짓(게임 등)을 하는지, 혹은 접근 권한이 없는 문서 파일에 접근한 흔적이 없는지 확인해주기를 요청했다. 발견된 흔적은 내부 징계 처리에 사용될 것이다.


주어진 프리패치 폴더에서 다음과 같은 내용을 확인하시오:

1. 해당 시스템에서 압축 해제된 "압축 파일" 이름

2, 1번 문항의 압축 프로그램 프리패치에서 확인 가능한 압축에 사용된 PDF 파일 수

3. 직원 PC에서 실행된 적 있는 윈도우 기본 게임 실행 파일 명

(실행 카운트가 확인되는 실행 파일 전부, ABC순, 띄어쓰기 제외)


답 포맷 : [1번 답]_[2번 답]_[3번 답]

Ex) : TEST.ZIP_4_STARCRAFT.EXE_ZEROPIKA.EXE




#Solution


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


해당 문제 파일을 확인했으며 위 프리패치 파일들을 분석하기 위한 도구인 WinPreftchView을 사용 했으며 출처는 아래 주소이다


http://www.nirsoft.net/utils/win_prefetch_view.html


[그림 2] - WinPrefetchView UI


WinPrefetchView를 실행했을 때의 유저 인터페이스이며, 해당 도구에서 확인할 수 있는 것은 파일 이름, 생성시간, 수정시간, 


파일 크기, 실행 파일 프로세스 이름, 프로세스 경로, 실행 횟수, 마지막 실행 시간, 프로세스 누락 여부, 참조 목록을 확인할 수 있다


해당 문제에서 1,2번에서 요구하는 것이 압축이라는 키워드로 같으므로 압축관련 프리패치 파일을 아래와 같이 확인 했다


[그림 3] - 반디집 실행 흔적 확인


압축 관련 프로그램인 반디집 프리패치 파일에서 1,2번 문제에서 요구하는 사항을 찾을 수 있었으며


 WORK DOCUMENT.ZIP 파일이 압축 해제되었다는 증거가 될 수 있는 것은 PDF 파일의 전체 경로를 확인 후 알 수 있었다


다음으로 3번에서 요구하는 문제인, 실행흔적이 있는 윈도우 기본 게임의 목록을 얻기 위해 검색 도중 아래의 블로그에서 얻을 수 있었다


http://neorocal.tistory.com/267


블로그에서 얻은 윈도우 기본 게임 목록 기반으로 찾아 보았더니 아래와 같이 실행 흔적을 발견할 수 있었다


[그림 4] - 윈도우 기본 게임 체스



[그림 5] - 윈도우 기본 게임 Solitaire


인사팀으로 부터 받은 직원의 PC에서는 런던대학교 인적자원관리, 캠브릿지대학 인적자원관리, 샌디에이고 주립대 금융서류, 


아이오와 주립대 금융서류에 관한 PDF 파일이 담긴 압축 파일을 해제한 흔적이 확인되었으며 


윈도우 기본게임에 해당하는, 체스는 2016-10-13 오후 1:25:37에 실행되었으며 Solitaire는 2016-10-14 오후 12:09:24에 실행되었다


Answer = WORKDOCUMENT.ZIP_4_CHESS.EXE_SOLITAIRE.EXE

 

'Wargame' 카테고리의 다른 글

[Cresendo] Event Log Problem 01  (0) 2017.11.05
[Cresendo] Prefetch Problem 03  (0) 2017.11.05
[Cresendo] Prefetch Probelm 01  (0) 2017.11.04
[Lord of SQL Injection] Dragon  (0) 2017.11.02
[Lord of SQL Injection] Xavis  (0) 2017.11.02

#About


1.부트 프리패치의 크기는?

(바이트 단위, 단위 생략)


2. 부트 프리패치의 프리패쳐 버전은?

(0x00000020)


답 포맷 : [1번 답]_[2번 답], 대괄호/문장부호 생략




#Solution


프리패치란 ?

프리패치란 윈도우 XP 이후의 운영체제에서 부팅이나 응용프로그램을 실행할 때 속도향상을 위해 구현된 기능이며 크게 부트 프리패치와 응용프로그램 프리패치로 나뉜다. 


프리패치의 특징

1. 부트프리패치

부트 프리패치의 경우 프리패처에 의해 시스템 부팅 시 사용하는 파일을 최대 120초 까지 모니터링한 결과파일을 생성하며 참조 목록을 통해 부팅 과정에서 로드되는 악성코드확인이 가능하다


2. 응용프로그램 프리패치

응용프로그램 프리패치의 경우 응용프로그램을 초기 실행 시 캐시 관리자가, 10초간 사용한 파일을 모니터링한 결과파일을 생성하며 악성코드의 직접 실행 흔적을 발견할 수 있다


3. 프리패치 파일의 경로

프리패치는 %SystemRoot%\Prefetch에 <filename>_<filepath hash>.pf로 저장되며, 윈도우 7의 경우 최대 128개, 윈도우 8과 10의 경우 최대 1024개까지 파일이 생성되며 최대 개수를 넘게되면 가장 오래전에 생성된 파일부터 자동 삭제한다


4. 프리패치 활성화

윈도우 7 환경에서는 기본적으로 프리패치 기능이 활성화 되어있지 않으며, 활성화를 위해서는 첫 번째로 레지스트리와 두 번째로는 서비스의 확인이다.

4-1 레지스트리 값 확인

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher

0 = 프리패치 기능을 사용하지 않음

1 = 응용프로그램 프리패칭만 사용

2 = 부트 프리패칭만 사용

3 = 부트/응용프로그램 프리패칭 모두 사용 (Default Value)

4-2 서비스 실행 확인

Windows + R을 통해 services.msc를 입력하면 서비스 관리 프로그램이 실행 되며 Windows Event Log와 Task Scheduler 기능이 실행되고 있어야 한다


5. 프리패치 파일에서 획득 가능한 정보

응용프로그램 이름

응용프로그램 실행 횟수

응용프로그램 마지막 실행 시각

참조 목록

파일시스템 시간 정보



[그림 1] - 프리패치 파일 확인



[그림 1]은 문제에서 주어진 프리패치 파일이며, 문제에서 요구하는 것은 부트 프리패치의 바이트 크기와 


프리패쳐의 버전이므로 부트 프리패치 파일을 먼저 찾아야 하며 부트 프리패치 파일의 이름은 NTOSBOOT-B00DFAAD.pf 이다


[그림 2] - 부트 프리패치 파일 확인


문제에서 요구하는 부트 프리패치 파일을 찾았으니, 바이트 크기와 프리패쳐 버전을 알아내기 위해서는 


아래와 같이 윈도우 버전에 따라 다른 프리패치의 구조를 알아야한다


[그림 2] - Windows 7, Windows XP 프리패치 구조


버전에 따라 구조가 다르므로 가장 먼저 봐야할 것은 버전 정보가 적힌 오프셋 0x00~0x03에 해당하는 부분이다


0x17

Windows XP, Windows2003


0x23

Windows Vista, Windows 7


0x1A

Windows 8.1


0X1E

Windows 10


[그림 3] - 프리패쳐 버전 확인


프리패쳐의 버전 확인결과 Windows Vista 또는 Windows 7에서 사용하는 프리패쳐임을 확인할 수 있었다


프리패쳐의 버전을 확인했으니 Windows 7또는 Windows Vista에서 사용하는 프리패치의 구조 중 바이트 정보에 해당하는 오프셋은 아래와 같다


[그림 4] - 바이트 크기 확인


오프셋 0x0C~0x0F에 해당하며 리틀엔디언 형식으로 저장되어 있기 때문에 마지막 바이트부터 읽어야한다


바이트 크기는 0x001B2968이며 이를 10진수로 변환하면 1780102이다


Answer = 1780102_0x00000017



'Wargame' 카테고리의 다른 글

[Cresendo] Prefetch Problem 03  (0) 2017.11.05
[Cresendo] Prefetch Problem 02  (0) 2017.11.05
[Lord of SQL Injection] Dragon  (0) 2017.11.02
[Lord of SQL Injection] Xavis  (0) 2017.11.02
[Lord of SQL Injection] Nightmare  (0) 2017.11.02

+ Recent posts