基于Armitage的MSF自动化集成攻击实践

目录

返回目录

0x01 实践环境

  • macOS下Parallels Desktop虚拟机中(网络源均设置为共享网络模式):

    • Kali Linux - 64bit(攻击机,IP为10.211.55.10
    • Windows 7 - 64bit(靶机,IP为10.211.55.14
    • Windows XP Professional Version 2002 Service Pack 3(靶机,IP为10.211.55.16

返回目录

0x02 预备知识

  • Armitage基本介绍:

    • Armitage是一款基于Java的Metasploit图形界面化的攻击软件,可以用它结合 Metasploit中已知的exploit来针对主机存在的漏洞自动化攻击。通过命令行的方式使用Metasploit难度较高,需要记忆的命令过多,而Armitage完美的解决了这一问题,用户只需要简单的点击菜单,就可以实现对目标主机的安全测试和攻击。Armitage良好的图形展示界面,使得攻击过程更加直观,用户体验更好。因其操作的简单性,尤其适合Metasploit初学者对目标系统进行安全测试和攻击。
  • Armitage攻击目标主机的的一般方法:

    • 目标网络扫描:为了确定目标主机所在网络结构的网络拓扑,为后续目标主机信息搜索和攻击奠定基础。
    • 目标主机信息搜集:为了收集目标主机的漏洞信息,根据收集到的漏洞信息可以利用Armitage在Metasploit中自动搜索合适的攻击模块。
    • 目标主机攻击模块搜索:主要方法是依据发现的漏洞信息寻找可以突破目标系统的现有漏洞利用模块,为具体的攻击方案制定提供尽可能多的可靠支撑。

返回目录

0x03 Armitage基础配置

  • Armitage官网妹子镇楼:

  • 打开Kali攻击机,在终端中输入/etc/init.d/postgresql start命令启动postgresql服务:

  • 在msfconsole中输入armitage命令启动Armitage(在终端中直接输入也可以):



    也可以通过菜单栏图标直接打开Armitage! 对就是这个一脸坏笑的科技感十足的妹子233



    界面如下:

返回目录

0x04 Nmap:Armitage下信息搜集与漏洞扫描

  • 由于本次实践中靶机的IP已知,这里可以直接导入靶机的IP10.211.55.16,不过更一般的方法是根据已知信息推导出目标主机所在网段的IP,扫描目标网段完整信息,确认目标网络拓扑结构以实施网络侦查。在Armitage上方工具栏中依次选择Hosts->Nmap Scan->Quick Scan(OS detect)



    填写靶机所在网段10.211.55.0/24



    唔...这不就同样给靶机扫出来了吗!

  • 选中靶机10.211.55.16,右键选择Services,查看靶机上开启的服务:



    可见靶机的139端口开启了netbios-ssn服务,445端口开启了microsoft-ds服务~
  • 选中靶机10.211.55.16,右键选择Scan,Armitage会调用Metasploit的漏洞扫描模块,定向扫描靶机,寻找存在的漏洞,为下一步确定攻击方法提供参考依据:



    可见类似前几次实验在Metasploit中手动配置主机号、端口号等设置现在统统直接自动化了!
  • 利用上一步中漏洞扫描得到的漏洞信息,自动搜索Metasploit攻击模块库,寻找合适的攻击模块。选中靶机10.211.55.16,依次选择菜单栏Attacks->Find Attacks,Armitage会开始自动搜索寻找合适的攻击模块:

  • 搜索完成,Happy hunting_

返回目录

0x05 Armitage下漏洞自动化攻击实践

5.1 ms08_067_netapi(CVE-2008-4250):Windows远程溢出漏洞自动化攻击

  • ms08_067漏洞介绍:

    This module exploits a parsing flaw in the path canonicalization code of NetAPI32.dll through the Server Service. This module is capable of bypassing NX on some operating systems and service packs. The correct target must be used to prevent the Server Service (along with a dozen others in the same process) from crashing. Windows XP targets seem to handle multiple successful exploitation events, but 2003 targets will often crash or hang on subsequent attempts. This is just the first version of this module, full support for NX bypass on 2003, along with other platforms, is still in development.

    • ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。

    • CVE ID:CVE-2008-4250

    • 原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call 远程过程调用)请求,通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize()函数时触发,NetPathCanonicalize()函数在远程访问其他主机时,会调用NetpwPathCanonicalize()函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize()函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行。

    • 危害:攻击者能远程主动发起对漏洞主机端口的扫描,并且能直接获得漏洞主机的系统权限,属于最高严重级别的漏洞。

  • 在利用Armitage完成对靶机的攻击模块自动化搜索以后,选中10.211.55.16主机右键可以发现多了Attack菜单。依次选择Attack->smb->ms08_067_netapi菜单,选择smb漏洞下的ms08_067漏洞对XP靶机进行攻击(也可以在Armitage左侧树型目录下依次选择exploit->windows->smb->ms08_067_netapi找到该漏洞):

  • 在弹出的攻击配置对话框中配置LHOST/RHOST、LPORT/RPORT等信息(一般会自动配置好,这里把LPORT改成学号),Targets处配置靶机的系统(一般默认自动检测靶机系统),勾选Use a reverse connection,点击Launch开始攻击:

  • Armitage会进行一系列自动化攻击!攻击完成后,可以看到靶机的图标会发生明显变化:

  • Armitage会自动建立一个驻留在内存的shellcode即Meterpreter。在攻击成功的靶机上右键选择Meterpreter 1->Interact->Command Shell,输入dir命令查看靶机C:\WINDOWS\system32目录下的系统文件:



    攻击完成(⁎⁍̴̛ᴗ⁍̴̛⁎):

  • 在攻击成功的靶机上右键选择Meterpreter 1->Interact->Meterpreter Shell,输入getuid命令查看靶机当前用户的权限是SYSTEM权限:



    攻击完成(⁎⁍̴̛ᴗ⁍̴̛⁎):

返回目录

5.2 ms14_064_ole_code_execution(CVE-2014-6352):IE远程代码执行漏洞自动化攻击

  • ms14_064_ole_code_execution漏洞简介:

    This module exploits the Windows OLE Automation array vulnerability, CVE-2014-6332. The vulnerability is known to affect Internet Explorer 3.0 until version 11 within Windows 95 up to Windows 10, and no patch for Windows XP. However, this exploit will only target Windows XP and Windows 7 box due to the Powershell limitation. Windows XP by defaults supports VBS, therefore it is used as the attack vector. On other newer Windows systems, the exploit will try using Powershell instead.

    • CVE ID:CVE-2014-6352

    • 原理及危害:OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术。UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术。Microsoft Windows在OLE组件的实现上存在安全漏洞,未经身份验证的远程攻击者可利用此漏洞执行远程代码。此漏洞源于没有正确处理含有OLE对象的Office文件。

    • 受影响系统版本:

      • Microsoft Windows Vista
      • Microsoft Windows Server 2012
      • Microsoft Windows Server 2008
      • Microsoft Windows RT
      • Microsoft Windows 8.1
      • Microsoft Windows 8
      • Microsoft Windows 7
  • 在Armitage左侧树型目录下依次选择exploit->windows->browser->ms14\_064\_ole\_code\_execution找到该漏洞并双击打开配置界面开始配置。注意!此处需要把AllowPowershellPrompt置为1!!然后配置好LHOST/RHOST、LPORT/RPORT等信息(把LPORT改成学号,其余均取默认值),Targets处配置靶机的系统Windows XP,点击Launch开始攻击:

  • Armitage会进行一系列自动化攻击!

  • 靶机打开IE浏览器,输入meterpreter提供的URLhttp://10.211.55.10:8080/0KO2YrGZdZ1viW/SrEsdO/并回车,在靶机看来似乎并没有发生什么!然而此时Armitage中靶机的图标已发生明显变化,表明Kali攻击机已攻击成功!!



  • 开始操作一波吧_在攻击成功的靶机上右键选择Meterpreter 1,发现除了上个攻击实践中查看Command ShellMeterpreter Shell功能之外,还具有查看浏览器文件、进程、截屏等功能!

    • 选择Explore->Browse Files查看浏览器文件:
    • 选择Explore->Show Processes查看靶机进程(这个比较有用啊emmm):

    • 选择Explore->Screenshot进行截屏(听说你是截屏狂魔?):

    • 选择Explore->Webcam shot调一波网络摄像头(颜控必备233):



      什么?!竟然没装摄像头!欺骗我感情啊o(︶︿︶)o

返回目录

5.3 ms17_010_eternalblue(CVE-2017-0143):“永恒之蓝”自动化攻击

  • ms17_010_eternalblue漏洞介绍:

    This module is a port of the Equation Group ETERNALBLUE exploit, part of the FuzzBunch toolkit released by Shadow Brokers. There is a buffer overflow memmove operation in Srv!SrvOs2FeaToNt. The size is calculated in Srv!SrvOs2FeaListSizeToNt, with mathematical error where a DWORD is subtracted into a WORD. The kernel pool is groomed so that overflow is well laid-out to overwrite an SMBv1 buffer. Actual RIP hijack is later completed in srvnet!SrvNetWskReceiveComplete. This exploit, like the original may not trigger 100% of the time, and should be run continuously until triggered. It seems like the pool will get hot streaks and need a cool down period before the shells rain in again. The module will attempt to use Anonymous login, by default, to authenticate to perform the exploit. If the user supplies credentials in the SMBUser, SMBPass, and SMBDomain options it will use those instead. On some systems, this module may cause system instability and crashes, such as a BSOD or a reboot. This may be more likely with some payloads.

    • EternalBlue是2017年席卷全球的WannaCry勒索病毒的罪魁祸首,是微软近些年来最为严重的远程代码执行漏洞,可以直接获得系统权限。百度上EternalBlue一般指去年爆发的WannaCry,实际上是该勒索病毒软件利用了NSA泄露的危险漏洞EternalBlue进行传播。关于WannaCry详见WannaCry - 百度百科以及我去年写的博客应对WannaCry勒索危机之关闭445端口等危险端口——以本人Windows7系统为例

    • CVE ID:CVE-2017-0143

    • 原理:

      • 利用Metasploit中近期更新的针对ms17-101漏洞的攻击载荷进行攻击获取主机控制权限。
      • 利用windows系统的Windows SMB远程执行代码漏洞向Microsoft服务器消息块(SMBv1)服务器发送经特殊设计的消息,能允许远程代码执行。
    • 主要用途:

      • Windows的SMBv1、SMBv2远程溢出漏洞,对应MS17_010,主要针对445端口
    • 受影响系统版本:

      • 较广,从WindowsXP到Windows server 2012
  • 在Armitage菜单栏依次选择Hosts->Nmap Scan->Quick Scan(OS detect)并填写靶机所在网段10.211.55.0/24搜索存活的主机:



    发现两台可以攻击的靶机,一台XP(IP为10.211.55.16)一台win7(IP为10.211.55.14):

  • 依次选择菜单栏Attacks->Find Attacks,Armitage会开始自动搜索靶机寻找合适的攻击模块,对于win7右键依次选择Attack->smb,可以发现Armitage提供了5个可供攻击的smb漏洞,选择check exploits检查这些漏洞是否能被攻击:



    可以看到除了第一个漏洞ipass_pipe_exec没有检测结果不知道能否进行攻击之外其他4个全部阵亡,要么不可利用(not exploitable)要么检测不出来(not support check):





    并没有找到所谓的eternalblue,怎么破?

  • 别着急,这里我们还是在Armitage左侧树型目录下依次选择exploit->windows->smb->ms17_010_eternalblue找到传说中的eternalblue永恒之蓝并双击打开配置界面,相关配置均用默认值即可:



    特别注意的是,eternalblue是针对445端口进行攻击的,攻击成功与否关键在于靶机是否开放了这个端口!!!

  • 点击Launch开始攻击win7:





    攻击不成功?!再来!

  • 重新双击打开eternalblue配置界面,勾选Use a reverse connection,点击Launch开始攻击:



    看看win7靶机的图标,攻击成功!!!



    查看session并进入,获取shell:



    接下来该干什么,你懂的_Happy hunting_

  • 不过另一台靶机就没那么给面子了,可能由于eternalblue只能攻击Windows 7和Windows server 2008,攻击xp时会显示操作系统不匹配攻击不成功(._.)

返回目录

5.4 office_ms17_11882(CVE-2017-11882):Office远程代码执行漏洞自动化攻击

  • Microsoft Office CVE-2017-11882漏洞介绍:

    Module exploits a flaw in how the Equation Editor that allows an attacker to execute arbitrary code in RTF files without interaction. The vulnerability is caused by the Equation Editor, to which fails to properly handle OLE objects in memory.

    • 这是一个潜伏了17年之久的远程代码执行漏洞。该漏洞为Office内存破坏漏洞,影响目前流行的所有Office版本。原理是利用了Office的一个EQNEDT32.EXE(公式编辑器)组件,攻击者能够以当前登录的用户的身份执行任意命令。详细请参照打开文档变肉鸡:潜伏17年的“噩梦公式”Office漏洞攻击分析

    • CVE ID:CVE-2017-11882

    • 受影响系统版本:

      • Office 365
      • Microsoft Office 2000
      • Microsoft Office 2003
      • Microsoft Office 2007 Service Pack 3
      • Microsoft Office 2010 Service Pack 2
      • Microsoft Office 2013 Service Pack 1
      • Microsoft Office 2016
  • 在win7靶机上安装Microsoft Office 2016:

  • 在Kali攻击机中依次输入以下命令生成doc测试文件:

    • 安装启动nginx:
      apt-get install nginx
      cd /usr/share/nginx/html/
      systemctl start nginx
    • 下载生成doc的python脚本:
      git clone https://github.com/Ridter/CVE-2017-11882.git
      cd CVE-2017-11882/
    • 生成测试文件cve.doc(靶机在打开该测试文件时同时会自动打开计算器程序calc.exe,以验证Office CVE-2017-11882漏洞的存在):
      python Command43b_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o cve.doc
    • cve.doc放到网站根目录:
      cp cve.doc /usr/share/nginx/html/
      ls /usr/share/nginx/html/

  • 用ncat向靶机发送cve.doc

    • win7靶机用命令行进入ncat目录,打开监听:
      ncat.exe -lv 5314 > cve.doc
    • Kali攻击机建立连接并传输:
      ncat -nv 10.211.55.14 5314 < cve.doc

  • 靶机进入ncat目录,打开cve.doc,成功弹出calc.exe计算器程序,测试成功:



  • 在Armitage左侧树型目录下依次选择exploit->windows->fileformat->office\_ms17\_11882找到该漏洞并双击打开配置界面开始配置,注意有两处配置需要手动修改:

    • FILENAME+一栏填写生成doc文件的名字cve2.doc
    • 设置URI路径时要与上面生成doc时配置的路径一致!

  • 点击Launch开始自动化攻击流程:

  • 注意这条提示信息!它指明了刚刚MSF生成的cve2.doc所在路径!



    然后我们进入该目录并用ncat把cve2.doc传到靶机上:

  • win7靶机进入ncat目录,打开cve2.doc,触发访问10.211.55.10:8080/5314就会得到反弹到5314端口的TCP会话:





    于是可怜的靶机又被我攻陷了哈哈哈哈哈!!



    来抓个屏笑一个?_

返回目录

5.5 CVE-2018-4878:Adobe Flash 0day漏洞自动化攻击

  • Adobe Flash CVE-2018-4878漏洞介绍:

    2018年2月1日,Adobe官方发布了Adobe Flash Player系列产品的安全通告(APSA18-01),一个最新的Adobe Flash 0day漏洞被发现针对韩国地区的人员发起攻击,该0day漏洞编号为CVE-2018-4878,目前最新版本28.0.0.137及其以前版本的Adobe Flash Player均受漏洞影响。直到2月5日,Adboe才发布补丁来修复此0day漏洞。

    攻击者通过构造特殊的Flash链接,并将恶意Flash链接嵌入Office文档、网页或者桌面应用,当用户用浏览器/邮件/Office访问此Flash链接时,会被“远程代码执行”,并且直接被getshell。

    • 受影响系统版本:

      |产品|版本|平台|

      |:--

      基于Armitage的MSF自动化集成攻击实践的更多相关文章

      1. 基于Kali的一次DDos攻击实践

        镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.什么是DDos攻击 DDOS(Distributed Denial of Service),即分布式拒绝服务,是一种针对于网络服务的攻击行为. ...

      2. Apache DolphinScheduler 的持续集成方向实践

        今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点: " 研发效能 DolphinScheduler CI/CD 应用案 ...

      3. MSF基础攻击实践报告

        MSF基础攻击实践 MSF的六个模块:exploit,encoder,payload,aux,post,nops exploit——渗透攻击模块 测试者利用它来攻击一个系统,程序,或服务,以获得开发者 ...

      4. MSF MS11-050/10-087/Adobe攻击实践及内存保护技术

        MSF MS11-050/10-087/Adobe攻击实践及内存保护技术 内存攻击指的是攻击者利用软件安全漏洞,构造恶意输入导致软件在处理输入数据时出现非预期错误,将输入数据写入内存中的某些特定敏感位 ...

      5. 自动化打包资源混淆集成python实践----资源混淆

        前面自动化打包资源混淆集成python实践----打包一文讲述了四种打包方案,以及美团打包方案.apk注释添加渠道号方案的实现.这里讲集成资源混淆. 1.资源混淆带来的好处: 1)对资源文件起一定的保 ...

      6. MSF MS11-050攻击实践及内存保护技术

        内存攻击指的是攻击者利用软件安全漏洞,构造恶意输入导致软件在处理输入数据时出现非预期错误,将输入数据写入内存中的某些特定敏感位置,从而劫持软件控制流,转而执行外部输入的指令代码,造成目标系统被获取远程 ...

      7. 字节跳动流式数据集成基于Flink Checkpoint两阶段提交的实践和优化

        背景 字节跳动开发套件数据集成团队(DTS ,Data Transmission Service)在字节跳动内基于 Flink 实现了流批一体的数据集成服务.其中一个典型场景是 Kafka/ByteM ...

      8. 使用sklearn进行集成学习——实践

        系列 <使用sklearn进行集成学习——理论> <使用sklearn进行集成学习——实践> 目录 1 Random Forest和Gradient Tree Boosting ...

      9. fir.im weekly - 「 持续集成 」实践教程合集

        我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...

      随机推荐

      1. 【Vue.js】vue基础: 3种Class和Style绑定语法

        凡是用到了v-bind,那就一定有变量的存在,下面是三种语法的展示: 1. 对象语法: v-bind:class="{active: isActive, 'text-danger': has ...

      2. 一统江湖的大前端(5)editorconfig + eslint——你的代码里藏着你的优雅

        <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

      3. C# Word文档中插入、提取图片,文字替换图片

        Download Files:ImageOperationsInWord.zip 简介 在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操作.图像会比阅读文字更有吸引力,而且图像是 ...

      4. Ext.override

        Ext.override:4种情况 如果target是使用Ext.define声明的一个类,给出overrides那个类的override方法被调用(看Ext.Base.override) If th ...

      5. ionic3 Modal组件

         Modal组件主要用来弹出一些临时的框,如登录,注册的时候用 弹出页面html页面 <button ion-button small outline color="he" ...

      6. 2019Java查漏补缺(一)

        看到一个总结的知识: 感觉很全面的知识梳理,自己在github上总结了计算机网络笔记就很累了,猜想思维导图的方式一定花费了作者很大的精力,特共享出来.原文:java基础思维导图 自己学习的查漏补缺如下 ...

      7. Android预置Apk方法

        这一套8.0过时了 需要修改pms代码 否则apk会被pms删除掉 因为工作需要,经常要开发和合入系统App,所以在此开篇作为收集和记录Android合入系统应用的方法,以备日后查阅. 一.预置apk ...

      8. Vue一个案例引发的递归组件的使用

        今天我们继续使用 Vue 的撸我们的实战项目,只有在实战中我们才会领悟更多,光纸上谈兵然并卵,继上篇我们的<Vue一个案例引发的动态组件与全局事件绑定总结> 之后,今天来聊一聊我们如何在项 ...

      9. 在Windows 10上利用seafile搭建个人云服务

        参考seafile官方文档 安装Python 2.7.11 32位版 下载地址:https://www.python.org/downloads/release/python-2711/ 选择 32位 ...

      10. Oracle 10g 应用补丁PSU 10.2.0.5.180717

        最近测试了一下在Oracle 10g下面(单实例下面)升级.应用补丁PSU 10.2.0.5.180717,打这个补丁的主要原因是 Oracle 将于 2019年6月启用新的SCN兼容性,并且由于Bi ...