背景
Samba (百度百科 全文背诵)
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
漏洞成因
Samba允许连接一个远程的命名管道,并且在连接前会调用
is_known_pipename()函数验证管道名称是否合法。在is_known_pipename()函数中,并没有检查管道名称中的特殊字符,加载了使用该名称的动态链接库。导致攻击者可以构造一个恶意的动态链接库文件,执行任意代码。利用条件
1.拥有共享文件写入权限,如:匿名可写等
2.需要知道共享目录的物理路径
影响版本.
4.6.3之前的中间版本
复现过程
使用msf模块,设置好目标IP地址
exploit/linux/samba/is_known_pipename

成功返回shell
