순 서 1. UserAssist p 2. Prefetch / Superfetch p 3. Shim p 4. LNK

Similar documents
Windows7 응용프로그램실행흔적분석 공지훈

슬라이드 1

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

PowerPoint Presentation

*2008년1월호진짜

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

ActFax 4.31 Local Privilege Escalation Exploit

CODESYS 런타임 설치과정

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Secure Programming Lecture1 : Introduction

Windows 8에서 BioStar 1 설치하기

Table of Contents 1. 분석 유포경로 악성파일분석 드롭퍼 A 분석 드롭퍼 B 분석 페이지 2 / 17

Xcovery 사용설명서

ISP and CodeVisionAVR C Compiler.hwp

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Windows 10 General Announcement v1.0-KO

Microsoft Word - src.doc

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Microsoft Word - FunctionCall

RHEV 2.2 인증서 만료 확인 및 갱신

MF Driver Installation Guide

tiawPlot ac 사용방법

슬라이드 제목 없음

슬라이드 1

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Adobe Flash 취약점 분석 (CVE )

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

IRISCard Anywhere 5

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

Internet Explorer 11 자동업데이트방지 사용자가이드 작성일 : Version 1.0

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

View Licenses and Services (customer)

[ 악성코드상세분석보고서 ] SK 커뮤니케이션즈해킹관련상세분석보고서 nateon.exe 대응 2 팀

JDK이클립스

User Guide

Windows Server 2012

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

SBR-100S User Manual

BMP 파일 처리

Lab 3. 실습문제 (Single linked list)_해답.hwp

Endpoint Protector - Active Directory Deployment Guide

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

MF3010 MF Driver Installation Guide

Studuino소프트웨어 설치

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

PowerPoint Presentation

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

IT CookBoo, 컴퓨터 실습

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

레지스트리포렌식 - Regripper 를이용한 NTUSER.DAT 분석 - 학과 사이버경찰학과 학번 이름 허인호 - 1 -

문서의 제목 나눔고딕B, 54pt

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Chapter #01 Subject

PowerPoint 프레젠테이션

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

The Pocket Guide to TCP/IP Sockets: C Version

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

고객 카드

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Slide 1

슬라이드 1

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

MF5900 Series MF Driver Installation Guide

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Module 2 Windows 8 업그레이드와마이그레이션

PowerPoint 프레젠테이션

윈도우시스템프로그래밍

KEB 외국환 서식관리 프로그램 사용자 메뉴얼

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Secure Programming Lecture1 : Introduction

슬라이드 1

통신프로토콜

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

슬라이드 1

Microsoft PowerPoint - chap06-2pointer.ppt

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

API 매뉴얼

신종파밍악성코드분석 Bolaven

07_alman.hwp

ICAS CADWorx SPLM License 평가판설치가이드

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

#WI DNS DDoS 공격악성코드분석

왜곡보정버전업그레이드순서 - Windows 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는왜곡보정의버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트도받고있으므로사용하시는환경등으로펌웨어를업데이트할수없는사용자는이용하여주십시오. 사용하시는카메라사용법

윈도우시스템프로그래밍

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

1. Execution sequence 첫번째로 GameGuard 의실행순서는다음과같습니다 오전 10:10:03 Type : Create 오전 10:10:03 Parent ID : 0xA 오전 10:10:03 Pro

Frama-C/JESSIS 사용법 소개

Altibase Installation Manual

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

chap 5: Trees

Transcription:

Windows7 응용프로그램실행흔적분석 공지훈 201354002

순 서 1. UserAssist ------------------------ 1p 2. Prefetch / Superfetch ------------- 4p 3. Shim ---------------------------- 5p 4. LNK ---------------------------- 12p 5. Jump List ----------------------- 16p

1. UserAssist UserAssist는 explorer를통해사용자가사용한프로그램을 counting 하여자주사용하는프로그램을 [ 그림 1] 과시작목록에나타내준다. 또한실행시킨프로그램에대한경로와실행횟수, 마지막실행시간정보가 ROT13으로기록되어있다. 각운영체제에서 UserAssist 경로는다음과같다. HKU\{USER}\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \UserAssist 2000/XP/Vista {5E6AB780-7743-11CF-A12B-00AA004AE837}\Count {75048700-EF1F-11D0-9888-006097DEACF9}\Count 7 {CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count // 실행파일실행기록 {F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count // 바로가기실행기록 [ 그림 1] 자주사용하는프로그램 - 1 -

UserAssist 확인시내용이 [ 그림 3] 과같은 ROT13 으로인코딩되었음을확인할 수있다. [ 그림 2] UserAssist [ 그림 3] ROT13 encoding Windows7 에서 UserAssist 키의 0 ~ 3 값은세션번호를나타내고 4 ~ 7 은실행 횟수, 60 ~ 67 은마지막실행시간을뜻한다. [ 그림 4] UserAssist 키내용 - 2 -

[ 그림 5] REGA 를이용한분석 [ 그림 5] 는 REGA를이용해 UserAssist를분석하는화면이다. GUID와실행프로그램명, 실행시간등의정보를확인할수있다. 추가적으로 Windows7/Vista 이후부터생겨난 UAC로인해일반사용자가특정경로에파일이나레지스트리를쓰게되면파일, 레지스트리가상화가이루어지는데이때가상화를통해쓰여진데이터는 NTUSER.dat가아닌 UsrClass.dat에저장되기때문에정확한분석을위해 UsrClass.dat도추가적으로수집및분석해야한다. [ 그림 6] REGA 수집항목 - 3 -

2. Prefetch / Superfetch 프리패치는실행파일이사용하는특정자원을파일로미리저장하는것으로실행 속도를향상시키기위함에목적이있으며부트프리패칭과응용프로그램프리패칭으 로나뉜다. 부트프리패칭시스템부팅시다양한파일을사용하게되는데이때부팅과관련한파일이흩어져있거나단편화되어부팅속도가저하될수있다. 프리패처는부팅시작후최대 120초간사용되는코드와데이터를모니터링하고그결과를파일로저장하여다음부팅시부터향상된속도를제공한다. 응용프로그램프리패칭실행프로그램실행시초기 10초간메모리에로드되는코드와데이터의일부또는전부를파일로생성하는데이때생성되는파일이프리패치파일이다. 프리패칭된응용프로그램실행시프리패치파일을이용해초기실행속도를향상시킬수있다. 프리패치파일은최대 128개의파일로제한되며초과되면제일오래된프리패치파일부터삭제된다. 하지만제한된용량을가진메모리로인해다른응용프로그램이메모리를필요로할경우프리패치데이터를페이징파일로이동시킨다. 때문에이데이터가필요하다면페이징파일로부터메모리로다시로딩하는과정을거쳐야하기때문에성능저하의원인이된다. 이러한문제점을해결하기위해슈퍼패치는프리패치데이터가메모리에서페이징파일로스와핑된경우이를감지하여페이징을야기한응용프로그램이종료된경우에다시페이징된데이터를메모리로이동시킨다. 때문에자주사용하는프로그램일경우지속적으로메모리에로드되어성능이향상된다. 추가적으로슈퍼패치는맵파일에사용자의프로그램사용패턴 ( 얼마나자주, 언제, 얼마동안 ) 을기록한다. 프리패치는 %SystemRoot%Prefetch 경로에저장되며부트프리패치파일은 NTOSBOOT-B00DFAAD.pf 이고이외는응용프로그램프리패치파일이다. 슈퍼패치 는 Ag 로시작하며.db 확장자를가진파일이다. - 4 -

[ 그림 7] 프리패치저장경로 Windows7 의프리패치 / 슈퍼패치설정과레벨에따른동작은아래와같다. [ 그림 8] 프리 / 슈퍼패치설정 프리패치파일은응용프로그램의이름, 실행횟수, 마지막실행시간과더불어프 로그램실행시참조목록등의정보를담고있어포렌식관점에서중요하게활용가능하다. [ 그림 9] WinPrefetchView 를이용한분석 [ 그림 9] 는 WinPrefetchView를이용해프리패치파일들을분석하는화면이다. 프리패치생성시간과더불어수정시간, 경로및참조정보등많은정보를담고있음을볼수있다. 응용프로그램을실행한후 10초간의모니터링과정에서실행한파일이로드되어참조목록에기록되는데종종남아있지않는경우도존재한다. - 5 -

3. Shim Shim캐시를이해하기위해먼저응용프로그램호환성데이터베이스에대한이해가필요하다. 운영체제는버전이업데이트될때마다응용프로그램의호환성문제를겪게되는데이를윈도우에서는응용프로그램호환성데이터베이스가해결해준다. 호환성처리모듈과데이터베이스는 C:\Windows\AppPatch\ 경로에서확인할수있다. [ 그림 10] 호환성데이터베이스파일 DLL 파일은호환성처리모듈이며.sdb 파일은호환성데이터베이스파일로해당파 일들은 sb2xml 로확인이가능하다. SDB 파일에는호환성문제가있는프로그램목 록과함께기존프로그램을계속사용할수있도록하는설정정보를가지고있다. [ 그림 11] pcamain.sdb xml SDB 에서해결하는호환성문제는프로그램바이너리가아닌 API 와관련된호환성 문제이다. 운영체제는업그레이드될때마다새로생겨나는 API 는물론이고없어지는 - 6 -

API, 이를대체하기위한 API가존재하는데 SDB에는각응용프로그램별관련정보가모두저장되어있다. 응용프로그램은윈도우 API접근을위해 IAT를사용하고이때 shim은 IAT 호출사이에끼어들어 SDB를참고하여호환성해결방안으로호출흐름을바꾼다. [ 그림 12] shim 구조 이처럼호환성문제를겪은프로그램은호환성캐시에저장이된다. 따라서응용프로그램실행시 kernel32.dll의 CreateProcessInternalW 함수가시작되고해당함수는내부적으로 BasepCheckBadApp 함수를호출하게된다. 이함수는호환성체크를담당하는함수로서 SDB정보를확인하기전캐시데이터를확인한다. 만일캐시에서호환성문제를발견하지못한다면 SDB를탐색한다. 호환성캐시가정보가저장되는경로는아래와같다. [ 그림 13] shim 캐시저장경로 - 7 -

[ 그림 14] shim 캐시정보 [ 그림 15] win7 shim 캐시구조 shim 캐시는 [ 그림 15] 와같이프로그램경로, 크기, 마지막수정시간등이저장된다. 프리패치를이용해서실행정보를알수있지만프리패치개수가한정되어있어오래된흔적을찾기어렵고, 악성코드가프리패치와같이잘알려진흔적을모두삭제하는경향이있어 shim 캐시정보는포렌식관점에서유용하게사용될수있다. shim 캐시는맨디언트社의 ShimCacheParser를통해분석이가능하다. [ 그림 16] ShimCacheParser [ 그림 17] ShimCacheParser 출력 - 8 -

[ 그림 18] 프로그램호환성관리자 호환성에대해적절한해결책을찾지못한경우위처럼프로그램호환성관리자가 출력된다. 이때 이프로그램이제대로설치되었습니다. 를선택한경우에는아래와 같은레지스트리키에별도로관리된다. [ 그림 19] 프로그램호환성관리자레지스트리키 - 9 -

호환성해결을위해 [ 그림 20] 의호환모드, 설정또는권한수준을설정한경우레 지스트리에저장되고특정사용자만적용하였는지또는시스템전체적으로설정되었 는지여부에따라 HKLM 이나 HKCU 에저장된다. HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers [ 그림 20] 호환성속성 호환성아티팩트와관련해서는추가적으로 RecentFileCache.bcf 가존재하는데이 는 C:\Windows\AppCompat\Programs\ 경로에존재한다. [ 그림 21] RecentFileCache.bcf - 10 -

RecentFileCache.bcf 파일에는단순히실행파일의전체경로가유니코드형식으로저장되어있다. 이파일은프로세스생성시프로그램경로를임시로저장하기위해사용하는것으로최근실행한프로그램에관한정보만저장되어있다. http://journeyintoir.blogspot.kr/p/about.html 에서언급된바에의하면실행한모든프로세스정보가저장되는것이아닌드롭퍼와같이실행파일에서또다른실행파일이파생되거나다른볼륨, 시스템에서복사된프로그램을실행한경우에만기록된다고한다. 기록되는특성에의해악성코드분석시매우유용하게이용할수있지만 RecentFileCache.bcf 파일은 1일 1회초기화가이루어진다. - 11 -

4. LNK 바로가기파일인링크파일은사용자가의도적으로생성하는경우도있지만의도치않게생성되는경우도존재한다. 그중하나가최근문서폴더인데, 이폴더에는사용자가최근에실행했던파일및폴더에대한링크파일이저장된다. WFA를사용해최근에사용된링크파일들의시간과경로정보및 ObjectID, 볼륨ID 등을정보를확인할수있다. [ 그림 23] 최근문서 [ 그림 24] WFA 를이용한링크파일분석 - 12 -

[ 그림 25] LNK 파일생성경로 링크파일은 [ 그림 26] 과같이 ShellLinkHeader, LinkTargerIDList, LinkInfo, StringData, ExtraData 로구성되어있으며 ShellLinkHeader 만이기본헤더로내 부플래그의설정에따라옵션헤더가구성된다. [ 그림 26] LNK 파일구조 각헤더에저장되는정보는아래와같다. ShellLinkHeader(default) : 기본적인헤더로식별정보, 시간정보, 대상 파일크기, 대상파일특성등의정보가저장된다. - 13 -

LinkTargetIDList(optional) : ShellLinkHeader의 HasLinkTargetIDList 플래그가설정되어있을때만존재하는구조로, 링크된대상의다양한정보를리스트형태로구성해놓은구조이다. LinkInfo(optional) : ShellLinkHeader의 HasLinkInfo 플래그가설정되어있을때만존재하는구조로링크대상을참조하기위한정보를가진구조이다. StringData(optional) : 역시나링크대상의문자열정보 ( 이름, 상대경로, 작업디렉터리등 ) 를저장하는구조로 ShellLinkHeader에관련된플래그가설정되어있을때만존재한다. ExtraData(optional) : 링크대상의화면표시정보, 문자열코드페이지, 환경변수와같은추가적인정보저장을위한구조이다. 포렌식관점에서중요한헤더는 ShellLinkHeader(FileAttributes, CreationTime, AccessTime, WriteTime, FileSize) 와 LinkInfo(VolumeID) 이다. [ 그림 27] FileAttributes [ 그림 28] Time, Size ShellLinkHeader 의 FileAttributes 헤더에서는해당링크파일에대한속성정보를 확인할수있고링크대상의생성시간및링크대상의접근시간, 쓰기시간과크기 에대한정보를분석할수있다. - 14 -

LinkInfo 의 VolumeID 헤더에선 DriveType 을통해링크대상이위치한드라이브의 형식과 DriveSerialNumber 그리고링크대상경로를파악할수있다. [ 그림 29] VolumeID - 15 -

5. Jump List Jump List 는윈도우 7 에서새롭게추가된기능으로사용자가최근에열어본파일 및자주열람한파일등사용자의편의를제공하기위해윈도우설치시기본으로설 정되는기능이다. [ 그림 30] 자주사용하는목록 포렌식관점에서 Jump List는사용자의응용프로그램사용흔적및패턴을파악할수있고윈도우설치시부터자동설정되기때문에의도적으로삭제하는경우가아닌이상지속적으로로그가저장이된다. 만약삭제될경우에도볼륨에그대로유지되어복구가가능하다. Jump List 의설정은작업표시줄우클릭 - 속성또는제어판 - 작업표시줄및시작 메뉴에서 [ 그림 31] 과같은설정이가능하다. - 16 -

[ 그림 31] Jump List 설정 Jump List 의설정은작업표시줄우클릭 - 속성또는제어판 - 작업표시줄및시작 메뉴에서 [ 그림 31] 처럼설정이가능하고 Jump List 저장경로는 [ 그림 32] 와같다. [ 그림 32] Jump List 저장겨로 각폴더에저장되는아이템의종류는다음과같다. AutomaticDestinations 운영체제가자동으로남기는항목 MRU/MFU CustomDestinations 응용프로그램이자체적으로관리하는항목 task 목록 - 17 -

각 Jump List 폴더안에는 OLE Compound 파일구조를가진 *Destination-ms 파일이존재한다. 각파일들의이름은 16 바이트크기의 AppID 를나타내고있으며파 일내부에는 Jump List Item 과 Item 의정보를요약하는 DestList 로구성되어있다. [ 그림 33] Jump List 파일 [ 그림 33] 의 automaticdestination-ms 파일의 AppID 는 918e0ecb43d17e23 로메 모장프로그램의아이템임을알수있다. * http://www.forensicswiki.org/wiki/list_ of_jump_list_ids (AppID 확인 ) - 18 -

Jump List 아이템을 LNK 파일과동일한포맷을가지고있어 [ 그림 34] 와같이아 이템의경로와링크대상의시간정보등의확인이가능하다. [ 그림 34 ] Jump List 파일내용 - 19 -

또, JumpLister 툴을사용하면각아이템을불러와해당아이템을 LNK 파일형식 으로파싱해출력해준다. [ 그림 35] Jump Lister 를이용한분석 - 20 -

참 고 1. http://forensic-proof.com/archives/2154 2. http://forensic-proof.com/archives/6103 3. http://www.technipages.com/win7-vista-enabledisable-superfetch 4. http://blogs.technet.com/b/koalra/archive/2009/05/14/windows-7-perfo rmance-responsiveness-superfetch.aspx 5. http://forensic-proof.com/archives/3397 6. http://forensic-proof.com/archives/5819 7. http://forensic-proof.com/archives/607 8. http://maj3sty.tistory.com/1034 9. http://forensic.korea.ac.kr/ 10. http://nirsoft.net/utils/win_prefetch_view.html 11. https://www.mandiant.com/blog/leveraging-application-compatibilitycache-forensic-investigations/ 12. http://blogs.msdn.com/b/heaths/archive/2007/11/02/sdb2xml.aspx 13. http://www.mitec.cz/wfa.html 14. FP-레지스트리-포렌식과-보안.pdf 15. FP-프리슈퍼-패치-포렌식-Pre-Superfetch-Forensics.pdf 16. FP-윈도우-7-점프-목록-Windows7-Jump-List.pdf 17. http://forensic-proof.com/archives/1904 18. http://www.woanware.co.uk/?p=265-21 -