计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
re-sandbox【效率与协作】沙箱环境搭建(动态分析强制前置)。 触发词:沙箱、隔离环境、firejail、VM快照、安全运行
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
所有工具先验证再使用。本技能是 [[re-analyze/platform-tips]] 最高原则(默认沙箱,动态执行强制前置)的执行者——所有工具只为让"运行样本"更安全可控。
apt install firejail / dnf install firejail / pacman -S firejailfirejail --version;firejail --list 能看到活动沙箱--private(临时 home,退出即弃)、--net=none(断网)、--dns=<ip>(DNS 指向)apt install docker.io / dnf install docker / pacman -S docker(或 Docker 官方脚本)brew install --cask docker(Docker Desktop,需手动启动)或 brew install docker + brew install colima + colima startchoco install docker-desktop(Docker Desktop);WSL2 内用 Linux 版docker --version;docker run --rm hello-world 能跑通apt install virtualbox / dnf install VirtualBox(RPMFusion 源)/ pacman -S virtualboxbrew install --cask virtualboxchoco install virtualboxVBoxManage --versionchoco install vmware-workstation;验证: vmrun list 或 vmware --versionVBoxManage snapshot <vm> take clean # 建立快照
VBoxManage snapshot <vm> restore clean # 恢复快照
apt install inetsim(或官方 .deb;其他发行版用源码构建,Perl 依赖较多,推荐专用 Debian VM)inetsim --version;启动后 inetsim 日志显示 HTTP/SMTP/DNS/FTP 等服务监听pip install cuckoo;验证: cuckoo --versiongit clone https://github.com/kevoreilly/CAPEv2
cd CAPEv2 && pip install -r requirements.txt
验证: python cuckoo.py --help 或 cape 子命令能列出按顺序执行,每步记下结果。
选隔离级别(完整性要求从高到低:VM 快照 > 容器 > firejail):
网络隔离(三档,从强到弱):
--net=nonefirejail --dns=127.0.0.1ping 8.8.8.8 不通;curl http://example.com 命中 INetSim 模拟响应快照建立:
# VirtualBox
VBoxManage snapshot <vm> take clean
# VMware
vmrun snapshot <vm> clean
# Docker: 提交运行中容器为镜像
docker commit <container> sandbox-image:v1
# firejail 无快照概念——靠 --private/--private-etc 临时目录,退出即清理
快照内容至少包含:干净 OS + 分析工具(procmon / sysdig / bpftrace)+ 网络隔离配置。
样本传入/传出(隔离通道):
sha256sum 存证(见 [[re-triage]]),宿主机与沙箱内各存一份原始哈希分析完恢复快照:
VBoxManage snapshot <vm> restore clean
# Docker
docker rm -f <container>
# firejail——没有 --clean 选项(0.9.80 实测报 invalid option),按名/PID 关停:
firejail --shutdown=<name|pid> # 沙箱名/pid 用 `firejail --list` 查
# 或直接退出 firejail 进程,--private 临时目录退出自动清理
恢复后验证: VBoxManage snapshot <vm> list 确认回到 clean;沙箱内 ps aux 无残留进程。不恢复快照 = 环境污染(见坑 1)。
Sleep+GetTickCount 对比、GetSystemTimeAdjustment 等发现异常;对策——识别时间检测点(xref RDTSC/GetTickCount/NtDelayExecution),沙箱保持真实时钟或 patch 检测点后继续([[re-anti-analysis]] 域),需要长等待时用真实等待而非加速时钟sample.exe/malware 目录下不触发恶意行为,改名或调资源后行为差异巨大;原因——检测分析文件名/路径、CPU 核数/内存/磁盘容量阈值、鼠标键盘交互缺失(ATT&CK T1497.001);对策——样本命名规范化(避免 sample/sandbox/恶意 字样)、沙箱资源充足(≥2 核、≥2GB 内存、正常磁盘容量),配合交互模拟(鼠标移动)与 [[re-behavior]] 的延迟观察firejail --clean 报 invalid --clean command line option;原因——官方 man 页(0.9.72 起)与 0.9.80 实测均无该选项,教程间互相转抄讹传;对策——沙箱清单 firejail --list 查 name/pid,用 firejail --shutdown=<name|pid> 关停;临时目录靠 --private 退出自动清理