实战:窃取VMware虚拟机及其数据

日期: 2010-02-25 作者:Eric Siebert翻译:王越 来源:TechTarget中国 英文

在上文我们介绍了三步窃取虚拟机及其数据及两种方案,接下来对这两种解决方案一步一步进行介绍:   两个方案都需要的第一步   因为曾经创建过虚拟机快照,所以现在需要修改虚拟机的配置文件以删除快照操作日志。这里需要在文本编辑器中编辑该文件,定位以“scsi0:0.fileName”开头的行,从文件名中删除-000001,然后保存文件。   方法一:挂载磁盘 首先需要从VMware的官方主页下载VDDK,Windows系统的文件包有33MB,Linux的下载包有49MB; 接下来安装VDDK。通常情况下该文件安装在“C:Program FilesVMwareVMware Virtual Disk D……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在上文我们介绍了三步窃取虚拟机及其数据及两种方案,接下来对这两种解决方案一步一步进行介绍:

  两个方案都需要的第一步

  因为曾经创建过虚拟机快照,所以现在需要修改虚拟机的配置文件以删除快照操作日志。这里需要在文本编辑器中编辑该文件,定位以“scsi0:0.fileName”开头的行,从文件名中删除-000001,然后保存文件。

虚拟机快照

  方法一:挂载磁盘

  • 首先需要从VMware的官方主页下载VDDK,Windows系统的文件包有33MB,Linux的下载包有49MB;

VDDK

  • 接下来安装VDDK。通常情况下该文件安装在“C:Program FilesVMwareVMware Virtual Disk Development Kit”;
  • vmware-mount执行命令位于bin子目录;打开CMD命令行窗口并且切换到该目录;使用命令vmware-mount /?查看该命令的选项,使用如下格式挂载磁盘文件:vmware-mount.exe;
  • 挂载上之后使用vmware-mount.exe /L命令查看挂载文件,或者查看新驱动符号的目录列表即可;

VMware Player

  • 在磁盘挂载上之后,就可以读取所需要的磁盘上任何数据,就好像是在PC的本地驱动盘上读取数据一样。

  方法二:导入虚拟机

  • 在这个方法中,需要把虚拟机导入到一个可以读该虚拟机的一种产品中。最简单的方法是使用免费的VMware Player(该产品对Windows和Linux都适用),当然也可以使用VMware Server或者Workstation代替。如果还没有安装的话,下载并且安装其中一种产品;
  • 在这个例子中,我们使用VMware Player。启动应用程序之后,选择“打开一台虚拟机”,并且在PC机上浏览虚拟机的.vmx文件;

VMware Player

VMware Player

  • 现在只需要点击“播放虚拟机”连接,就可以启动虚拟机。很有可能会看到消息提示虚拟机被移动或者被复制,因为其中一些文件已经丢失,并且配置文件的一些信息与其新宿主不匹配。只需选在“继续复制”,并且点击“OK”就可以了。丢失的文件将会自动创建,并且配置文件也会得到更新。也可能出现虚拟机工具的消息(即使在之前安装过该工具),之所以会出现这种情况是因为ESX的版本和原来诸如Player的属主产品有一些细微的差别。可以选择重新下载,也可以置之不理,这不会给虚拟机正常运行带来太大的影响。

播放虚拟机

虚拟机

  • 在虚拟机启动之后,如果拥有证书的话,就可以登录到该系统。如果希望断开系统的网络,只需要在Player里面点击“设置”,选择“虚拟网卡(NIC)”中的“未检查连接”;否则需要在操作系统内重新配置网络,把其配置得与其宿主运行的PC机相似(其中包括IP地址、网关等);

虚拟网卡

  • 如果没有管理员口令,可以尝试使用Live CD中可以使用的工具销毁或者重置口令,如PC Login Now、Ophcrack或者Offline NT Password和Registry Editor。在下载这些工具之后,抽取到的ISO文件可以很容易地挂载到虚拟机的CD-ROM上,从而可以用CD引导系统代替硬盘引导系统。虚拟机启动之后,需要在虚拟机内部快速点击,按下ESC键进入引导菜单,在该菜单中可以选择从CD-ROM引导。如果不使用这样的工具,也可以选择使用诸如支持浏览虚拟机文件系统的Ultimate Boot CD或者Knoppix 的Live CD,可以从该链接中得到完整列表。

虚拟机文件系统

  现在可以看到,如果知道如何操作之后,完成这些步骤根本没有难度。如果拥有相应的权限,从虚拟机中窃取敏感数据是相当简单的事情,这就是无论花多大代价都要保护虚拟机原始.vmdk文件的原因。

  现在在vSphere中并没有对.vmdk文件进行加密,但是在Workstation 7发行版中引入了对.vmdk文件加密,所以最终也必定会在vSphere中实现。当然并不是所有的管理员都对敏感数据感兴趣,但是确保系统得到完善的保护还是非常有必要的。如下是一些可以有效防止此类威胁解决方案:

  • 如果可以的话,在操作系统或者应用程序层保护敏感数据;该需求通常通过加密来完成。这不是一个常规选型,由于加密带来的系统消耗,通常会耗费更多的主机资源。使用这种方式,即使恶意用户获得了虚拟磁盘,但是读取磁盘中的内容仍然是相当困难的;
  • 在vCenter Server中限制对主机上数据存储中文件操作的访问权限。并非必须删除用户角色的浏览数据存储的特权,当然可以继续允许,但是移除较低级别的文件操作可以有效防止文件的下载、复制和重新命名。并不是每一个访问vCenter Server的用户都需要这种权限,因此确定并且只授予那些确实需要的用户相对应的访问权限。在vCenter Server中拒绝授予用户全部权限,而应该使用自定义的角色以严格匹配实际需求。

vCenter Server

  • 遗憾的是在vCenter Server或者ESX内并没有内置的审计或者日志将可以警告文件操作正在使用vSphere客户端。在使用数据存储浏览器的时候,所使用的后台应用程序是安全文件传输协议(SFTP:Secure File Transfer Protocol),在ESX Service控制台的路径/var/log/sercure file下将会有一些对应的输出,但是不会留下关于文件下载的任何痕迹。

  也可能会考虑部署一个入口应用程序(如HyTrust Appliance)的单个点,以可以为所有主机提供细粒度的访问控制和中心化的日志设施。HyTrust应用程序可以提供SCP或者SFTP传输中丢失的日志信息和使用数据存储浏览器过程中的高级应用程序接口(API)的系统调用,以及锁定对ESX Service控制台和vCenter Server的访问控制。

  • 控制对ESX Service控制台的访问权限只授权给绝对需要用户,可以使用sudo命令进一步限制服务控制台内的读取和执行操作。对于很多常规操作来讲,由于使用vSphere客户端可以完成所有操作,则没有访问服务控制台的必要。

  问题的底线是对多个层次都进行保护才可以有效地确保数据安全。保护数据、应用程序、操作系统和物理服务器,同时也需要确保能够保护虚拟层。不要把在安全方面的工作集中在所有的那些其它方面,而忘记可能威胁到所有层面的一个方面。不清楚、不去处理虚拟化环境中特有的安全挑战可能需要付出个意想不到的昂贵代价。