安全路透社
当前位置:安全路透社 > 网络转载 > 正文

数字取证技术 :Windows内存信息提取

*原创作者:Cunlin,本文属Freebuf原创奖励计划,未经许可禁止转载

0×00概述

后面会花一部分时间,写一些数字取证相关的文章。攻击技术贴多如牛毛,眼下不管是网安,还是安全厂商, 欠缺的是对取证技术的研究。

大致想了一下,主要会从以下几个方面逐一介绍吧:

–         内存

–         硬盘镜像

–         网络

–         Timeline利用

–         威胁情报在取证中的作用等

0×01 windows内存取证

取证的时候为什么要做内存分析?因为在内存里面可以看到操作系统在做的几乎所有的事情。当内存块不被覆盖的情况下,很多历史信息同样被保留。主要有:

–         进程和线程

–         恶意软件,包括rootkit技术

–         网络socket,URL,IP地址等

–         被打开的文件

–         用户生成的密码,cache,剪贴板等

–         加密键值

–         硬件和软件的配置信息

–         操作系统的事件日志和注册表

有了以上这些信息,我们可以找出更多有用的信息,在本文章中, 我们就以找出系统的历史CMD命令行为例。

0×02内存的获取

14895701076526.png!small

基本上,都是通过工具,或者已经由系统生成的dump文件来获取其信息。当然,在虚拟环境下, 也可以通过虚拟机的镜像文件,或者快照文件获取内存信息。

1489570114744.png!small

0×03 内存镜像的分析

我们以Redline工具为例, 来分析一下当前内存的信息。

首先,Redline可以直接收集当前的内存信息。 也可以利用威胁情报(IoC)来搜索当前的内存信息。这里就不多介绍。

14895701232957.png!small

我们直接打开已经获取到的内存镜像文件:sobig.img

14895701285262.png!small

注意,因为本文章要获取系统的历史CMD命令, 所以需要修改一下默认分析脚本: 打开Strings参数。

14895701348197.png!small

完全打开之后,我们可以看到很多信息:

1.       进程和各个进程之间的父子关系。

2.       每个进程参数

3.       Redline自带打分功能MRI给每个进程打分。 恶意进程的MRI会很高,标记为红色。

4.       加载的驱动

5.       Hooks

6.       根据时间生成timeline这个在做安全应急响应分析的时候非常重要。

14895701455549.png!small

图上红色的就是恶意进程。

0×04获取历史CMD命令

在windows XP下, 一般cmd.exe的历史记录存在于csrss.exe进程内。 windows 7上,则存在于Conhost.exe进程内。

所以在这个例子中,我们可以看csrss.exe进程的具体信息

14895701503549.png!small

然后再选在我们之前打开的Strings参数。我们可以看到这个进程在运行过程中,一些调用的函数名称等字符。 类似通过BinText来查看一个二进制文件一样。

14895701648386.png!small

再通过过滤器来提取所有cmd.exe的信息, 我们就能看到, 计算机在运行的过程中所有执行过的CMD命令。

1489570168464.png!small 

0×05总结

通过以上小例子,我们可以从内存信息里面提取一些重要的证据。如果当黑客已经攻破了内网一台主机(C&C已经建立),大多都会使用系统自带的命令来收集更多的信息,或者进一步侵入内网其他主机。使用CMD的好处是容易隐藏自己的行为。因此,这种情况下我们可以通过类似上述手段,找到更多黑客的踪迹。

当然, 这里介绍的Redline只是其中的一个工具。 类似还有非常流行的Volatility等。在后面的文章中会有更多的介绍。

*原创作者:Cunlin,本文属Freebuf原创奖励计划,未经许可禁止转载

未经允许不得转载:安全路透社 » 数字取证技术 :Windows内存信息提取

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册