Bel7phegor/Digital-Forensics-Lab
GitHub: Bel7phegor/Digital-Forensics-Lab
基于 NIST CFReDS 数据泄露案例的 Windows 磁盘镜像数字取证实验教程,涵盖注册表分析、Prefetch、Shellbags、事件日志解析与文件恢复。
Stars: 0 | Forks: 0
# 1.1. Windows 注册表简介
## 1.1.1. 定义
Windows Registry 是一个层次结构的数据库,用于存储 Windows 操作系统、应用程序和用户的配置信息和设置。注册表在管理系统运作中起着核心作用,从硬件识别、软件配置到用户设置。
### 1.1.2. 注册表的作用
管理系统:
注册表存储了 Windows 启动和运行所需的所有必要信息,包括:
• 硬件驱动配置(例如:网卡、GPU)。
• 系统服务设置。
控制应用程序:
• 保存软件的安装路径和版本。
• 规定应用程序如何与操作系统进行交互。
## 1.2. 注册表结构
### 1.2.1. 根键
注册表被组织成 5 个根键,每个键管理特定的范围:
- HKEY_CLASSES_ROOT (HKCR) 将文件扩展名与默认应用程序关联,并注册 COM objects。 HKCR\.pdf → 使用 Adobe Reader 打开。
- HKEY_CURRENT_USER (HKCU) 包含当前用户的设置(来自文件 NTUSER.DAT)。 HKCU\Software\Microsoft\Windows\CurrentVersion\Run → 与用户一起启动的应用程序。
- HKEY_LOCAL_MACHINE (HKLM) 保存整个系统(硬件、软件)的通用配置。 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion → Windows 版本。
- HKEY_USERS (HKU) 包含所有用户的 profile(包括 HKCU)。 HKU\S-1-5-21-...\Software\Microsoft\Windows → 用户 X 的 Windows 设置。
- HKEY_CURRENT_CONFIG (HKCC) 保存正在使用的硬件信息(来自 HKLM\SYSTEM\CurrentControlSet)。 HKCC\Software\Fonts → 当前字体。
### 1.2.2. 键内部的组件
每个键包含:
- Key (子键): 层次结构的目录(例如:HKLM \ SOFTWARE \ Microsoft)
- Value (值): 配置数据,包括:
- 值名称: 例如:"Version"
- 数据: 例如:"10.0.19045"
- 数据类型: 规定数据的解释方式
值类型 描述 应用示例 存储位置
- REG_SZ Unicode 字符串。 保存文件路径 (C:\Program Files\...)。 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir
- REG_DWORD 32 位整数。 配置网络超时 (30000 ms)。 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime
- REG_BINARY 二进制数据。 在 SAM database 中保存密码 hash。 HKLM\SAM\Domains\Account\Users\000001F4
- REG_MULTI_SZ 字符串数组。 随系统启动的服务列表。 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost
### 1.2.3. 值类型
Windows Registry 中有多种不同的注册表值类型,每种类型都是为了不同的目的而创建的。一些注册表值使用常规的字母和数字,以便用户更容易阅读和理解,而其他值则使用二进制或十六进制来表示它们的值。
- 字符串值
- 字符串值由一个带有字母“ab”的红色小图标表示。这些是 Windows Registry 中最常用且最易读的值。它们可以包含字母、数字和符号。

字符串值在 Registry Editor 中被列为“REG_SZ”类型的注册表值。
- 多字符串值
- 多字符串值类似于字符串值,但唯一的区别是它们可以包含值的列表,而不是像上面那样只有单行值。Registry Editor 将多字符串值列为“REG_MULTI_SZ”注册表值类型。

- 可扩充字符串值
- 可扩充字符串值与上述字符串值一样,不同之处在于它们包含变量。当 Windows 或其他程序使用这些类型的注册表值时,它们的值将根据指定的变量进行扩充。
Environment 变量就是这方面的典型例子。其路径如下:
HKEY_CURRENT_USER\Environment\TMP
其中,扩充字符串的值为 % USERPROFILE%\AppData\Local\Temp。

“REG_EXPAND_SZ”是 Registry Editor 中列出可扩充字符串值的注册表值类型。
- 二进制值
- 该值以二进制格式写入。它们在 Registry Editor 中的图标为蓝色,带有特殊字符和零。

Registry Editor 将“REG_BINARY”列为二进制值的注册表值类型。
- DWORD (32-BIT) 值和 QWORD (64-BIT) 值
- DWORD (32-bit) 值和 QWORD (64-bit) 值在 Windows Registry 中都有蓝色的图标。它们的值可以以十进制或十六进制格式表示。

Registry Editor 将 DWORD (32-bit) 值和 QWORD (64-bit) 值显示为“REG_DWORD”和“REG_QWORD”注册表值类型。
# I. 实验环境设置
模拟场景取自 NIST (National Institute of Standards and Technology) 提供的数字取证分析实践,剧本为企业内部的数据泄露。
- 一名名叫 Iaman Informant 的内部员工,在技术开发部门工作,被竞争对手公司的一名个人诱骗泄露敏感信息。Informant 使用 USB 存储设备以及辅助工具(如 Google Drive、Web 浏览器、痕迹清除软件(Eraser、CCleaner))来实施此行为。当他离开公司时,在安检口被抓获,相关设备被没收以供调查。
## 下载并准备数据
1. 从 NIST 下载磁盘 img/image (DD img/image):
wget https://cfreds-archive.nist.gov/data_leakage_case/img/images/pc/cfreds_2015_data_leakage_pc.7z.001
wget https://cfreds-archive.nist.gov/data_leakage_case/img/images/pc/cfreds_2015_data_leakage_pc.7z.002
wget https://cfreds-archive.nist.gov/data_leakage_case/img/images/pc/cfreds_2015_data_leakage_pc.7z.003

2. 解压并检查:
7z x cfreds_2015_data_leakage_pc.7z.001

3. 检查 md5 查看是否与已知数据相等
md5sum cfreds_2015_data_leakage_pc.dd

4. 系统磁盘分区
fdisk -l cfreds_2015_data_leakage_pc.dd

5. 列出系统磁盘中的文件/文件夹名称
fls -o 2048 cfreds_2015_data_leakage_pc.dd | head
fls -o 206848 cfreds_2015_data_leakage_pc.dd | head

6. 关联 dd img/image 的命令
sudo losetup --partscan --find --show --read-only cfreds_2015_data_leakage_pc.dd

ls /media/anphuc/

## 如何复制注册表文件以供未来进行取证分析?
- SYSTEM 包含有关系统配置、设备、驱动程序、网络结构 (NIC, TCP/IP...)、启动/关闭状态、control set 的信息。这是 ANM 分析中 Address、Network、Timezone 的主要来源。
- SOFTWARE 包含有关操作系统、已安装应用程序、软件配置、OS 名称、版本、license key、MRU (most recently used) 历史记录的信息。用于确定 Machine(OS 名称、相关软件、安装时间)。
- SAM Security Account Manager – 包含用户账户(username、SID、登录信息)、密码 hash。对于确定嫌疑 user 及 Machine 上的登录活动非常重要。
- SECURITY 包含有关安全策略、用户权限、ACLs (Access Control Lists)、GPOs (Group Policy Objects) 的信息。在基础分析中较少使用,但在高级访问权限调查中很重要。
- DEFAULT 包含系统或在尚未登录任何账户时的默认注册表配置。用于恢复,或应用于从未登录过的新账户。在取证中通常没什么有价值的信息。
cp /media/anphuc/C8CA0C8DCA0C7A48/Windows/System32/config/DEFAULT work/
cp /media/anphuc/C8CA0C8DCA0C7A48/Windows/System32/config/SAM work/
cp /media/anphuc/C8CA0C8DCA0C7A48/Windows/System32/config/SECURITY work/
cp /media/anphuc/C8CA0C8DCA0C7A48/Windows/System32/config/SOFTWARE work/
cp /media/anphuc/C8CA0C8DCA0C7A48/Windows/System32/config/SYSTEM work/

## 在 PC 中查找用户
```
ls -l /media/anphuc/C8CA0C8DCA0C7A48/Users/
```

## 将 HKEY_USERS 的 hive 文件副本查找并复制到 \work\User
```
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/admin11/NTUSER.DAT work/NTUSER_admin11.DAT
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/Default/NTUSER.DAT work/NTUSER_Default.DAT
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/NTUSER.DAT work/NTUSER_informant.DAT
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/temporary/NTUSER.DAT work/NTUSER_temporary.DAT
```


## 检查镜像中的 .pf 文件
```
Liệt kê được các tệp Prefetch (.pf) trong hệ thống. Đây là những tệp quan trọng trong điều tra pháp y kỹ thuật số vì chúng ghi lại thông tin về các chương trình đã được chạy trên hệ thống.
fls -rdF -o 206848 cfreds_2015_data_leakage_pc.dd | grep -P '\.pf' --color
-r: đệ quy,-F: Chỉ hiển thị các tập tin,-d: các tập tin đã xóa
```

- 从 Prefetch 文件列表中,一些值得注意的文件:
CMD.EXE-4A81B364.pf: 证明 Command Prompt 曾被使用过。
PDMSETUP.EXE-xxxx.pf: 多次出现,可能与软件安装有关。
REGISTERIEPKEYS.EXE-xxxx.pf: 与 Internet Explorer 配置有关。
- 分析 Prefetch 文件
icat -o 206848 cfreds_2015_data_leakage_pc.dd 63674 > CHRMSTP.EXE-184F6CDD.pf
icat -o 206848 cfreds_2015_data_leakage_pc.dd 62312 > CMD.EXE-4A81B364.pf
获得的信息:
```
- Tên chương trình được chạy.
- Số lần chạy.
- Thời gian chạy gần nhất.
- Các tệp DLL hoặc tài nguyên liên quan.
```
## 分析 Security.evtx 文件(Windows 安全事件日志)
```
fls -r -p -o 206848 cfreds_2015_data_leakage_pc.dd | grep Security.evtx
```

```
Sử dụng evtxdump (Python)
evtx_dump.py Security.evtx > Security.xml
```
# II. 收集 PC 的基本信息
## 镜像的哈希值(MD5 和 SHA-1)是什么?
## 如何确定 PC 镜像的分区信息?
```
fdisk -l cfreds_2015_data_leakage_pc.dd
```
## 1. 如何显示文件(文件夹)和分区?
```
fls -o 2048 cfreds_2015_data_leakage_pc.dd
```
## 2. 如何列出所有分区中已删除的 .docx 文件?
```
fls -rdF -o 206848 cfreds_2015_data_leakage_pc.dd | grep .docx
```

## 3. 已安装操作系统的详细信息是什么?
```
rip.pl -r SOFTWARE -p winver
```

## 4. 时区设置是什么?
```
rip.pl -l | grep -i timezone
rip.pl -r SYSTEM -p timezone
```

## 5. 计算机名是什么?
```
rip.pl -l | grep -i name
rip.pl -r SYSTEM -p compname
```

# III. 调查用户账户
## 6.系统中有多少个账户?
```
rip.pl -l | grep -i profile
rip.pl -r SOFTWARE -p profilelist
```

### 查找并搜索有关 Security Accounts Manager (SAM) 的信息
- SAM 存储账户信息,例如 hash 格式 (NTLM) 的密码。
rip.pl -r SAM -P samparse | grep -E "Username|Created|Date"

### 这些账户的 NTLM 是什么?
```
impacket-secretsdump -sam SAM -security SECURITY -system SYSTEM LOCAL
```

### 如何破解 Windows 10 密码?
## 7.最后一位登录计算机的用户是谁?
```
rip.pl -r SOFTWARE -p lastloggedon
```

最后一位登录计算机的用户是 user informant,时间是:2015-03-25 13:05:47Z
## 8.记录的最后关机日期/时间是什么时候?
```
rip.pl -r SOFTWARE -p shutdown
```

最后关机日期是 2015-03-25 15:31:05Z
* 结论:信息提供者是最后一个在 13:05 登录并在下午 15:31 关闭计算机的人
## Shellbags - 已访问目录的信息
ShellBags 存储在文件 USRCLASS.DAT 中(属于 Windows 用户配置文件),记录如下信息:
- 已打开的文件夹名称,
- 访问 / 创建 / 修改时间,
- 文件夹结构,
- 已访问的磁盘 (C:, D:, E:, V:...),
- .zip 文件内的数据(如果曾通过 Explorer 打开过),
- 用户访问过的控制面板项目,
- 按照路径(例如 [Desktop\1\0\1\2\])保存的树形目录层次结构。
- 将数据保存到 shellbags_output.txt
rip.pl -r User/NTUSER.DAT -p shellbags > shellbags_output.txt
- 创建 1 个 python 文件 parse_shellbags.py 以将其转换为 csv 文件
import csv
# 输入和输出文件名
input_file = "bags_output.txt"
output_file = "shellbags_output.csv"
# 保存记录的列表
records = []
# 临时变量,用于在当前行缺少数据时保留前几行的信息
current_record = [""] * 7 # [MRU Time, Modified, Accessed, Created, Zip_Subfolder, MFT File Ref, Resource]
with open(input_file, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
if not line or line.startswith("MRU Time") or line.startswith("-"):
continue # 跳过标题行和分隔线
# 根据 | 分割行
fields = [field.strip() for field in line.split("|")]
# 如果字段数量小于 7,则补齐
while len(fields) < 7:
fields.insert(0, "")
# 如果缺少某个字段,则沿用之前的值
for i in range(7):
if fields[i]:
current_record[i] = fields[i]
# 仅当存在 Resource 字段时才添加记录
if current_record[6]:
records.append(current_record.copy())
# 写入 CSV 文件
with open(output_file, "w", newline="", encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(["MRU Time", "Modified", "Accessed", "Created", "Zip_Subfolder", "MFT File Ref", "Resource"])
writer.writerows(records)
print(f"✅ 已成功将 {len(records)} 行写入文件 '{output_file}'。")
- 时间信息显示了系统的使用行为
- 用户访问了:
- 多次访问控制面板(Windows Update、Display、Power Options、User Accounts...)
- Download 文件夹、Google Drive、名为“S data”的文件夹
- 访问重要数据的时间点,例如:
- 2015-03-24 13:38:31 到 2015-03-24 20:54:07:与 Secret Project Data 文件夹相关的密集活动
- 深入访问过 .zip,如 winter_whether_advisory.zip 及其内部的子文件夹 (ppt\slides, ppt\slideMasters...)
## 9.解释具有由 DHCP 指定 IP 地址的网络接口信息。
```
rip.pl -r SYSTEM -P nic2
```

- 网络配置:
- 系统使用 DHCP,IP 地址为 10.11.11.129/24
- Gateway 和 DNS server: 10.11.11.2
- Domain: localdomain
- IP 租约时间短(30 分钟) - 可能是实验/测试网络
rip.pl -r SYSTEM -p networklist

- 主要通过有线连接
- 连接时间线:
- 2015-03-22:首次连接
- 2015-03-25:最后一次连接(与 user informant 的活动时间吻合)
# IV 调查应用程序使用情况
## 访问过的敏感文档 (RecentDocs)
rip.pl -r work/User/NTUSER_informant.DAT -p recentdocs

- Registry key RecentDocs (NTUSER.DAT) 显示嫌疑人打开了与机密项目相关的文件:
- [secret_project]_proposal.docx
- [secret_project]_design_concept.ppt
- [secret_project]_final_meeting.pptx
(secret_project)_pricing_decision.xlsx
→ 它们都包含关键字“secret_project”,证明这是重要数据。
## 10. 嫌疑人在安装操作系统后安装了哪些应用程序?
```
rip.pl -r SOFTWARE -p installer | grep -E 2015 | head
```

### 嫌疑人在安装操作系统后可能卸载了哪些应用程序?
```
rip.pl -r SOFTWARE -p uninstall | head -n 12
```

## 11.已执行的应用程序列表日志信息(执行路径、执行时间、执行次数...)
```
rip.pl -r SYSTEM -p shimcache | head -n 15
```

## 系统上的服务信息
rip.pl -r SYSTEM -p services > services_raw.txt
- 创建文件 convert_services_to_csv.py,目的是将 txt 文件转换为 csv 文件以便查看
import csv
import re
# 输入/输出文件
input_file = 'services_raw.txt'
output_file = 'services_clean.csv'
# 临时保存每个服务
services = []
current = {}
# 用于分割 key=value 行的正则表达式
pattern = re.compile(r"^\s*(\w+)\s*=\s*(.*)$")
with open(input_file, 'r', encoding='utf-8') as f:
for line in f:
line = line.strip()
if not line:
continue
match = pattern.match(line)
if match:
key, value = match.groups()
key = key.lower()
# 如果是新的 "name" key => 将旧服务推入列表
if key == 'name':
if current:
services.append(current)
current = {'name': value}
else:
current[key] = value
# 如果还有剩余服务则写入
if current:
services.append(current)
# 固定的列
columns = ['name', 'display', 'img/imagepath', 'type', 'start', 'group']
# 写入 CSV
with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=columns)
writer.writeheader()
for svc in services:
writer.writerow({col: svc.get(col, '') for col in columns})
print(f"[✔] 成功导出文件 '{output_file}',包含 {len(services)} 个服务。")
# IV. 应用程序研究方法
```
Tìm tất cả các trình duyệt có thể (phiên bản) được nghi phạm sử dụng
Tìm tệp nhật ký lịch sử trình duyệt
Sao chép các tệp nhật ký vào một thư mục làm việc
Tìm định dạng của các tập tin nhật ký
Chọn đúng công cụ phân tích cú pháp để phân tích các tệp nhật ký
Phân tích các tập tin nhật ký
Đưa ra kết luận (với mô hình trạng thái)
```
## 13.使用了哪些 Web 浏览器?
### - 为了确定嫌疑人使用过的 Web 浏览器,我们使用工具 rip.pl 的 shimcache 插件,从 Registry hive SYSTEM 中提取 Shimcache (Application Compatibility Cache)。Shimcache 会记录程序的执行信息,有助于识别系统上曾经运行过的应用程序。
```
rip.pl -r SYSTEM -p shimcache | grep -Ei "explore|chrome|firefox|duck|edge|coccoc"
```

- 分析:
- 包含 "iexplore.exe", "explorer.exe" 的行确认了曾使用过 Internet Explorer 浏览器。
- 指向 chrome.exe 和 chrome_installer.exe 的路径确认 Google Chrome 也已被安装并执行。
- 未发现 Firefox、Edge、Cốc Cốc 或 DuckDuckGo 等其他浏览器的痕迹。
### 通过 .log 检查所有版本的 IE
为了确定可疑系统上 Internet Explorer 浏览器的安装过程,我们检查存储在 Windows 文件夹中的 .log 系统日志文件。
- 步骤 1:列出 .log 日志文件
ls -l /media/anphuc/C8CA0C8DCA0C7A48/Windows/*.log

- 其中,IE11_main.log 文件与 Internet Explorer 11 的安装过程有关。
### 读取 IE11_main.log 日志文件的内容
- 接下来,我们读取该文件的前几行以验证安装过程:
cat /media/anphuc/C8CA0C8DCA0C7A48/Windows/IE11_main.log | head

- 分析:
- 开始安装时间:2015/03/22 11:12:32 (Started 行)
- 使用的安装程序:IE11-Windows6.1-x64-en-us.exe
- 安装的 Internet Explorer 版本:11.0.9600.16428
- 之前的 IE 版本为:8.0.7601.17514
### 浏览器版本
- 通过分析 Registry Hive 文件,准确确定系统上已安装并使用的 Web 浏览器版本,包括 Internet Explorer 和 Google Chrome。
- 检查浏览器版本的位置
- HKLM\SOFTWARE\Microsoft\Internet Explorer
- HKU\informant\Software\Google\Chrome\BLBeacon
- 被分析的 hive 文件:
- SOFTWARE:包含系统级软件配置信息。
- NTUSER_informant.DAT:包含用户配置,包括用户“informant”的个人浏览器数据。
- 使用 hivexsh 检查 IE 版本
hivexsh
load SOFTWARE
cd Microsoft\Internet Explorer
lsval svcVersion

- 系统上安装的 Internet Explorer 版本是 Internet Explorer 11.0.9600.17691。
- 使用 hivexsh 检查 Chrome 版本
hivexsh
load User/NTUSER_informant.DAT
cd Software\Google\Chrome\BLBeacon

- 安装的 Google Chrome 版本是 Chrome 41.0.2272.101。
## 14. 确定与 Web 浏览器历史记录相关的文件夹/文件路径。
- 正确识别历史记录文件对于提取 Web 浏览活动至关重要。以下是从磁盘镜像中提取的与各浏览器相关的历史记录文件列表:

- C:\Users\informant\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\index.dat
- C:\Users\informant\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat
- C:\Users\informant\AppData\Local\Google\Chrome\User Data\Default\History
### IE 8
```
ls -l /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Microsoft/Windows/Temporary\ Internet\ Files/Low/Content.IE5/
```

- File index.dat 包含 Web 访问历史记录、cookie 和 cache。
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Microsoft/Windows/Temporary\ Internet\ Files/Low/Content.IE5/index.dat History/IE8.dat
### IE 11
```
ls -l /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Microsoft/Windows/WebCache/
```

- File WebCacheV01.dat 存储 Web 浏览历史记录、cookies、form history 等数据。
- .log、.chk、.jrs 文件辅助管理内部 ESE (Extensible Storage Engine) 数据库的事务。
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Microsoft/Windows/WebCache/WebCacheV01.dat ./IE11.dat
### Chrome
```
ls -l /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Google/Chrome/User\ Data/Default/ | grep -Ei "Cache|Cookies|History"
```

- 所需文件:
- History:保存 Web 浏览历史记录
- Cache/:如图片、JS、CSS 等 cache 数据...
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Google/Chrome/User\ Data/Default/Cookies ./Cookies_chrome
cp -r /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Google/Chrome/User\ Data/Default/Cache ./Cache_chrome
cp /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/AppData/Local/Google/Chrome\User\ Data/Default/History ./History_chrome

## 15. 嫌疑人访问了哪些网站?(时间戳、URL...)
### 使用 pasco 查看 IE8 浏览器历史记录
- pasco 简介:pasco - 从 .dat 文档中提取信息的工具
pasco IE8.dat | head -n 4

- 主要与从 IE8 升级到 IE11 的浏览器升级过程有关
### 查看 IE11 浏览器历史记录
- 检查 IE11.dat 文件的文件类型:
file IE11.dat

- File IE11.dat 被识别为 Windows 的 Extensible Storage Engine Database (ESEDB),版本 6.1 (Windows 7)
- 这是 Internet Explorer 11 浏览器的 WebCache 数据库
- 使用 esedbexport 提取内容:将 IE11.dat 导出到历史记录目录 History/IE11.export
esedbexport IE11.dat -t IE11

- 验证文件夹文件
ls IE11.export/

- 包含 Web 浏览历史记录的重要表格包括 Container_* 表
- 检查所有列
cat Container_1.4 | head -n 1

- 使用 awk 命令提取重要字段:
- 创建时间
- 修改时间
- 访问的 URL
awk '{print NR, $11, $13, $18}' FS='\t' Container_1.4
- 如果想检查记录数,可以加上 wc -l 字段

### 使用 SQLite 查看 Chrome 历史记录
- 检查文件格式:file History_chrome
file History_chrome

- File History_chrome 是 SQLite3.x 数据库
- 继续使用 SQLite3 执行查询命令,并基于 urls 表中的 id、url、last_visit_time 过滤结果
sqlite3
.open History_chrome
.tables
.schema urls
select id, url, last_visit_time from urls limit 5;
.quit

- 转换 WebKit timestamp:
- Chrome 中的 timestamp 使用 WebKit 格式:
- 自 1601 年 1 月 1 日 00:00:00 UTC 以来的微秒 (1/1,000,000 秒)
- 需要转换才能读取实际时间
- 例如转换 timestamp 13071510650000000:
https://www.epochconverter.com/webkit

- GMT: Sunday, 22 March 2015 15:10:50
- 当地时间 (GMT+7): Sunday, 22 March 2015 22:10:50
- Unix timestamp: 1427037050
## 16. 列出所有通过 Web 浏览器进行的关键字搜索。(时间戳、URL、关键字...)
- 分析 Internet Explorer 上的搜索历史
- 确定 Bing 搜索 URL:
搜索 URL 模式:https://www.bing.com/search?q=digital+forensics&src=IE11
- 重要参数:q= 包含搜索关键字
- 提取关键字的正则表达式:
https://regex-generator.olafneumann.org/?sampleText=https%3A%2F%2Fwww.bing.com%2Fsearch%3Fq%3D(.*%3F)%26&flags=i
https://www\.bing\.com/search\?q=(.*?)\&
- 使用正则表达式在 IE 浏览器上提取搜索关键字列表
awk '{print NR, $34}' IE11.export/Container* | grep -P "bing\.com/search\?q=(.*?)\&" --color

- 分析 Chrome 上的搜索历史
https://www.google.com.vn/search?q=devops&sca_esv=e587478050f2f1b6&source=hp&ei=oZQPaKbLGM3e2roP6cSMeA&iflsig=ACkRmUkAAAAAaA-isYScN7_hzSKkapB_HWiHDrv5Ps00&ved=0ahUKEwjmn6_t-_qMAxVNr1YBHWkiAw8Q4dUDCBc&uact=5&oq=%C3%A1d&gs_lp=Egdnd3Mtd2l6IgPDoWQyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBMyBxAAGIAEGBNI4AlQ9AVY7AZwAngAkAECmAGOAaAB3AOqAQMxLjO4AQPIAQD4AQGYAgSgApUCqAIHwgIKEAAYAxjqAhiPAcICChAuGAMY6gIYjwGYAwrxBbDqU1UttIMNkgcDMi4yoAeLE7IHAzAuMrgHiAI&sclient=gws-wiz
- 用于 google.com 搜索 URL 的正则表达式
google\.com\/search\?.*q=(.*?)\&
- 在 chrome 中执行搜索,我们发现对于每一次搜索,都会有一个带有“Search”的标题,例如:devops - Google Search
sqlite3 History_chrome
select id, title from urls where title like '%Search%';
.quit

- 从上述两次搜索中,我们可以看出对象的目的在于寻找信息泄露的方法:
- "data leakage methods" (数据泄露方法)
- "how to leak a secret" (如何泄露机密)
- "file sharing and tethering" (文件共享和设备网络共享)
- "cloud storage", "apple icloud", "google drive" (云存储)
- "leaking confidential information"
- "information leakage cases" (多次重复)
- → 表明对象对如何逃避安全控制或散布敏感数据感兴趣。
- 研究反取证技术:
- "digital forensics" (数字取证)
- "windows system artifacts" (Windows 系统痕迹)
- "windows event logs" (事件日志)
- "Forensic Email Investigation" (电子邮件取证调查)
- "anti-forensic tools" (反取证工具)
- "how to delete data" (如何删除数据)
- "eraser", "ccleaner" (文件擦除工具)
- "cd burning method" (刻录 CD 的方法 - 可能用于备份/删除数据)
- → 企图清除痕迹或恢复已删除数据以避免被发现的迹象。
- 专注于云存储服务:
- "cloud storage"
- "apple icloud"
- "google drive"
- → 可能正试图通过这些平台非法上传/下载数据。
网络安全相关的搜索:
- "digital forensics"
- "security checkpoint cd-r"
- → 对象可能正在了解系统如何监控活动以进行逃避。
## 17. 列出用户在 Windows Explorer 搜索框中的所有关键字。(时间戳、关键字)
```
rip.pl -r User/NTUSER_informant.DAT -p wordwheelquery
```

* 重要信息
- 最后修改时间:
- 2015-03-23 18:40:17 UTC(对象执行搜索的时间)。
- 保存的唯一关键字:
- "secret"(位于 MRU - Most Recently Used 列表中)。
* 在调查中的意义
- 与浏览器历史记录关联:
- 关键字 "secret" 与之前在 Chrome 上进行的搜索相符,例如 "how to leak a secret"、"information leakage cases"。
- 暗示对象正在寻找隐藏或泄露敏感信息的方法。
### 搜索所有文件和文件夹
```
find /media/anphuc/C8CA0C8DCA0C7A48/Users/informant/ -iname "*secret*"
```

- 这些文件只剩下快捷方式 -> 可能已被删除或移动到其他位置。
1. 发现概览
- 文件位置:所有文件都位于 Microsoft Office 和 Windows 的 Recent 文件夹中,证明对象曾经打开/最近访问过这些文件。
- 完整路径:/Users/informant/AppData/Roaming/Microsoft/{Office,Windows}/Recent/
值得注意的文件列表:
(secret_project)_pricing_decision.xlsx.LNK 机密项目定价文件
[secret_project]_design_concept.LNK 设计文档
[secret_project]_final_meeting.pptx.LNK 最终会议
[secret_project]_proposal.LNK 项目提案
Resignation_Letter_(Iaman_Informant).docx.LNK 辞职信
- 详细分析:
- 进入文件夹并查看相关文件

- index.dat 文件内容:index.dat 文件保存了最近访问文件的历史记录,包括:
[misc]
(secret_project)_pricing_decision.xlsx.LNK=0
Resignation_Letter_(Iaman_Informant).docx.LNK=0
[secret_project]_final_meeting.pptx.LNK=0
[secret_project]_proposal.LNK=0
→ 确认对象在删除或移动这些文件之前曾打开过它们。
- 分析 metadata
lnkinfo \[secret_project\]_final_meeting.pptx.LNK

```
for lnk_file in *.LNK; do
echo "===== Phân tích file: $lnk_file ====="
lnkinfo "$lnk_file" | grep -E "Network path|Link target identifier|File name|Creation time"
echo ""
done > lnk_analysis_report.txt
```

- 使用 photorec 恢复已删除的文件
sudo photorec /dev/loop0p2

标签:HTTPS请求, RegRipper, Sleuth Kit, SNMP, Windows取证, 后端开发, 域渗透, 数字取证, 数据恢复, 电子数据取证, 磁盘镜像分析, 自动化脚本, 逆向工具