Linux Samba远程代码执行漏洞(CVE-2017-7494)漏洞复现

概述

1.该漏洞CVE-2017-7494又被称为Linux版的永恒之蓝

2.主要是利用smb上的反弹shell漏洞,进行远程代码执行

3.samba 3.5.0 到4.6.4/4.5.10/4.4.14的中间版本、docker

漏洞原理


1.远程命令执行

Samba允许连接一个远程的命名管道,并且在连接前会调用is_known_pipename()函数验证管道名称是否合法。

2.Samba远程命令执行漏洞形成的原因

在is_known_pipename()函数中,并没有检查管道名称中的特殊字符,加载了使用该名称的动态链接库。导致攻击者可以构造一个恶意的动态链接库文件,执行任意代码。

该漏洞要求的利用条件:

拥有共享文件写入权限,如:匿名可写等

需要知道共享目录的物理路径

扫描二维码关注公众号,回复: 15180545 查看本文章


复现步骤:

打开msf,搜索exp

 配置rhosts然后实施利用

 成功获取root权限

漏洞加固

使用命令vim /etc/samba/smb.conf在smb.conf文件中的[global]节点下增加 nt pipe support = no 选项,然后重新启动samba服务临时关闭pipe支持以防止此漏洞。

 在76行的位置,添加nt pipe support = no

 添加成功后,使用进入vim命令行界面使用输入wq保存并退出

 使用命令service smb restart,然后使用命令service smb reload 重新加载smb配置文件,并重启服务

 重新使用溢出模块对靶机的smb服务进行溢出操作,使用命令rexploit

此时发现利用脚本给出的操作提示:

[-] 192.168.94.145:445 - No suitable share and path were found, try setting SMB_SHARE_NAME and SMB_FOLDER

//没有找到合适的共享和路径,尝试设置Smb_Share_Name和SMB_FOLDER

由于我们关闭了pipe support会禁用Windows 客户端的共享列表。所以此处漏洞无法成功进行利用

猜你喜欢

转载自blog.csdn.net/qq_50377269/article/details/130919812
今日推荐