CVE-2015-0240:Samba全系版本远程命令执行漏洞检测方法及修复建议

  小狼    编号: 050002    奖励 70 积分   2015.02.26   Samba 远程命令执行

0x01 前言

 

在大家欢天喜地度春节时,安全界近日又爆出Samba被发现存在远程命令执行漏洞(CVE-2015-0240)。

 

原因是在Samba的守护进程smbd中发现一个未初始化的指针使用缺陷;允许一个恶意的Samba客户端发送特定的netlogon数据包给smbd获得smbd运行的权限,而smbd的默认权限是root。

 

Samba是在Linux和Unix系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

 

这个漏洞影响范围从Samba 3.5.0到最新的开发版4.2.0 Release Candidate (RC) 4,主流的GNU/Linux发行版也受到了影响,RedHat官方公告确认Red Hat Enterprise Linux 5至7受到影响;而Red Hat Enterprise Linux 4系列samba (3.0.x) 不受影响,可谓不幸中万幸。(这么古老版本估计也就学校和运营商里还有吧~)

 

目前Debian\Ubuntu\RedHat等主流发行版本均已经修复,攻击POC也未正式公布出来。

 

 

0x02 检测是否存在该漏洞

 

RedHat系列检查:

rpm -qa|grep samba

 

 

Debian\Ubuntu系列检查:

dpkg -l|grep samba

 

 

 

0x03临时修复方案

 

如果因为生产环境无法直连外网或是变更配置管理等原因而不便更新补丁,可以采取以下临时修复方法:

vi /etc/samba/smb.conf

 

找到[global]后下面添加:

[global]
rpc_server:netlogon=disabled

 

 

/etc/init.d/smb restart

 

 

PS:注意该临时解决方案只在Samba versions 4.0.0以上才有效,而在3.6.x和更早的版本上无效。

 

 

0x04在线修复方案

 

CentOS, Red Hat, Fedora等系列衍生版本(RHN建议):

yum update samba

 

 

如果你使用RHEL 5和samba3x包:

yum update samba3x

 

如果你使用RHEL 6和samba4包:

yum update samba4

 

补丁更新完毕后需要重启smbd守护进程

 

RHEL 5 or 6环境下重启服务:

service smb restart

 

RHEL 7环境下重启服务:

systemctl restart smb.service

 

Debian, Ubuntu等系列衍生版本:

sudo apt-get update && sudo apt-get install samba
service samba restart

 

 

0x05 离线修复方案

 

Centos6.5离线补丁修复方案:

 

先检查本地samba包安装了哪些相关包

rpm -qa|grep samba

 

 

然后,到阿里源下载对应版本

cat > update.txt << EOF
http://mirrors.aliyun.com/centos/6.6/updates/x86_64/Packages/libsmbclient-3.6.23-14.el6_6.x86_64.rpm
http://mirrors.aliyun.com/centos/6.6/updates/x86_64/Packages/samba-3.6.23-14.el6_6.x86_64.rpm
http://mirrors.aliyun.com/centos/6.6/updates/x86_64/Packages/samba-client-3.6.23-14.el6_6.x86_64.rpm
http://mirrors.aliyun.com/centos/6.6/updates/x86_64/Packages/samba-common-3.6.23-14.el6_6.x86_64.rpm
http://mirrors.aliyun.com/centos/6.6/updates/x86_64/Packages/samba-winbind-3.6.23-14.el6_6.x86_64.rpm
http://mirrors.aliyun.com/centos/6.6/updates/x86_64/Packages/samba-winbind-clients-3.6.23-14.el6_6.x86_64.rpm
EOF

 

进行后台断点下载补丁包

wget -b -i update.txt -c

 

使用yum本地安装

yum localinstall libsmbclient-* samba-*

 

或是rpm安装

rpm -ivUh libsmbclient-* samba-*

 

Red Had系列衍生版本

使用方法参考上文【Centos6.5离线补丁】的修补方法

 

 

0x06 参考来源

 

https://access.redhat.com/articles/1346913

https://access.redhat.com/security/cve/CVE-2015-0240

https://www.samba.org/samba/security/CVE-2015-0240

http://www.ubuntu.com/usn/usn-2508-1/

https://security-tracker.debian.org/tracker/CVE-2015-0240

 

 



全部评论 (0)

登录注册