Windows注册表取证指南:黑客活动调查

日期: 2008-06-19 作者:Ed Skoudis翻译:李娜娜 来源:TechTarget中国 英文

当分析一个受到攻击的Windows系统时,研究人员和系统管理员可以通过审核Windows注册表,收集大量的关于黑客活动的有用资料。Windows注册表是一个在现代Windows电脑中存储数以万计设置的分级数据库。对于研究者来说,Windows注册表包含了大量精彩的信息精华:外部攻击者是否危及到电脑,内部员工是否参与了邪恶的活动,或者恶意软件是否莫名其妙地感染机器。在这篇文章中,TechTarget中国的特约专家将研究通过注册表,调查人员能够收集到关于用户活动的什么信息。

下个月,我们将集中讨论调查人员如何能够得到与整个操作系统相关的有用注册表信息。   使用注册表   研究者可以采用几种方法来使……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

当分析一个受到攻击的Windows系统时,研究人员和系统管理员可以通过审核Windows注册表,收集大量的关于黑客活动的有用资料。Windows注册表是一个在现代Windows电脑中存储数以万计设置的分级数据库。对于研究者来说,Windows注册表包含了大量精彩的信息精华:外部攻击者是否危及到电脑,内部员工是否参与了邪恶的活动,或者恶意软件是否莫名其妙地感染机器。在这篇文章中,TechTarget中国的特约专家将研究通过注册表,调查人员能够收集到关于用户活动的什么信息。下个月,我们将集中讨论调查人员如何能够得到与整个操作系统相关的有用注册表信息。

  使用注册表

  研究者可以采用几种方法来使用注册表,两个最有用的方法是内置在注册表上基于图形用户界面(GUI)工具和reg命令行工具。注册表包含在Windows中已经十年多了,而注册表命令只包含在更现代化的Windows计算机中,比如XP Pro、2003 Server,、Vista 和2008 Server。这篇文章我们将着重研究reg命令,但是提供一些信息,主要是关于注册表GUI应当安置在何处才会有用。reg命令允许用户查看、更新、输入和输出注册表索引值。但是我们这里的重点是恢复有用的鉴别证据,这样我们将集中关注使用reg命令,从注册表中查询重要的信息。

  确定用户已经做了什么事

  Windows注册表被分类为hive,hive是注册表中的大部分,专用于电脑的特殊方面。HKCU hive存储了关于电脑上当前登录的用户。假设坏人是某个用户;也许是某个恶意雇员,他坐在计算机的本地控制台前面,并且走开了;或许是一个远程攻击者,他通过远程桌面、终端服务或者虚拟网络计算机(VNC),远程控制其GUI,危及系统安全。这样的攻击者可能已经通过启动→运行…,然后键入需要运行的程序的名称,使用了Windows GUI,在电脑上启动程序或者指令。Windows记录了大部分注册表中当前用户用这种方式执行的最近26项指令。为了得出这方面的信息,研究者应当运行:

  C: reg query HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerRunMRU

  幸运的是,当涉及到注册表索引时,reg指令通常是不灵敏的,因此研究者不必记住大写字母属于哪个注册表索引的名称。在调用该reg指令时,我经常全部使用小写字母,因为这样的话打字快,而且我一般记不住哪个地方应该用大写字母。上述指令的输出,不论是否使用了大写字母,都可能会显示攻击者运行了sol.exe(即Windows纸牌游戏),接着是cmd.exe指令界面。攻击者随后可能会运行lusrmgr.msc GUI,以添加或删除用户;或者是services.msc控制面板,以改变服务的配置。我曾经历了这样的情况:攻击者输入这样的句型“net use * \[machine][share] [password] /u:[user]”,使用“开始→运行...”来设置文件共享。在我们的调查研究中,注册表索引中的信息是有用的,可以找到黑客的目标是哪个系统。请注意,这部分注册表中的历史信息只存储了键入到“开始→运行...”中的那些项目,并且没有存储通过“开始>菜单”中的其它地方调用程序的历史记录。此外,cmd.exe的指令界面历史也没有存储在注册表中,并且这些指令也不是按时间顺序存储的。尽管这样,如果黑客控制了计算机的GUI,“开始→运行...”历史记录对于研究者而言仍然是非常有用的。

  注册表中另一个附近的设置对研究者而言也是非常有用的,即RecentDocs值(存放在HKCUSoftwareMicrosoftWindowsCurrentVersionExplorer RecentDocs),它可以显示当前登录到系统的用户最近所打开的文件名。这些文件是按扩展类型存储的,比如,Word文件存储为.doc格式,或者PowerPoint文件存储为PPT格式。不幸的是,文件路径和文件名称都以初始的二进制代码储存,而不是以无格式的ASCII码形式存储。因此,reg命令行工具将输出一系列十六进制的数值,不显示将其翻译为人类可读的文本。不使用reg指令,双击一个特殊设置,注册表编辑器GUI将会转换成二进制数值。举例来说,一名研究者可以使用注册表编辑器来浏览到:

  HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerRecentDocs.doc

  在那里,系统会显示目前登录用户访问的最后十个 .doc文件。双击那里的任何一个值,研究者就可以使得注册表编辑器以可读的ASCII形式显示文件路径和名称。

  来自存储在注册表中的用户活动的多余遗漏物与Internet Explorer有关。特别是,下面的指令会显示所有的URL,这些URL是用户键入到IE中,并使其登录到给定的网站。

  C:> reg query "hkcusoftwaremicrosoftinternet explorertypedurls"

  注意:由于“internet”和“explorer”之间的间隔,需要将引号放在注册表名称的两边。此外,也要注意我已经回复到我的“正常”方式:使用所有带有reg指令的低端情况。有了这一指令的输出,研究者就可以收集到重要的信息,这些是关于用户在哪里上网的信息,键入一个URL,可能使系统进入色情或者其它罪恶的网站。

  重要的是要注意,存储在注册表这一部分中的数值的局限性。浏览器输入的地址记录并不能显示全部的浏览历史,比如搜索引擎查询、点击链接内置网页,或恶意软件促使系统在没有键入URL的情况下访问的网址。不过,浏览器输入的地址记录的输出是非常有用的,可以帮助研究者确定嫌疑犯的动机。这是一个很好的迹象,如果用户特意在浏览器中键入URL,表明他希望系统进入一个特定的网址。
注册表中对研究者有用的另一个端口与WinVNC阅读器有关,WinVNC阅读器可用于远程控制其它系统的GUI。当用户调用VNC Viewer,与另一个机器进行连接并控制,WinVNC存储了系统名称或者IP地址(如果使用了一个除TCP5900的VNC默认端口以外的端口,它还会存储端口数值)。因此,研究者可以有黑客进入到的系统的历史记录,这些系统是黑客使用这条指令进而控制其可视的GUI。

  C:> reg query hkcusoftwarerealvncvncviewer4mru

  再次说明,我已经参加了研究,在研究中这条指令的输出真的有助于获得深入的信息,可以了解黑客突然袭击一个目标环境时,他都做了什么。

  正如我们所看到的,实际上,对于当前机器的登录用户所采取的许多行动而言,注册表扮演的角色类似于一个日志。在这些简短的技巧中,我们涵盖了一些用于分析的最有用的领域,但是,我想要鼓励读者实施自己的注册表探索,以找到对研究者而言有用的信息。单击打开regedit.exe,并且查看HKCUSoftware的内部,挖掘可能有助于解决鉴定研究之谜的“黄金”。在下个月的技巧中,我们将研究注册表的HKLM部分,进而找到整个系统的有用信息,这些信息是关于已经运行系统的,而不仅仅是当前登录用户的信息。

相关推荐