原标题:LinuxSamba远程代码执行漏洞防护说明
背景
2017年5月24日Samba官网发布了软件升级补丁修复了远程代码执行漏洞CVE-2017-7494,在安全圈引起关注。
目前针对该漏洞的POC和EXP已经在网络流传,对网络上使用存在漏洞版本软件的服务器造成巨大危害。攻击者如果成功利用该漏洞可以远程在服务端执行任意代码,拥有Samba可写权限的攻击者可利用此漏洞获取目标系统的root权限。
受影响版本
影响版本Samba3.5.0 之后的所有版本,其中4.6.4/4.5.10/4.4.14版本已经发布过补丁。
漏洞描述
恶意用户可通过在smb通信的时候伪造pipename内容,使得服务器加载其他路径下的恶意文件,从而执行任意代码。
漏洞详情参考:
漏洞技术分析
通过官方发布的补丁来看, source3/rpc_server/srv_pipe.c的is_known_pipename函数对pipename校验不充分,导致含有’/’路径符号的pipename可触发漏洞。
具体攻击过程:
第1步:向Samba共享中写入可执行文件(如shell.so)
第2步:在Samba请求中构造恶意的pipename,为可执行文件的路径(如/home/share/shell.so)
攻击具有如下限制:
条件1:需要具有Samba共享目录的写入权限
条件2:需要暴力猜解写入目录的绝对路径
华为应急响应
华为在5月25号监控到漏洞信息以后,安全研究人员立即启动应急流程,并搭建环境对漏洞进行重现。在漏洞被分析人员重现确认后,开发IPS防护签名。目前IPS签名库已经发布至升级网站http://sec.huawei.com,可供全球客户升级使用。
漏洞排查方法
使用smbd –V命令查看软件版本,如果版本在上述受影响范围之内,则必须采取防护措施或者升级软件。
使用smbstatus命令查看当前的共享情况:
临时防护方法
对于无法立即升级软件版本的用户,建议先采用临时防护方法,避免此漏洞遭受攻击和利用,有以下两种方法可以实现:
1.可以通过修改配置文件临时关闭相关功能。
具体方法是,可以在smb.conf的[global]节点下增加”nt pipe support = no” 选项,并重新启动samba服务,临时关闭pipe支持以防止此漏洞。
配置文件示例:
[global]
nt pipesupport = no
重启samba服务命令:
#service smb restart
或者
#/etc/init.d/smb restart
2. 可以通过修改防火墙配置,阻断由外到内发起的tcp/445端口的连接请求。
最终解决方案
此类漏洞的最终彻底解决都依赖于软件的更新升级,因此请您务必尽快对samba软件进行升级。
1.若您使用源码安装,请立即下载最新的Samba版本,手动编译更新;
2.若您使用二进制安装,请立即进行apt-get update,yum等方式进行安全更新;
Samba源码下载链接:
Apt-get命令参考:
# apt-getupdate samba
Yum命令参考:
# yum update samba
参考链接:
责任编辑: