渗透测试中的冷却启动攻击和其他取证技术

发表于:2014-1-16 11:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:IDF实验室成伯敬    来源:51Testing软件测试网采编

  这是一个星期四的晚上,快乐时光即将开始。你会尽快走出办公室。你整天都忙于准备一份报告,第二天早上还需继续,因此你将电脑锁屏。这足够安全,是吗?因为你使用了高强度密码,并全盘加密,Ophcrack或者可引导的linux发行版例如kali不起作用。你自认为安全了,其实你错了。为了得到重要材料,攻击者越来越无所不用其极,这包括使用取证领域的最新技术。
  计算机中存在一个单独的区块:活动内存,任何一个攻击者都愿意把手伸到这个存储有敏感信息完全未加密的区块。系统为了方便调用,在内存中存储了多种有价值信息;全盘加密机制也必须在内存的某个地方存储密钥。同样,Wi-fi密钥也是如此存储的。Windows在内存中存有注册表键值,系统和SAM hive。许多剪贴板内容和应用程序密码也在存储于内存中。即问题在于,内存存储了系统在某时刻需要的大量有价值信息。攻击者要获得它,需要使用一些同样的取证技术。本文有助于向渗透测试工具包中增加这些技术。
  设置环境
  信息转储可以很容易的构建系统全貌。近年来,内存捕获价值已经得到取证专家的高度重视,但却并未获得渗透测试人员的足够重视。这有众多原因。取证调查人员使用专业软件捕获内存,同时记录进设备中。他们使用这些捕获信息,寻找恶意软件或隐藏进程。渗透测试人员将会对哈希值、文件、运行进程更感兴趣。如果已经拥有系统的访问权限,他们很大可能不再需要内存捕获来得到这些信息。
  但是,在一些情境下,内存捕获对渗透测试人员作用极大。设想如下场景:在一个内部行动中,测试人员获得了接触机器的权限。客户满信心认为测试人员不可能利用这些机器获得对系统的访问。这些机器使用了全盘加密,拥有阻止从Ophcrack和下载hash的功能。运行中的机器全部处于锁定状态。客户不知道的是,测试人员拥有丰富的技术经验,能够抓取运行系统内存中的内容。需要强调的是有两种技术可以用于这样的情景:冷启动攻击和火线接口攻击。
  冷启动攻击
  2008年年初,普林斯顿大学电子前沿基金会和温瑞尔系统公司的研究人员联合发表了一篇题为《鲜为人知的秘密:对密钥的冷启动攻击》的文章,该文详解了从运行系统获取内存信息的一种新型攻击方式。该类攻击基于数据遗留。人们的普遍看法是机器一旦断电,内存中的数据就会立刻丢失;即按开电源开关,所有数据在刹那间消失。
  然而,研究人员指出真相并非如此。事实上,数据从内存中丢失需要一定的时间。断开一台机器的电源一到两秒,大部分数据会完好无损。该效果可通过冷却内存延长。研究人员借助一种老式社交游戏,倒置一灌压缩空气,做了测试。冷却内存确实可以使数据保持很多秒,甚至好几分钟。这促使研究人员开发一系列工具,用来从即将关闭电源的机器内存中提取信息,然后再次启动系统。
  使用这种方法捕获内存,存在小错误的几率会相对较高,这就是它被取证组织大量摒弃的原因。但是,渗透测试人员并不需要内存的法律上的取证镜像。如果密钥或SAM数据库完好无损,即使内存有2%的破坏也是可以接受的。即使有点难,这种方法对内部渗透测试人员来说,也是一个合适的攻击向量。
  The Lest We Remember团队创造了大量用于攻击的工具,可以在普林斯顿网站https://citp.princeton.edu/research/memory/code/下载到。主要工具是一个USB/PXE镜像工具,可以下载到源码。研究团队制作了许多makefiles文件使编译更容易,他们也在源码中打包了优秀的文档。32位的提取器应该在32位虚拟机或32位物理机器上编译,64位的提取器同样需要在64位虚拟机或物理机器上编译。需要为目标机器使用合适的提取器,如果32位提取器在64位机器上使用,它将不能抓取全部的内存空间,因为32位提取器不能完全访问到64位的内存地址空间。
  Makefile编译的结果是一个命名为scraper.bin的文件,其实是一个可以拷贝到USB设备的可引导启动的镜像工具。该USB同时需要用于存储内存镜像,建议使用大存储量的USB设备;因为当前主流系统使用4G到8G的内存,所以建议使用至少16GB容量的USB设备。以root用户权限,使用dd工具把scraper文件拷贝到USB设备,命令中sdb是硬盘驱动器的挂载点:
  sudo dd if=scraper.bin of=/dev/sdb
  这个时候,为目标系统准备好USB设备。理想情况下,渗透测试人员准备好一个32位的8G和一个64位的16G可以在内部环境使用的USB设备,同时备好一罐压缩空气。目标机器必须是一个运行中,且锁定的系统,有无用户登录无关紧要。同时,目标必须被全盘加密,否则启动Kali或Ophcrack,只需少量工作,就可以获得出色效果。
  一旦合适的目标被定位后,渗透测试人员(从客户处获得了适当的授权)应该打开机箱,露出内存。同时,他们需要插入USB设备。一切准备就绪后,渗透测试人员可以倒置灌装压缩空气并喷射覆盖,以冷却内存。由于这会导致在芯片上成霜,小心使用软管浇内存,不要碰到主板其他部分。图1显示了已经被冷冻用于攻击的笔记本内存。
  
图1 为冷启动攻击冷却内存
  内存冷却足够后,渗透测试人员需要尽可能快地切断并恢复供电。在桌面计算机上,这相对简单,按reset电源键就可实现。但是大部分的笔记本并没有reset按键,进行这样快速的重置电源操作本质上很困难。最好的办法是快速替换电池,并按电源键。上述两种机器环境,越是快速恢复供电,内存镜像就越完好。
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号