CVE-2017-7494:Linux Samba named pipe漏洞
描述:
漏洞是由于代码中一个管道申请命令的判断导致的,可以通过构造特定请求执行上传的so文件。
漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本。
测试:
靶机:CentOS6.5 server
攻击机:kali 2017.2
samba版本:3.5.22 源码编译
步骤:
配置samba可匿名访问(需要有读写的权限)
可以直接使用metasploiet framework,执行:
use exploit/linux/samba/is_known_pipename
set rhost ip
exploit
即可获取shell。
原理:
通过官方发布的补丁来看, source3/rpc_server/srv_pipe.c的is_known_pipename函数对pipename校验不充分,
导致含有’/’路径符号的pipename可触发漏洞:

更严格的话应该是判断首个字符串是不是'/'来判断是否需要过滤。
这就可以通过恶意伪造管道命令,执行上传的so,反弹shell。
参考:https://bbs.pediy.com/thread-218114.htm
应对方法:
临时方法:在global下设置nt pipesupport = no
最好是更新samba。
更多参考:
http://www.mamicode.com/info-detail-1830651.html
http://www.freebuf.com/news/137110.html
CVE-2017-7494:Linux Samba named pipe漏洞的更多相关文章
- CVE-2017-7494 Linux Samba named pipe file Open Vul Lead to DLL Execution
		
catalogue . 漏洞复现 . 漏洞代码原理分析 . 漏洞利用前提 . 临时缓解 && 修复手段 1. 漏洞复现 . SMB登录上去 . 枚举共享目录,得到共享目录/文件列表,匿 ...
 - Linux中的pipe(管道)与named pipe(FIFO 命名管道)
		
catalogue . pipe匿名管道 . named pipe(FIFO)有名管道 1. pipe匿名管道 管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常 ...
 - linux 进程学习笔记-named pipe (FIFO)命名管道
		
与“无名管道”不同的是,FIFO拥有一个名称来标志它,所谓的名称实际上就是一个路径,比如“/tmp/my_fifo”,其对应到磁盘上的一个管道文件,如果我们用file命令来查看其文件类型的话,会得到如 ...
 - Linux Kernel 整数溢出漏洞
		
漏洞名称: Linux Kernel 整数溢出漏洞 CNNVD编号: CNNVD-201311-062 发布时间: 2013-11-07 更新时间: 2013-11-07 危害等级: 漏洞类型: ...
 - Linux kernel 内存损坏漏洞
		
漏洞名称: Linux kernel 内存损坏漏洞 CNNVD编号: CNNVD-201310-143 发布时间: 2013-10-11 更新时间: 2013-10-11 危害等级: 中危 漏洞类 ...
 - Linux Kernel 本地拒绝服务漏洞
		
漏洞名称: Linux Kernel 本地拒绝服务漏洞 CNNVD编号: CNNVD-201308-090 发布时间: 2013-08-08 更新时间: 2013-08-08 危害等级: 漏洞类 ...
 - Linux Kernel 远程拒绝服务漏洞
		
漏洞名称: Linux Kernel 远程拒绝服务漏洞 CNNVD编号: CNNVD-201307-309 发布时间: 2013-07-18 更新时间: 2013-07-18 危害等级: 漏洞类 ...
 - Linux  samba多用户挂载
		
samba 多用户挂载 通过multiuser挂载选项,使用基于密码验证和cifscreds实现访问控制在默认情况下,samba共享挂载后,是通过挂载时的验证来实现对挂载资源的访问控制.通过新的mul ...
 - 【翻译自mos文章】当/var/tmp文件夹被remove掉之后,GI crash,并启动失败,原因是ohasd can not create named pipe
		
来源于: GI crashes and fails to start after "/var/tmp" directory was removed as ohasd can not ...
 
随机推荐
- Linux运维学习笔记-通配符及正则表达式知识总结
			
通配符: * 代表所有 ? 任意一个字符 : 两个命令的分隔符 # 注释 | 管道,将|前命令的执行结果作为|后命令的输入 ~ 用户的家目录 - 上一次的目录 $ 变量前面 ...
 - BZOJ3296:Learning Languages(简单并查集)
			
3296: [USACO2011 Open] Learning Languages Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 436 Solved ...
 - 51Nod 1089:最长回文子串 V2(Manacher算法)
			
1089 最长回文子串 V2(Manacher算法) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 回文串是指aba.abba.cccbccc.aaa ...
 - 在Linux中批量修改字符串的命令
			
昨天一个朋友忽然问我,在Linux下如何批量修改字符串,当时瞬间懵逼了,完全想不起来....... 今天特意的重温了一下Linux下的一些常用命令,并将这个遗忘的批量修改字符串的命令记录下来(资料来自 ...
 - Linux内核配置---menuconfig
			
1. 示例 config SGI_NEWPORT_CONSOLE tristate "SGI Newport Console support" depends on SGI_IP2 ...
 - QLoo graphql engine 学习三 架构
			
一张官方的参考图 说明 Storage Layer API 参考了kubernetes 的设计 qloo 组成 qloo 有qloo 服务以及envoy proxy 组合而成,envoy proxy ...
 - 打造基于jQuery的日期选择控件
			
终于把jQuery拼写正确了哈,哈哈javascript也是区分大小写的,所以确实不能写错,今天我来和大家分享的是日期选择控件的实现,功能也许不够强大,但是能够满足需求. 我之前也写过(正确的说是改过 ...
 - 系列文章--oracle简单入门教程
			
oracle入门很简单:八.oracle数据表 1.创建oracle数据表创建oracle数据表的语法如下: create table命令用于创建一个oracle数据表:括号内列出了数据表应当包含的列 ...
 - 大数据框架hadoop的序列化机制
			
Java内建序列化机制 在Windows系统上序列化的Java对象,可以在UNIX系统上被重建出来,不需要担心不同机器上的数据表示方法,也不需要担心字节排列次序. 在Java中,使一个类的实例可被序列 ...
 - 记录tomcat的完整日志
			
Tomcat报的错太含糊了,什么错都没报出来,只提示了Error listenerStart.为了调试,我们要获得更详细的日志.可以在WEB-INF/classes目录下新建一个文件叫logging. ...