-
-
[原创]Linux cve-2017-7494samba远程漏洞利用和分析
-
发表于:
2017-6-2 14:58
21599
-
[原创]Linux cve-2017-7494samba远程漏洞利用和分析
漏洞背景:
Samba是在Linux和UNIX系统上实现SMB协议的一个软件,2017年5月24日Samba发布了4.6.4版本,中间修复了一个严重的远程代码执行漏洞,漏洞编号CVE-2017-7494,漏洞影响了Samba
3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本,,确认属于严重漏洞,可以造成远程代码执行。
环境搭建:
靶机环境 : Linux-mint 17 镜像网上随便下内核版本3.13.0-24-generic x86_64
samba版本: 4.1.6-Ubuntu
然后配置smb服务配置
vim /etc/samba/smb.confg
参考其他人分析在末行加入
但是我自己测试 只需要就可以
重新reload smb的配置文件 重启服务
/etc/init.d/samba restart
/etc/init.d/samba reload
有的机器上需要关闭防火墙
/etc/init.d/iptables stop
看当前靶机ip
攻击机环境: kali2017-amd64 .iso :https://www.kali.org/downloads/ 直接安装镜像即可,linux kali 自带metasploit框架,利用起来非常的方便
Exploit_CVE-2017-7494(msf-ruby) :https://github.com/hdm/metasploit-framework/blob/0520d7cf76f8e5e654cb60f157772200c1b9e230/modules/exploits/linux/samba/is_known_pipename.rb
在攻击机上扫描目标靶机是否445 端口是否打开,因为samba服务开启需要开启445端口
可以看到445和139端口open开启
把down下来的ruby脚本is_known_pipename.rb拷贝至kali机器上的/usr/share/metasploit-framework/modules/exploits/linux/samba/目录下
启动启动msfconsole,并选择使用is_known_pipename模块:
设置目标机ip等,看下配置选项:
开始进行攻击:
可以看到尝试着在靶机的共享目录下上传一个随机字符串生成的so文件,然后就会回连一个shell,看出ip就是靶机的ip
获取一个组ID为root的shell终端。
漏洞代码分析:
官方给出的漏洞补丁可以看出:
漏洞出现在source3/rpc_server/srv_pipe.c 的475行中也就是发生在is_known_pipename函数中对传进来的管道名称进行了过滤的处理,如果管道名称中含有了“/”的字符进行了过滤,其实更严格的话应该是判断首个字符串是不是‘/’来判断是否需要过滤,后续会有介绍,那么根据补丁来进行分析肯定管道名称带有'/'会触发漏洞,所以跟进代码看一下
、
再跟:
继续:
以samba-4.5.9.tar.gz源码为例分析:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课