漏洞是因为代码中一个管道申请命令的判断致使的,能够经过构造特定请求执行上传的so文件。html
漏洞影响了Samba 3.5.0 以后到4.6.4/4.5.10/4.4.14中间的全部版本。python
靶机:CentOS6.5 serverlinux
攻击机:kali 2017.2shell
samba版本:3.5.22 源码编译函数
配置samba可匿名访问(须要有读写的权限)测试
能够直接使用metasploiet framework,执行:code
use exploit/linux/samba/is_known_pipename set rhost ip exploit
便可获取shell。server
经过官方发布的补丁来看, source3/rpc_server/srv_pipe.c的is_known_pipename函数对pipename校验不充分,htm
致使含有’/’路径符号的pipename可触发漏洞:blog
更严格的话应该是判断首个字符串是否是'/'来判断是否须要过滤。
这就能够经过恶意伪造管道命令,执行上传的so,反弹shell。
参考:https://bbs.pediy.com/thread-218114.htm
临时方法:在global下设置nt pipesupport = no
最好是更新samba。
更多参考: