我对 Cuckoo Sandbox 及其内存转储有疑问,需要生成该转储才能使用 Volatility 进行分析。
我的问题是:Cuckoo 的日志文件告诉我已成功生成内存转储,但由于找不到它们,因此无法访问它们。在目录中手动查找它们确认它们不存在。Cuckoo 告诉我在 cuckoo.conf 中启用 memory_dump,该配置文件已启用。
我的Cuckoo版本和操作系统是:Cuckoo:2.0.6 主机:Ubuntu 18.04.1 LTS 客户机:Win7 Ultimate,Service Pack 1,32 位
这些是我的配置文件:cuckoo配置文件
memory_dump = yes
内存配置文件
guest_profile = Win7SP1x86
delete_memdump = no
处理配置文件
[memory]
enabled = yes
这是 cuckoo.log 的输出:
INFO: Successfully generated memory dump for virtual machine with label Win7 to path /home/test/.cuckoo/storage/analyses/1/memory.dmp
[...]
ERROR: VM memory dump not found: to create VM memory dumps you have to enable memory_dump in cuckoo.conf!
任何帮助都值得感激。如果您需要我提供更多信息,请告诉我
编辑:仅未生成整台机器的内存转储。如果将恶意软件注入新进程,则会生成内存转储,如 report.json 中所示
INFO: injected into process with pid 3844 and name 'iexplorer.exe'
INFO: memory dump of process with pid 3844 completed
我还可以在目录中找到 3844-1.dmp 文件
答案1
经过多次尝试,我发现问题出在:
/lib/python2.7/site-packages/cuckoo/machinery/virtualbox.py
如果您用最新版本替换此文件,内存转储将正常工作,但可能会破坏其他功能,我猜最好的选择是从源代码安装 cuckoo。您还应该替换agent.py
为最新版本(版本 0.10)。使用pip
安装 cuckoo 时您没有最新版本。
总结一下我尝试过的方法(你应该尝试第一个):
尝试使用与 cuckoo 相同的命令进行内存转储:
VBoxManage debugvm yourvmname dumpvmcore --filename=memory.dmp
运行正常,所以问题出在布谷鸟叫声上,而不是 VM、波动性或其他任何东西上。
尝试过但没有成功:
- cuckoo 用 提交
--memory options
,配置文件与您的相同,但没有成功。 - 不同的波动情况
- 不同的虚拟机,相同的操作系统
- 不同的安装,另一台计算机,不同的 Virtualbox 版本(6.0.8 而不是 6.0.6)。
- cuckoo 用 提交
替换virtualbox.py
并agent.py
升级到最新版本解决了我的问题,希望对您有所帮助。这是我的论文的重要部分。没有内存转储就没有论文。
更新 19/06/2019
如果你只是替换:
if output.startswith("5"):
为了
if output.startswith(("5", "6")):
在line 361
的/lib/python2.7/site-packages/cuckoo/machinery/virtualbox.py
这应该足以解决问题,但是,正如您所见,Cuckoo 2.0.6 尚未准备好与 Vbox 6.x 配合使用,因此,即使修复了此问题,仍可能出现其他问题。或者将 cuckoo 更新为不稳定版本或返回 Vbox 5.x。