漏洞背景:
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 :cafK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2C8j5h3I4A6i4K6u0W2L8%4u0Y4i4K6u0r3k6r3!0%4L8X3I4G2j5h3c8K6i4K6u0r3 直接安装镜像即可,linux kali 自带metasploit框架,利用起来非常的方便
Exploit_CVE-2017-7494(msf-ruby) :24eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Z5k6r3#2Q4x3V1k6E0k6i4c8S2M7%4m8D9L8$3W2@1i4K6u0V1k6Y4u0S2L8h3g2%4L8%4u0C8i4K6u0r3j5X3I4G2j5W2)9J5c8U0l9#2x3U0m8V1y4$3y4X3y4K6k6X3z5r3f1#2k6e0j5#2y4r3y4T1y4U0m8X3x3e0f1%4y4K6M7J5x3U0l9H3j5K6q4T1z5h3f1J5x3K6m8Q4x3V1k6E0L8$3c8#2L8r3g2K6i4K6u0r3k6i4S2H3L8r3!0A6N6s2y4Q4x3V1k6D9K9h3&6#2P5q4)9J5c8Y4y4S2L8h3u0S2i4K6u0r3K9i4y4Q4y4h3k6C8L8X3!0%4L8W2)9#2k6Y4m8A6M7r3g2F1j5h3#2W2i4K6u0W2M7X3u0Q4x3X3u0Q4x3@1y4T1M7W2)9J5j5W2)9J5c8W2)9K6c8b7`.`.
在攻击机上扫描目标靶机是否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直播授课
XiaoHuaMe 还没写完呢,手滑了,在编辑一下
kanxue 辛苦,标题别忘了