【干货】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函数进行的应用程序与驱动程序通信的问题.接下来就进入正 ...
随机推荐
- sql 更新多条记录
转载:https://www.cnblogs.com/hfultrastrong/p/6905057.html 如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?本文以一个示例向 ...
- 淘宝店铺模板开发SDK2.0下载安装图文教程
使用TortoiseSVN Checkout TAE SDK2.0 废话少说,切入主题: 1.在http://tortoisesvn.net/downloads.html上下载TortoiseSVN ...
- mysql 列转行处理
CREATE TABLE `table1` ( `id` ) DEFAULT NULL, `name` ) CHARACTER SET utf8 DEFAULT NULL ) ENGINE=MyISA ...
- 极简版 卸载 home 扩充 根分区--centos7 xfs 文件格式
1. 查看文件系统 df -Th 2. 关闭正常连接 /home的用户 fuser /home 3. 卸载 /home的挂载点 umount /home 4.删除home的lv 注意 lv的名称的写法 ...
- 查看Jira 使用的H2数据库 数据结构以及内容的方法
1. 同事在研究jira 想看看jira的数据库 数据结构, 告知使用的是java的H2数据库. 如图示 2. 然后根据此内容 进行百度等. 下载 可以进行数据库连接的工具,主要找到两个,下载地址分别 ...
- PHP filemtime() 函数
定义和用法 filemtime() 函数返回文件内容上次的修改时间. 若成功,则时间以 Unix 时间戳的方式返回.若失败,则返回 false. 语法 filemtime(filename) 参数 描 ...
- OneZero第四周第三次站立会议(2016.4.13)
1. 时间: 15:15--15:30 共计15分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...
- Python Kivy 中文教程:安装(Windows)
Kivy 是一套用于跨平台快速应用开发的开源框架,只需编写一套代码,便可运行于各大桌面及移动平台上(包括 Linux, Windows, OS X, Android, iOS, 以及 Raspberr ...
- [代码]--GridControl使用技巧总结,更新中...
1如何禁用GridControl中单击列弹出右键菜单 设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false 2如何定位到第一条数据/记 ...
- BZOJ 3195 [Jxoi2012]奇怪的道路 | 状压DP
传送门 BZOJ 3195 题解 这是一道画风正常的状压DP题. 可以想到,\(dp[i][j][k]\)表示到第\(i\)个点.已经连了\(j\)条边,当前\([i - K, i]\)区间内的点的度 ...