天天看点

Samba远程命令执行漏洞复现

Linux版永恒之蓝

Samba远程命令执行漏洞复现

编号CVE-2017-7494。

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

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

利用条件为:

目标打开了文件/打印机共享端口445,可以公网访问;

共享文件有写入权限;

攻击方需了解或猜解Samba服务端共享目录的物理路径。

影响版本:Samba 3.5.0之后到4.6.4/4.5.10/4.4.14的中间所有版本。

官方在2017年5月24日发布Samba 4.6.4版本修复了这个漏洞,可以在​​Samba 4.6.4 - Release Notes​​看到发布信息,下载补丁说明。

Samba远程命令执行漏洞复现
Samba远程命令执行漏洞复现

可以看到新增了对​<code>​/​</code>​的过滤。

由于镜像采用了端口映射,445变成了物理机的15361。

猜测的绝对路径:

Samba远程命令执行漏洞复现

这个洞就是SambaCry,藏匿了七年之久才被公开。同年还发生了WannaCry,连同各式各样的网络安全事件,将2017年标注为“网络安全元年”。

Metasploit创始人H.D. Moore在漏洞公布的第二天就发布了EXP:

Samba远程命令执行漏洞复现