【干货】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函数进行的应用程序与驱动程序通信的问题.接下来就进入正 ...
随机推荐
- 【MOOC EXP】Linux内核分析实验五报告
程涵 原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 分析system_call中断处理过程 ...
- Sprint 1 Review & Daily Scrum - 11/18
今天我们组利用课后的时间对Sprint 1阶段进行了回顾,并对接下来的工作进行了安排. Sprint 1阶段我们开始定的计划是完成最基础的背单词功能,可以让用户可以完整地走一遍背单词流程.回顾上周,我 ...
- Software-Defined Networking:A Comprehensive Survey--Day2
Software-Defined Networking:A Comprehensive Survey (续+1s) IV. SOFTWARE-DEFINED NETWORKS: BOTTOM-UP S ...
- java8新特性(三)_Optional类的使用
说实话,我第一次知道这个东西是从阿里规约中,因为公司前一段时间一直在搞代码审核,我的代码写的就感觉很烂,就像规范下.让别人看起来没那么烂.于是就开始看阿里规约,在看到NPE处理的时候,上面提到用Opt ...
- 轻松学JVM
轻松学JVM(一)——基本原理 前言 JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM ...
- Xml文档添加节点和属性
XmlDocument doc = new XmlDocument(); XmlElement xmlElement = doc.CreateElement("节点名称"); xm ...
- 【题解】 [HNOI2015]菜肴制作 (拓扑排序)
题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1. 由于菜肴 ...
- 【BZOJ3670】【NOI2014】动物园(KMP算法)
[BZOJ3670]动物园(KMP算法) 题面 BZOJ 题解 神TM阅读理解题 看完题目之后 想暴力: 搞个倍增数组来跳\(next\) 每次暴跳\(next\) 复杂度\(O(Tnlogn)\) ...
- Maven添加第三方库及部署配置
配置其实很简单,还是修改~/.m2/settings.xml文件,具体用文件说话,其他不解释. <?xml version="1.0" encoding="UTF- ...
- 【bzoj2844】 albus就是要第一个出场
http://www.lydsy.com/JudgeOnline/problem.php?id=2844 (题目链接) 题意 给出${n}$个数,它们可以异或出${n^2}$个数,将这些数从小到大排列 ...