Samba是在Linux和Unix系统上实现Smb协议的一个免费软件,由服务器及客户端程序构成,Samba服务对应的TCP端口有139、445等。Smb一般作为文件共享服务器,专门提供Linux与Windows之间的传送文件服务。
Samba 3.5之后到4.4.14、4.5.10、4.6.4中间的所有版本存在严重的远程代码执行漏洞,攻击者可以利用该漏洞在目标服务器上执行任意代码。
首先查看被攻击系统的samba版本为3.6.9-151说明存在远程代码执行漏洞
在/etc/ld.so.conf文件添加samba动态链接库,保存退出
加载动态链接库:# ldconfig
看看是否成功
在smb配置文件/etc/samba/smb.conf结尾加入,保存退出
关闭防火墙运行samba服务
漏洞形成是在/source3/rpc_server/srv_pipe.c的is_known_pipename函数中。只要通过拥有可写入权限的Samba用户,就可以提权到Samba所在服务器的root权限。
下面开始实验
1、使用nmap扫描实验机10.1.1.100开放端口发现139、445端口,samba服务需要开启445端口而139端口作为获取smb服务
查看exp文件
打开MSF
查找is_known_pipename模块
使用模块 use exploit/linux/samba/is_known_pipename
查看配置
设置目标主机IP
查看
run开始攻击
查看shadow文件
回到目标主机查看是否一致
加固措施
1、使用samba最新版本;
2、在smb.conf的[global]阶段下增加nt pipe support = no,重启samba服务。
vim /etc/samba/smb.conf 添加
重启
继续攻击,发现行不通了
3、官方补丁https://github.com/samba-team/samba/commit/04a3ba4dbcc4be0ffc706ccc0b586d151d360015
原文地址:https://www.cnblogs.com/hai-long/p/11939967.html