Windows 8 Forensics - 4. Registry

Registry를 Mining하는 작업은 포렌식적으로 굉장히 유용하다. 해당 섹션에서 포렌식적으로 유용한 경로를 알아본다. 이전 Windows버전과 비슷하다. ^^


- NTUSER.DAT

NTUSER.DAT는 특정한 사용자에 대한 정보를 기록한다. 만약 여러 사용자가 컴퓨터에 존재할 경우, NTUSER.DAT 역시 여러개 존재하게 된다. 이 파일에는 사용자가 열었던 파일이나 사용한 어플리케이션, 방문했던 웹사이트 등을 남긴다. 경로는 아래와 같다.

기본 경로 : %SystemRoot%\Users\%User%\NTUSER.DAT\


Typed URL Time

%SystemRoot%\Users\%User%\NTUSER.DAT\Software\Microsoft\Internet Explorer\TypedURLsTime\

%SystemRoot%\Users\%User%\NTUSER.DAT\Software\Microsoft\Internet Explorer\TypedURLs\

Typed URL Time은 바이너리로 저장되며 1601년 1월 1일 GMT 00:00:00 이후의 100나노세컨드로 표현된다. FILETIME 구조는 두개의 32비트 값으로 구성되어 있으며, 이 값은 64비트 값을 표현하기 위해 결합되었다. URL들은 TypedURLs에서 확인할 수 있으며, 각각의 값은 TypedURLsTime과 연관지을 수 있다. 


- SAM

사용자 계정에 대한 정보를 담고 있다. 어느 도메인에 존재하는지 어떤 경로에 있는지 등을 알 수 있다. SAM key는 사용자 이름들을 저장한다, 이 저장된 이름은 로그인을 위해 사용되거나 사용자 계정의 RID(Relative Identifier)로 사용된다. SAM 안에 저장된 데이터는 아래 경로에서 찾을 수 있다.


기본 경로 : %SystemRoot%\Windows\System32\Config\SAM


Username 확인

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\GivenName

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\Sername


Last Logon

0x8-15의 8byte값

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\F


Last Password Change

0x24-31의 8byte값

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\F


Account Expiration

0x32-39의 8byte값 / 설정이 되어있지 않으면, 시간정보가 확인이 안되며, FF FF FF FF 로 표현된다.

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\F


Last Failed Logon

0x40-47의 8byte값

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\F


User's RID

0x48-49의 2byte값 / RID(Relative Identifier)

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\F


User's Tile

%SystemRoot%\Windows\System32\config\SAM\Domains\Account\Users\%UserNumber%\UserTile



- SYSTEM

SYSTEM은 OS에 대한 정보를 담고 있다. Device에 할당된 Drive letter, 컴퓨터 이름, 타임존, 시스템에서 사용한 USB 등이 있다. 또한 control sets에는 시스템 부팅에 관련된 설정이 담겨져 있다.


기본 경로 : %SystemRoot%\Windows\System32\config\System


Current Control Set : Current

%SystemRoot%\Windows\System32\config\SYSTEM\Select\Current

01은 현재 ControlSet001이라는 것을 알려준다.


Current Control Set : LastKnownGood

%SystemRoot%\Windows\System32\config\SYSTEM\Select\LastKnownGood

마지막에 성공적으로 부팅한 Control Set 번호를 의미한다.


Mounted Devices

%SystemRoot\Windows\System32\config\SYSTEM\MountedDevices\


Device Letter를 저장하고 있다. Device Letter는 USB를 연결하고 제거해도 마지막에 저장된 USB의 정보를 기록하고 있다.

Last Graceful Shutdown Time

마지막 정상 종료 시간

%SystemRoot%\Windows\System32\config\SYSTEM\ControlSet001\Control\Windows\ShutdownTime


시간 정보는 Windows FILETIME 로 기록되어 있다.


Sensor and Location Devices

%SystemRoot%\Windows\System32\config\SYSTEM\ControlSet001\Enum\SWD\SensorsAndLocationEnum\LPSensorSWDevice\HardwareID


Sensor and Location Devices는 Windows 7에서 부터 사용된 새로운 기능이다. 해당 기능이 활성화되면, 사용자는 Internet을 통하도록 설계된 활동에 대해서 OS와 함께 동작하도록 되어 있다. 예를 들어 GPS정보를 들 수 있다. Windows 8에서는 해당 기능이 활성화 되어 있다.


USB STORAGE DEVICES

%SystemRoot%\Windows\System32\config\SYSTEM\ControlSet001\Enum\USBSTOR


시스템에 연결된 USB 저장 장치는 SYSTEM 안에 생성되는 Key로 확인이 가능하다. Key에는 USB 저장장치가 연결된 PORT와 HUB, Time Stamp, Drive letter가 기록되어 있다. USB 저장장치가 시스템에 연결되지 않으면 당연히 USBSTOR Key가 생성되지 않는다. 하지만 분석가는 Link File, Restore Points, Shadow Copy, Setupapi.dev.log를 점검해야한다.


USBSTOR는 USB의 이름을 저장하고 있으며, Vendor ID, Product ID, Revision Number, Serial Number를 기록하고 있다. 만약 Device가 Serial Number를 가지고 있지 않다면, Windows는 Unique Instance ID를 부여한다. Serial Number의 두번째 Character가 "&"이면, Serial Number가 없는 거다. Serial Number가 없는 거는 "o&26D88A54&o"와 같은 Unique Instance ID를 부여 받는다.



FriendlyName에 USB의 이름이 저장되어 있다.

%SystemRoot%\Windows\System32\config\SYSTEM\ControlSet001\Enum\USBSTOR\%USB NAME%\%Unique Intance ID%\FriendlyName


Mounted Devices에서 보면 하나의 USB Device에 대한 하나의 Drive letter를 부여한다. 그러나 USBSTOR에서는 두개의 USB 저장장치가 저장된다. 


이러한 정보를 가지고 Tracking이 가능한가? 물론 가능하다. Tracking하는 법을 시작한다.


Prod_Flash_Disk에 대한 Unique Instance ID로 이동한다. 나중에 Unique Instance ID를 사용하므로 기록한다. 그리고 Unique Instance ID 아래에서 Container ID를 찾아서 기록한다. Windows 7부터 시스템에 설치된 각각의 Instance는  Container ID를 부여받는다.  PNP(Plug-n-Play) Manager는 Container ID를 사용하여 하나나 그 이상의 Device node를 그룹한다. 그룹들은 해당 Device가 어디에서 존재했는지, 어떤 Instance에 속해 있는지 알려준다. Instance는 Device Container라고 볼 수 있다.



Container ID에서 {07a38620-8a9c-5995-9d21-f13dbf1e51ea}를 발견하였다. 해당 값은 Device Containers에서 Key 값으로 발견이 된다. 해당 Key를 확인하면 GUID를 찾을 수 있다. GUID는 {53f56307-b6bf-11d0-94f2-00a0c91efb8b}이다. 해당 값을 기록해 둔다. 

%SystemRoot%\Windows\System32\config\SYSTEM\CurrentControlSet\Control\DeviceContainers\%ContainerID%\BaseContainers

%SystemRoot%\Windows\System32\config\SYSTEM\CurrentControlSet\Control\DeviceContainers\%ContainerID%\Properties


USB Date & Time을 확인하기 위해 아래의 위치로 이동한다.

%SystemRoot%\Windows\System32\config\SYSTEM\ControlSet001\Enum\USB\%VID&PID%\%Unique Instance ID%\Properties\{83da6326-97a6-4088-9453-a1923f573b29}\0064\0000


3번째 Entry에서 Prod_Flash_Disk가 plugin 된 시간 정보를 확인하기 위해서는 USB의 VID와 PID를 알아야 한다. 해당 USB의 VID와 PID는 VID_090C&PID_1000 이다. 시간 정보는 Windows FILETIME으로 확인할 수 있다.


그 다음 아래 위치를 이동하여 어떤 Port를 사용했는지 확인한다. Unique Instance ID에서 확인한 값을 가지고 확인해보면, LocationInformation을 확인할 수 있다. Hub2에 있는 Port1을 사용한 것을 알 수 있다.

%SystemRoot%\Windows\System32\config\SYSTEM\ControlSet001\Enum\USB\%VID&PID%\%Unique Instance ID%\LocationInformation


Mounted Device로 가서 GUID인 {87697c82-6708-11e1-8e1c-74f06da8e34b}를 확인하여 Prod_Flash_Disk가 사용된 흔적을 발견할 수 있을 것으로 생각되었는데, 같은 GUID값은 존재하지 않는다.


%SystemRoot%\Windows\System32\config\SYSTEM\MountedDevices\


이런 경우는 새로운 Device가 다시 할당 되었다는 의미이다. 그러므로 Link Files과 Restore Points, Shadow Copies, Setupapi.dev.log를 확인하여 사용자가 무슨 행위를 했는지 분석해야 한다.


Mounted Devices는 하나밖에 값을 보여주지 않는다.  


- SOFTWARE

SOFTWARE는 OS에 대한 정보를 담고 있다. Version, Installed Time, Registerd Owner, Last User to Logon, Members of a Group


기본 경로 : %SystemRoot%\Windows\System32\config\SOFTWARE


'Forensics' 카테고리의 다른 글

Time Encoder 공유  (1) 2012.08.22
Windows Files / 시간 정보  (0) 2012.05.14
Windows 8 Forensics - 3. Artifacts (2)  (0) 2012.05.14
Windows 8 Forensics - 2. Artifacts (1)  (0) 2012.05.14
Windows 8 Forensics - 1. Interface  (0) 2012.05.14
Posted by 도시형닌자
: