【干货】Windows内存获取和分析---查找恶意进程,端口
来源:Unit 5: Windows Acquisition 5.1 Windows Acquisition Windows Memory Acquisition and Analysis
调查人员检查物理内存内容,以检测恶意进程、威胁和内存驻留恶意软件,以恢复密码和获取密钥。
伏笔:rootkit,root代表最高权限,kit表示软件。合起来,最高权限的软件。如果存在恶意rootkit,利用它可以运行指令将进程与一些显示进程列表接口的函数切断关联隐藏起来,你在任务管理器里看不见。这东西的危害,不是随随便便安装一个杀毒软件就可以搞得定的。需要时间彻查,扫描,对比,说白了就是用多方式得到结果,最后玩大家来找茬。要找到它就需要直接从内存的二进制识别出进程,再把它们完整列出来。下面的工具Volatility就是这么干的。
基于python的开源工具包volatile Framework能够从Windows和Linux UNIX内存镜像中提取信息。volatile框架支持各种插件,包括PS列表(进程列表)、PS扫描(进程扫描)、DLL列表、模块、conn扫描、hive列表等,允许我们提取进程、威胁、注册表、网络连接和许多关键信息。
就功能而言,谷歌的开源Rekall内存取证框架与volatile框架非常相似。谷歌的还可以提取内存镜像,volatile无此功能,需要其他工具先把内存提好。

PS list和PS scan显示的输出之间的任何差异都可能表明rootkit可能安装在可疑机器上。
Volatility内存分析演示
之前的文章说过AccessData的FTK Imager可以把内存dump出来。如果您运行的是虚拟机,那么 .vmem文件包含虚拟机主内存的副本。
SANS调查取证工具包已经安装了volatile
which vol.py 这是Volatility的路径 -h 看看插件的信息

提取出来的内存用的什么操作系统,什么时候提的 vol.py –f 文件路径 imageinfo

现在,在默认情况下,Volatility Framework将image作为WinXP SP 286来处理,如果是这样的话,我们就不需要提供image profile,如果运行的是其他插件,它会抱怨我不知道这个profile是什么。然后,您必须提供一个配置文件。加到上述命令后,什么命令怎么加都在它的帮助信息里,遇到了自行翻阅。
列出所有进程 这和windows任务管理器的结果差不多 进程如果被隐藏,将看不见它

将扫描的结果与列出的结果对比。有时rootkits隐藏在svchost.exe中

看一下连接的网络

发现与IP地址80端口有连接,一般情况,用户是不会去配置浏览器的,所以80代表浏览器。但是你怎么确定它对不对?有没有问题?这个时候,我们观察PID,去扫描出来的进程里面找发现它有问题。正常情况是打开浏览器,浏览器使用80端口。但这里对应的却是svchost.exe这个进程,非常可疑。这是Windows系统文件,但很多rootkits实际上隐藏在svchosts下。

这个可疑的进程,对应的IP地址,可以结合前面没的文件作为关键词来搜索,也可以用在线工具搜下这个IP是否被列入黑名单:IPVoid VirusTotal Shodan这三个在线工具
如果你是第一个发现此可疑IP的人,在线工具肯定搜不到。
还有其他的功能,比如查看注册表启动项,找到任何隐藏或注入的DLL。喜欢的自己去帮助里面找到它们,每个插件的工具功能是什么,你就可以玩弄内存了。
【干货】Windows内存获取和分析---查找恶意进程,端口的更多相关文章
- 简单解读linux的/proc下的statm、maps、memmap 内存信息文件分析【转】
转自:https://blog.csdn.net/sctq8888/article/details/7398776 转载自:http://hi.baidu.com/deep_pro/blog/item ...
- 解Bug之路-记一次JVM堆外内存泄露Bug的查找
解Bug之路-记一次JVM堆外内存泄露Bug的查找 前言 JVM的堆外内存泄露的定位一直是个比较棘手的问题.此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤 ...
- JVM内存区域异常分析
在Java虚拟机规范描述中,除程序计数器外,其他几个运行时区域都有可能发生OutOfMemoryError异常.接下来将对各区域分别进行分析介绍,内容包括触发各区域OutOfMemoryError异常 ...
- Windows内存管理和linux内存管理
windows内存管理 windows 内存管理方式主要分为:页式管理,段式管理,段页式管理. 页式管理的基本原理是将各进程的虚拟空间划分为若干个长度相等的页:页式管理把内存空间按照页的大小划分成片或 ...
- Windows内存管理[转]
本文主要内容:1.基本概念:物理内存.虚拟内存:物理地址.虚拟地址.逻辑地址:页目录,页表2.Windows内存管理3.CPU段式内存管理4.CPU页式内存管理 一.基本概念1. 两个内存概念物理内存 ...
- Memcached内存管理模型分析
Memcached 是一个高性能的分布式内存对象缓存系统,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而减轻RDBMS的负担,提高服务的速度.提升可扩展性.本文将基于memcached1.4 ...
- linux内存源码分析 - 内存回收(匿名页反向映射)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 概述 看完了内存压缩,最近在看内存回收这块的代码,发现内容有些多,需要分几块去详细说明,首先先说说匿名页的反向映 ...
- linux内存源码分析 - 伙伴系统(初始化和申请页框)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 之前的文章已经介绍了伙伴系统,这篇我们主要看看源码中是如何初始化伙伴系统.从伙伴系统中分配页框,返回页框于伙伴系 ...
- windows内存体系结构 内存查询,读,写(附录源码)
“进程内存管理器”这个程序实现的最基本功能也就是对内存的读写,之前的两篇文章也就是做的一个铺垫,介绍了内核模式切换和IoDeviceControl函数进行的应用程序与驱动程序通信的问题.接下来就进入正 ...
随机推荐
- linux第四章笔记
第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间.进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统. 最大限度利用处理器时间的原则:只要有可以执行 ...
- request.getParameter中文乱码问题解决办法
new String(request.getParameter("pageNo").getBytes("ISO-8859-1"),"UTF-8&quo ...
- 基于Struts2+Hibernate的朋友圈留言网站开发的质量属性
在课堂上我们了解了质量高于功能,质量属性是指影响质量的相关因素,是对质量的描述.现在我们对基于SSH的交友网站开发的质量属性可以从以下几个方向进行分析: (1)可用性: 当错误发生时,使用可用性战术进 ...
- 01 Maven构建的项目中,把.xml等配置文件添加到编译目录
Maven构建的项目,默认只会把src/main/resources目录下的xml配置文件添加到编译目录. 如果需要把src/main/java目录下的xml配置文件也添加到编译目录,需要在pom.x ...
- Strongly connected HDU - 4635(判断强连通图 缩点)
找出强联通块,计算每个连通块内的点数.将点数最少的那个连通块单独拿出来,其余的连通块合并成一个连通分量. 那么假设第一个连通块的 点数是 x 第二个连通块的点数是 y 一个强连通图(每两个点之间,至 ...
- fgt2eth Script
fgt2eth Script explanation_on_how_to_packet_capture_for_only_certain_TCP_flags_v2.txt Packet capture ...
- MT【102】一个常见的因式分解公式
解答: $x^3+y^3+1-3xy=(x+y+1)(x^2+y^2+1+xy-x-y)=$ $(x+y+1)(x^2+y^2+1+xy-x-y)=$ $\frac{1}{2}(x+y+1)[(x-y ...
- 自学Aruba1.2-WLAN一些基本常识802.11n速率计算方式、802.11n及802.11AC速率表
点击返回:自学Aruba之路 自学Aruba1.2-WLAN一些基本常识802.11n速率计算方式.802.11n及802.11AC速率表 1. 802.11n速率计算方式 以802.11g的54M最 ...
- 如何整合Office Web Apps至自己开发的系统(一)
在前面我的一篇博客中 Office Web Apps安装部署(一),有一张介绍Office Web Apps与其他系统的关系图, 从上述图中,可知实际上Office Web Apps也是可以接入自 ...
- Appium+python自动化环境搭建(小白适用)
写在前面: 没开始搭建前听好多人说,学习appium80%的人都死于环境搭建,所以一开始很紧张,在搭建环境中也确实遇到了好几个问题,由于之前本人使用app测试经验很少,所以相当于app小白,因此有的问 ...