文章总结: 文档针对盘古石杯比赛中大容量取证镜像(数百GB)存储空间不足问题,提出基于SMB共享的解决方案:Windows宿主机用VeraCrypt解密镜像后设为只读SMB共享,Kali虚拟机通过CIFS挂载访问。详细说明双方配置步骤,包括创建只读用户、设置共享权限、挂载命令及开机自动挂载脚本,强调只读访问原则以避免数据损坏。 综合评分: 82 文章分类: 实战经验,应急响应,安全工具,解决方案,其他
2026年盘古石杯被吊打|Hermes比赛环境搭建以SMB为例解决存储空间不足
原创
0xSec笔记本 0xSec笔记本
0xSec笔记本
2026年5月10日 18:35 浙江
在小说阅读器读本章
去阅读
第三次参加盘古还是依旧还是看“天书”一般,
AI 能解很多题,但仍然会出错不少,尤其是面对盘古这种难题。
手机取证一塌糊涂!!!
将 AI 自动化分析放在 Kali 的虚拟机中,但在取证分析过程中需要应对大容量容器分析——小则几十 GB,大则几百 GB,特别是盘古的检材年年都是 4、5 百 GB——我们该如何应对呢?在这里,我们通过SMB 共享来解决这个问题。
## SMB 解决镜像文件共享问题
### 结构图
Windows 宿主机 └── VeraCrypt 解密挂载为 K: 盘 └── SMB 只读共享:\WIN-HOST\PanguEvidence ↓ Kali 虚拟机 └── 挂载为 /mnt/evidence,只读访问 └── 分析结果、索引、数据库、临时文件写到 /casework
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
**说明**:
- **证据源**:Windows VeraCrypt 盘符,只读
- **分析端**:Kali Agent
- **输出区**:Kali 本地虚拟磁盘 / SSD 工作目录
VeraCrypt 官方也将“一个系统挂载 VeraCrypt 卷,然后把卷内文件系统内容通过网络共享出去”列为一种共享方式;另一种“共享未挂载容器再由多个系统各自挂载”的方式要求只读,否则可能有一致性/损坏风险。你的场景更适合 **第一种方式**:Windows 只负责解密并共享内容,Kali 不再二次挂载 VeraCrypt 卷本身。
---
## 假设实际环境布局
### 设备环境
**Windows 宿主机**
- 1T SSD:系统盘,剩余约 100G
- 4T 机械硬盘:USB 硬盘盒连接,剩余约 3.5T
**Kali 虚拟机**
- Agent 安装在 Kali 中
**竞赛搭配**
- 4T 机械硬盘
- 存放比赛加密包 / VeraCrypt 容器 / 解密后的镜像源文件
**Windows VeraCrypt**
- 挂载为 K: 盘
**Kali**
- `/mnt/evidence`:只读挂载 K: 盘共享
- `/casework`:写入分析结果、数据库、日志、Agent 输出
- `/casework/tmp`:临时目录
- `/casework/db`:DuckDB / SQLite 索引库
- `/casework/report`:答案、证据链、writeup
**核心原则**:
- 大镜像留在宿主机
- Kali 只读访问
- 所有分析产物写到 Kali 本地
---
## Windows 宿主机设置
假设 VeraCrypt 解密后挂载成 `K:\`,里面有:
K:\disk01.E01 K:\mobile.ab K:\memory.raw K:\traffic.pcapng K:\server.qcow2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
### 创建专用只读用户
在 Windows 上创建一个本地用户,例如:
- 用户名:`kali_ro`
- 密码:自定义
仅用于 Kali 读取比赛镜像。
**管理员 PowerShell 执行**:
powershell $UserName = “kaliro” $Password = Read-Host “Input password for kaliro” -AsSecureString
New-LocalUser
-Name $UserName
-Password $Password
-FullName "Kali Read Only SMB User"
-Description “Read-only SMB user for Kali evidence access”
Set-LocalUser -Name $UserName -PasswordNeverExpires $true Get-LocalUser kali_ro
---
### 共享 K:\ 为 SMB 只读共享
**管理员 PowerShell 执行**:
1
2
3
4
5
6
7
8
9
$ShareName = “PanguEvidence” $DrivePath = “K:\” $UserName = “kali_ro” $Account = “${env:COMPUTERNAME}\$UserName”
New-SmbShare
-Name $ShareName
-Path $DrivePath `
-ReadAccess $Account
**附加命令**:
1
2
3
4
5
查看共享
Get-SmbShare -Name PanguEvidence
查看共享权限
Get-SmbShareAccess -Name PanguEvidence
---
### 设置 NTFS 只读权限
**管理员 PowerShell 执行**:
1
2
3
4
5
$DrivePath = “K:\” $UserName = “kali_ro” $Account = “${env:COMPUTERNAME}\$UserName”
icacls $DrivePath /grant “${Account}:(OI)(CI)(RX)”
**解释**:
* • `RX` = Read & Execute
* • `OI` = Object inherit,文件继承
* • `CI` = Container inherit,文件夹继承
**查看权限**:
1
icacls K:\
---
### 开启 SMB 防火墙
**管理员 PowerShell**:
1
2
3
4
Set-NetFirewallRule
-DisplayGroup "File and Printer Sharing"
-Enabled True
-Profile Private
> 如果 Windows 是中文系统,可能需要:
>
> ```
> 1
>
>
>
>
> netsh advfirewall firewall set rule group="文件和打印机共享" new enable=Yes
> ```
**宿主机 IP**:
1
2
ipconfig 192.168.134.1
---
## Kali 端配置设置
### 安装 CIFS 工具
1
2
sudo apt update sudo apt install -y cifs-utils
### 创建目录结构
1
2
3
4
mkdir -p /casework/case001/{tmp,db,out,report,extracted,timeline,logs}
sudo chown -R “$USER:$USER” /casework chmod -R 755 /casework
### 创建 SMB 凭证文件
1
2
3
4
5
sudo nano /root/.smb-pangu
内容
username=kali_ro password=你的密码 domain=你的Windows电脑名
1
2
sudo chmod 600 /root/.smb-pangu sudo ls -l /root/.smb-pangu
### 创建挂载目录
1
sudo mkdir -p /mnt/evidence
### 手动挂载 SMB 共享
1
2
3
4
5
尝试 SMB 3.1.1
sudo mount -t cifs //192.168.134.1/PanguEvidence /mnt/evidence \ -o credentials=/root/.smb-pangu,ro,vers=3.1.1,uid=$(id -u),gid=$(id -g),iocharset=utf8,nounix,noserverino
如果失败尝试 SMB 3.0 或 SMB 2.1
### 检查挂载
1
2
3
findmnt /mnt/evidence df -h /mnt/evidence ls -lah /mnt/evidence
> 验证只读:尝试写入应提示 `Read-only file system` 或 `Permission denied`
### 卸载共享
1
2
3
4
5
6
7
8
sudo umount /mnt/evidence
若 busy
lsof +f — /mnt/evidence fuser -vm /mnt/evidence
强制懒卸载(不推荐常用)
sudo umount -l /mnt/evidence
---
### 设置开机自动挂载(可选)
1
2
3
4
5
6
7
8
9
10
11
12
13
id -u # 获取 UID id -g # 获取 GID
sudo cp /etc/fstab /etc/fstab.bak.$(date +%F_%H%M%S)
echo ‘//192.168.134.1/PanguEvidence /mnt/evidence cifs credentials=/root/.smb-pangu,ro,vers=3.1.1,uid=1000,gid=1000,iocharset=utf8,nounix,noserverino,nofail,x-systemd.automount 0 0’ | sudo tee -a /etc/fstab
sudo systemctl daemon-reload sudo umount /mnt/evidence sudo mount -a
findmnt /mnt/evidence ls -lah /mnt/evidence
当然最好是直接将检材放入kali中并且使用固态硬盘,速度更快。
参考挂载脚本,需要在kali下载VeraCrypt软件。
!/usr/bin/env bash
set -e
VOLUME=’/casework/Gamgs/第四届盘古石杯初赛’ MOUNT_POINT=’/mnt/evidence’ PASSWORD=”
if [ -z “$PASSWORD” ]; then echo ‘[!] 请先编辑 /home/kali/runpanguvc.sh ,把 PASSWORD=\x27\x27 改成你的比赛密码后再运行。’ >&2 exit 1 fi
sudo mkdir -p “$MOUNTPOINT” sudo /home/kali/.local/bin/veracrypt –text –non-interactive –password=”$PASSWORD” –mount “$VOLUME” “$MOUNTPOINT” find “$MOUNT_POINT” -maxdepth 2 | head -100 “`
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:0xSec笔记本 0xSec笔记本 0xSec笔记本《2026年盘古石杯被吊打|Hermes比赛环境搭建以SMB为例解决存储空间不足》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论