Windows Registry(Windows 登錄檔)可以想成 Windows 的設定資料庫。
裡面會儲存許多系統與使用者相關的資訊,例如:
Windows 系統設定
使用者設定
軟體設定
硬體與裝置資訊
部分使用者活動相關資訊
Windows
│
└── Registry
├── System Settings
├── User Settings
├── Software Information
├── Hardware Information
└── User Activity Artifacts
如果使用 Windows 內建的 regedit,可以看到類似:
HKEY_LOCAL_MACHINE
HKEY_CURRENT_USER
HKEY_USERS
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
這些可以先理解成 Registry 最上層的分類。
| Registry | 資訊 |
|---|---|
| HKLM | 整台電腦的系統設定 |
| HKCU | 目前使用者的設定 |
| HKU | 不同使用者的設定 |
| HKCR | 檔案類型、程式關聯等資訊 |
| HKCC | 硬體設定相關資訊 |
其中 HKLM 和 HKCU 是鑑識時常接觸到的部分。
Windows 會把 Registry 的資料儲存在不同的檔案中,這些檔案稱為:
Registry Hive
常見的 Hive:
| Hive | 主要內容 |
|---|---|
| SYSTEM | Windows 系統相關設定 |
| SOFTWARE | 軟體與系統軟體資訊 |
| SAM | 本機使用者帳號相關資訊 |
| SECURITY | Windows 安全性相關資訊 |
| NTUSER.DAT | 特定使用者的 Registry 資料 |
例如:
C:\Windows\System32\config\SYSTEM
C:\Windows\System32\config\SOFTWARE
C:\Windows\System32\config\SAM
C:\Windows\System32\config\SECURITY
C:\Users\<Username>\NTUSER.DAT
Registry 裡面的資料是階層式的。
HKEY_CURRENT_USER
│
└── Software
│
└── Microsoft
│
└── Windows
每一層都可以再往下分。
這些節點稱為 Key。
Key 底下還可以有:
Key
├── Subkey
│ └── Subkey
└── Value
Key:資料分類
Subkey:Key 底下的分類
Value:實際儲存的資料
Registry 裡的資訊很多,不同 Hive 和 Key 可以提供不同線索。
例如可能看到:
Windows Version
Computer Name
System Configuration
可以用來了解這台電腦的基本環境。
可以找到與 Windows 使用者帳號相關的資訊。
Registry 也可能留下:
Installed Software
Software Version
Software Configuration
例如:
Installed Software
├── Google Chrome
├── 7-Zip
├── VLC
└── ...
協助我們了解:
這台電腦上曾經有哪些軟體或相關設定。
Registry 中有一些特定的資訊,可以用來分析使用者或系統活動。
這些鑑識上有用的資訊,稱為:Registry Artifact
例如:
Recent Files
UserAssist
ShellBags
USB Device Information
Run Keys
不同 Artifact 可以提供不同的線索。
Windows 本身就有 Registry Editor:
regedit
按:
Win + R
輸入:
regedit
就可以開啟。
需要注意:
不同 Registry Artifact 的意義不同
某些資料可能被修改或刪除
不一定每個使用者行為都會留下 Registry 紀錄
Registry 中的資料不一定能直接代表「某人做了某件事」
需要搭配其他數位證據進行驗證
| 名詞 | 意義 |
|---|---|
| Registry | Windows 的階層式資料庫 |
| Hive | 儲存 Registry 資料的檔案 |
| Key | Registry 中的分類節點 |
| Subkey | Key 底下的子分類 |
| Value | 實際儲存的資料 |
| Registry Artifact | 可用於鑑識的 Registry 資訊 |