使用链接克隆进行渗透测试
Brian B. King //
如果同时或连续为多个客户工作,很容易混淆正在查看的数据,或将一个客户的信息包含在另一个客户的报告中。这会造成严重后果。为每个客户使用单独的虚拟机可以帮助避免这些错误,但虚拟机通常占用大量空间且创建耗时。为每个客户维护一个虚拟机既浪费时间又浪费空间——虽不如数据混淆严重,但仍不理想。
链接克隆(Linked Clones)解决了这一问题。
通过链接克隆,您可以快速创建新虚拟机,并大幅减少磁盘空间使用。在设置链接克隆前无需特殊操作,只需从一个您喜欢的虚拟机开始。如果希望格外谨慎,可以从一个完全没有客户数据的干净虚拟机开始,因为我们的目标正是隔离数据。
我专门使用一个独立的虚拟机撰写报告,并为每次测试在主机上创建一个临时文件夹。我将该文件夹映射为测试虚拟机和报告虚拟机中的共享驱动器,用于存储截图、笔记和其他测试产物。这样,在撰写报告时仍能快速访问所有数据,同时最小化保留敏感信息的风险。
测试完成后,我可以安全归档需要保留的内容,然后销毁克隆和临时共享文件夹。开始下一次测试时,我可以创建一个新的克隆,确保不会意外携带任何客户信息。
本文以VirtualBox为例,但该概念同样适用于VMWare等产品,请根据您使用的平台参考相应手册。
创建基础虚拟机
首先,创建一个包含基础操作系统和所需所有工具的虚拟机。安装所有可用的更新和补丁,因为克隆将继承这些内容。
创建克隆
- 在VirtualBox管理器中右键单击虚拟机,选择“克隆…”(或按CMD-O)。
- 为新克隆指定一个有用的名称。如果进行深入测试并存储大量数据,可以以特定客户命名并仅用于该客户;如果进行侵入性较低的工作,可以以当前月份命名并用于多个客户。根据目标灵活选择。
- 勾选“重新初始化所有网络卡的MAC地址”,以避免同时运行多个克隆时出现网络问题。
- 在下一步中,选择“链接克隆”作为“克隆类型”,点击“克隆”,几秒钟后链接克隆即可就绪。
优势
- 时间:在普通性能系统上,创建链接克隆仅需几秒钟,而完整克隆需要几分钟。从头创建新虚拟机(包括安装操作系统更新和工具)可能耗时大半天。
- 空间:链接克隆与基础虚拟机共享资源,因此每个克隆占用的空间远小于独立虚拟机。
- 隔离:链接克隆允许为每个客户或时间段提供隔离的测试环境,最小化意外信息泄露的风险。
注意事项与提示
- 使用不同的桌面壁纸或窗口系统外观,以便快速区分当前所在的虚拟机。
- 对基础虚拟机的更新在创建链接克隆后不会传播到克隆中。请在创建新克隆前确保基础虚拟机已更新至最新状态。
- 每当发现新工具或更新现有工具时,在基础虚拟机上进行设置,以便未来的克隆能够继承这些更改。
本文基于Black Hills Information Security的技术实践,专注于提升渗透测试的效率和安全性。