Linux版"永恒之蓝”(CVE-2017-7494)复现过程分析

简介: 本文讲的是Linux版"永恒之蓝”(CVE-2017-7494)复现过程分析,睡觉睡的正香,在梦里正在做一些不可描述的事情,就被一边的手机吵醒了
本文讲的是 Linux版"永恒之蓝”(CVE-2017-7494)复现过程分析

0x01.开始

睡觉睡的正香,在梦里正在做一些不可描述的事情,就被一边的手机吵醒了,真的很想把手机砸掉,但是又舍不得,好几个月的工资呢。拿起来看了看。群里的大牛们开始讨论一个漏洞。曝漏洞了!还睡什么,起来测试了。

0x02 各种失败

当我拿到这个漏洞的时候,做了大量的测试,攻击环境用的是Kali,靶机为ubuntu16.04、centos6.5等等。但是测试了一天,没有一次攻击成功,之前写了一篇关于这个漏洞的复现并提交到了嘶吼(编者注:并没有发布),到后面才发现,原来攻击的本地的docker镜像。

可以说成功么?当然不能,环境都是别人配置的,用别人配置的环境去复现显得多么的low啊。总之,各种环境失败,没有成功。看到了freebuf上的复现方法,讲真,真的不知道那个人在说什么。反正我还是不知道怎么复现的。各种环境测试也是失败的。

0x03 辛酸过程

可以说进入正文了,先附上github的msf利用地址:点我

把它复制回来,或者用wget命令下载回来,移动到msf的目录中去

mv is_known_pipename.rb /opt/metasploit-framework/embedded/framework/modules/exploits/linux/samba/is_known_pipename.rb

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

之后查看本地ip,并打开metasploit

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

再看一眼靶机ip

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

执行reload_all,重新加载全部文件。

use exploit/linux/samba/is_known_pipename
Set rhost 192.168.12.104
Set target 3

按照别人说的方法,直接执行exploit就可以完成本次攻击,但是事实往往不是跟想象中的一样,

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

没有会话返回,我想了很久,换了各种环境来测试,但是很幸运,我一个都没有成功,无意之间想到了一个,本机测试。

直接攻击地址换成了kali的ip地址

set rhost 192.168.12.103
Set target 3
Exploit

很是神奇,但是还是没有想明白原因是什么

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

0x04老外相助

翻着国外的各大论坛,想着这个原因到底是什么,无意间翻到了推特上一个老外发的推文,说他成功了。

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

于是我就问他:“你的samba配置是怎么写的?”

老外:“一张图片”

但是我设置了这个配置仍然没有成功,我又问他:“我设置了跟你相同的配置,但是仍然没有成功”

老外:“exploit is working against 2:4.2.14+dfsg-0+deb8u5, does not work on 2:4.5.8+dfsg-1” 

兄弟们,原谅我,我实在不知道这么怎么翻译了,我跟他交流都是靠着google翻译的。

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

虽然不是很明白老外的意思,但是连蒙带猜知道老外是想告诉我,我的版本是有问题的,但是不是samba的版本有问题。

我发现老外的攻击成功的系统是debian8.8,于是正准备安装debain的虚拟机,脑海里一个灵光,对调攻击机与靶机的攻防位置。简单说,就是用ubuntu去入侵kali。

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

攻击成功!

0x06 闲扯篇—-环境搭建

很多人纠结环境搭建这个东西,所以就在这里说一下。因为我也纠结了许久- -!攻击不成功,总是在怀疑是不是我samba环境搭建的有问题。

Ubuntu为靶机的环境:

sudo apt-get install samba

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

安装完成之后修改配置文件就行

sudo gedit /etc/samba/smb.conf

在文件末尾增加

[test]
path = /tmp
writeable = yes
browseable =yes
guest ok =yes
read only = no
create mask = 777

Linux版"永恒之蓝(CVE-2017-7494)复现过程分析

配置完成之后重启就好

sudo service smbd restart

Kali为靶机的环境:

Kali 默认是什么都有的,并不需要安装,直接添加配置文件,之后重启服务就行,不详细说明,参照ubuntu配置,其它类型的linux机器,参照ubuntu配置环境搭建

0x07 总结

光是单单复现这样一个简单的漏洞,就用了一天,可以说是很要命的东西,可能我复现的这一天,全球ip就不知道被扫了多少遍了。还是慢了老外一步。关于这个漏洞的复现,我看很多,压根没有人写清楚到底是怎么回事,让我等小白一脸懵逼的看着那些大牛装B。反正人家不说,究竟是如何设置的。相信很多人已经看到了一些复现方法,但是,往往很多把我们的思路带到了死胡同里,在里面饶了好久也出不来,”人家明明有回话创建,我就是没有,怎么回事?”,反正我今天就被一篇文章带进去了,用一个不可能复现的环境,复现了实验,然后我伴随着他的思路走了好久。。。。




原文发布时间为:2017年5月26日
本文作者:smileTT
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
1月前
|
Linux Android开发
嵌入式linux中Framebuffer 驱动程序框架分析
嵌入式linux中Framebuffer 驱动程序框架分析
27 0
|
1月前
|
Linux C语言 SoC
嵌入式linux总线设备驱动模型分析
嵌入式linux总线设备驱动模型分析
32 1
|
1月前
|
Linux
嵌入式linux系统设备树实例分析
嵌入式linux系统设备树实例分析
36 0
|
1月前
|
监控 Shell Linux
【Shell 命令集合 网络通讯 】Linux 分析串口的状态 statserial命令 使用指南
【Shell 命令集合 网络通讯 】Linux 分析串口的状态 statserial命令 使用指南
33 0
|
3月前
|
安全 Linux 编译器
内存泄漏检测组件的分析与实现(linux c)-mtrace工具使用
内存泄漏产生原因 在堆上使用malloc/remalloc/calloc分配了内存空间,但是没有使用free释放对应的空间。
75 0
|
3月前
|
监控 Linux 编译器
多线程死锁检测的分析与实现(linux c)-有向图的应用
在日常的软件开发中,多线程是不可避免的,使用多线程中的一大问题就是线程对锁的不合理使用造成的死锁,死锁一旦发生,将导致多线程程序响应时间长,吞吐量下降甚至宕机崩溃,那么如何检测出一个多线程程序中是否存在死锁呢?在提出解决方案之前,先对死锁产生的原因以及产生的现象做一个分析。最后在用有向环来检测多线程中是否存在死锁的问题。
56 0
|
3月前
|
存储 安全 Linux
linux系统中u-boot命令的EMMC和SD卡操作命令分析
linux系统中u-boot命令的EMMC和SD卡操作命令分析
111 1
|
22天前
|
Prometheus 监控 数据可视化
linux分析方法与技巧
【4月更文挑战第3天】在Linux环境中,进行日志分析和系统性能分析的关键方法包括:使用`cat`, `less`, `tail`查看和过滤日志,`logrotate`管理日志文件,`rsyslog`或`syslog-ng`聚合日志,以及通过`top`, `mpstat`, `pidstat`, `free`, `iostat`, `netstat`, `strace`, `sar`, `dstat`等工具监控CPU、内存、磁盘I/O和网络。对于高级分析,可利用Brendan Gregg的性能工具,以及Grafana、Prometheus等可视化工具。
18 2
linux分析方法与技巧
|
30天前
|
监控 Linux Shell
Linux 进程问题调查探秘:分析和排查频繁创建进程问题
Linux 进程问题调查探秘:分析和排查频繁创建进程问题
39 0
|
30天前
|
消息中间件 存储 网络协议
Linux IPC 进程间通讯方式的深入对比与分析和权衡
Linux IPC 进程间通讯方式的深入对比与分析和权衡
69 0