【干货】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内核分析》第一周学习小结 计算机是如何工作的?
<Linux内核分析>第一周.计算机是如何工作的? 20135204 郝智宇 一.存储程序计算机工作模型 1. 冯诺依曼体系结构: 数字计算机的数制采用二进制:计算机应该按照程 ...
- Where To Buy -- proposed by Renqian Luo
Need 周末在公司加班,公司食堂不开饭,就会想到点外卖.手机里好多外卖APP,同样的店家在不同平台的优惠活动可能不一样,A这边满20减10,B那边满20只减5,但是那边好像有优惠券可以用唉,等等,C ...
- RabbitMQ None of the specified endpoints were reachable
消息队列部署到服务器的时候,需要新增一个用户,然后一定要设置权限.参考一下 https://www.cnblogs.com/gossip/p/4573056.html
- appium获取Toast内容的方法
做自动化测试的时候,可能需要根据弹出的Toast提示来做下一步判断.这里记录一下获取Toast内容的方法,同时巩固一下显示等待的方法之一WebDriverWait. from selenium.web ...
- SSM框架 mapper.xml中 value的空值判断问题
先看解决方案,其他的都是问题的出处 解决方案:if中使用 _parameter,#{value}不变 <if test="_parameter!='' and _parameter!= ...
- Military Problem CodeForces - 1006E(dfs搜一下 标记一下)
题意: 就是有一颗树 然后每次询问 父结点 的 第k个结点是不是他的子嗣...是的话就输出这个子嗣..不是 就输出-1 解析: 突然想到后缀数组的sa 和 x的用法..就是我们可以用一个id标记当前 ...
- IntelliJ IDEA2017 修改缓存文件的路径
IDEA的缓存文件夹.IntelliJIdea2017.1,存放着IDEA的破解密码,各个项目的缓存,默认是在C盘的用户目录下,目前有1.5G大小.现在想要把它从C盘移出. 在IDEA的安装路径下中, ...
- 【刷题】洛谷 P4320 道路相遇
题目描述 在 H 国的小 w 决定到从城市 \(u\) 到城市 \(v\) 旅行,但是此时小 c 由于各种原因不在城市 \(u\),但是小 c 决定到在中途与小 w 相遇 由于 H 国道路的原因,小 ...
- BZOJ 4540 [Hnoi2016]序列 | 莫队 详细题解
传送门 BZOJ 4540 题解 --怎么说呢--本来想写线段树+矩阵乘法的-- --但是嘛--yali的机房太热了--困--写不出来-- 于是弃疗,写起了莫队.(但是我连莫队都想不出来!) 首先用单 ...
- 循环取月的三位英语名 Jan Feb
CultureInfo ci = new CultureInfo("en-US"); DateTime now = DateTime.Now; for (int i = 0; i ...