20145330 《网络对抗》 Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复

加分项目:

PC平台逆向破解:注入shellcode 和 Return-to-libc攻击实验

http://www.cnblogs.com/20145330swx/p/6514359.html

摘要

本次免考项目分为两个模块:Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复

Eternalblue(MS17-010)漏洞研究内容:

研究背景

代码模块介绍

漏洞代码分析

复现工具说明

测试环境准备

复现详细步骤

  • FuzzBunch环境设置

  • 用EternalBlue攻击入侵Windows 7

  • 使用Empire生成恶意DLL文件(Payload)/使用msfvenom生成DLL

  • 使用DoublePulsar向目标系统中注入Payload文件

漏洞防范方法

Apache Struts2(S2-045)漏洞研究内容:

漏洞介绍

漏洞范围分布图

影响范围

不受影响的版本

快速检测方式

漏洞危害

漏洞复现

临时修复方案

主动防御方案

MS17-010

研究背景

影子经纪人(Shadow Brokers)最近陆续曝光的NSA网络武器令人震惊,尽管这些工具是否出自国家级别黑客团队之手尚不清楚,但至少存在一个可以说明问题的事实:这些漏洞利用工具都能有效运行,且具有一定程度的威胁杀伤力。在此,我用NSA的两个大杀器演示对Win 7系统进行漏洞利用和入侵控制的过程复现。

MS17-010漏洞是指攻击者利用该漏洞,向用户机的445端口发送精心设计的网络数据包文,实现远程代码执行。

移植MS17-010漏洞利用代码模块介绍

Metasploit集合了大量的系统漏洞利用代码,但并不是拥有所有的漏洞代码,所以Metasploit有一个非常强大的功能,它允许使用者开发自己的漏洞模块,MS17-010的漏洞利用模块Metasploit虽然还没有集成,但是网络上已经有相应的渗透模块了,这些模块可能是用各种语言编写的,比如perl、python等,Metasploit支持各种不同语言编写的模块移植到其框架中,通过这种机制可以将各种现存的模块软件移植成为与Metasploit兼容的渗透模块。

MS17-010漏洞代码分析

http://bobao.360.cn/learning/detail/3738.html

复现工具说明、漏洞介绍

实现复现需要用到两个工具:

  • 一个为针对微软才刚刚修复的MS17-010漏洞后门利用程序–EternalBlue该漏洞利用程序影响Windows 7和Windows Server 2008大部分版本系统,无需认证权限就能实现系统入侵控制;
  • 另一个为可以远程向目标控制系统注入恶意DLL或Payload程序的插件工具DOUBLEPULSAR。

综合利用这两个工具,入侵攻成功之后,我们可以实现对目标系统执行Empire/Meterpreter反弹连接控制。

在此过程中,我们还需要用到NSA使用的类似Metasploit的漏洞利用代码攻击框架FUZZBUNCH。

当然,我们首先还得把Shadow Brokers泄露的工具下载到系统中来。( https://github.com/misterch0c/shadowbroker )

  • 泄露文件说明:

Windows文件夹:

其中Windows目录下的黑客工具包含了IIS 6.0远程漏洞的利用;SMB1的重量级利用,可以用来攻击开放了445端口的Windows系统并且提权;RDP服务远程漏洞的利用,可以攻击开放了3389端口的Windows机器等等。开放了135,445等端口的Windows服务器有很大概率受到攻击。

其中ETERNALBLUE是一个0day RCE漏洞利用,利用SMBv1和SMBv2漏洞(MS17-010),影响至最新的Windows 2008 R2 SERVER VIA SMB和NBT。其漏洞产生的原因是srv.sys文件在处理SrvOs2FeaListSizeToNt函数的时候逻辑不正确导致越界拷贝。

测试环境准备

网络演示拓扑:

攻击机1winXP(x86,32bit):需要安装Python 2.6程序和PyWin32 v2.12,调试运行攻击框架FUZZBUNCH;

IP:192.168.124.130

攻击机2 kali2.0 64bit:需要用到Empire和Metasploit相关工具,或者msf;

IP:192.168.124.132

靶机 win7(64bit):不需要做其它额外配置,只需要系统开启。

IP:192.168.124.133

FuzzBunch环境设置

首先需要在攻击机1 WIN XP系统中安装:

  • python-2.6.6.msi (https://www.python.org/download/releases/2.6.6/)
  • pywin32-221.win32-py2.6.exe(https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/)
  • 注意,pywin32安装时候需要使用管理员权限

在Kali Linux上安装EmpireFramework非常简单,只需运行./setup/install.sh脚本即可一键安装

所有环境安装配置好之后,我们在FUZZBUNCH目录下以CMD形式执行python fb.py命令,将会提示未找到“Listening post”错误,

原因在于指定运行配置属性为空,所以,我们可以用编辑器把fb.py源码的第72行“Listening post”相关部分注释掉:

另外,在相同目录下找到Fuzzbunch.xml文件,用我们本地系统相关路径把其中的第19行和第24行路径进行覆盖,如下图所示:

FUZZBUNCH可以正常运行:

FUZZBUNCH的初始化过程中,将会需要输入攻击目标IP和回连控制IP,在这里我分别输入靶机系统的控制系统1(xp)的IP地址,如下图所示:

点击“enter”继续,会提示输入工程名,在此,我们用”eternal1″,在该工程名目录下将会生成一些日志记录文件:

用EternalBlue攻击入侵Windows 7

首先,我们在FUZZBUNCH终端上用命令“use EternalBlue”选择使用EternalBlue作为漏洞利用工具:

使用很多默认配置参数,但是要注意目标操作系统是x86还是x64,以及 Mode ::Delivery mechanism的选择为1) FB。

在一直默认下第一次尝试失败:

我发现靶机win7的电脑管家没有关,关闭后再次尝试成功:

使用Empire生成恶意DLL文件(Payload)/使用msfvenom生成DLL

由于上一步骤中靶机系统已经被EternalBlue成功植入后门,所以在该步骤中,我们将使用Empire生成恶意DLL文件(Payload),并用DOUBLEPULSAR实现远程注入。

攻击机2 kali需要安装EmpireFramework,
在Kali Linux上,我们需要安装可从Github获取的Empire框架:
Empire framework:https://github.com/EmpireProject/Empire

在Kali Linux上安装EmpireFramework非常简单,只需运行./setup/install.sh脚本即可一键安装,然后运行./empire就可以启动Empire。

使用Empire进行Payload创建:

很心碎,别人的empire就直接创建成功了,而我的连set都不识别?!可能安装了个假empire吧。。。

所以我又选择了第二种方法:使用msfvenom生成DLL(可以使用主动连接TCP_Bind或者反弹shell)

攻击机2 kali的msfvenom 生成一下dll 这里使用的是reverse_tcp的paylaod(反弹shell)

把生成的s.dll(home/YL路径下)传到攻击机1win xp上去,放在windows目录下

开启msfconsole 下面的payload要和上面msfvenom的payload对应起来

使用DoublePulsar向目标系统中注入Payload文件

回到XP系统中,在FUZZBUNCH终端使用“use DoublePulsar”命令运行DoublePulsar

接着DoublePulsar会为我们显示相关的目标参数,如果你的攻击目标为不同的架构,则需要选择对应的系统架构(本靶机为64bit)。其他变量我们只需保持默认不变即可,直到功能选项出现。

这里输入DLL的文件位置(放在攻击机1的路径):

之后都默认就行

终于,得到成功执行的消息显示“Doublepulsar Succeded”

但是kali这边并没有回连上...伤心。以上尝试的是反弹连接获取shell

但是经过坚持不懈的心塞,终于回连成功!(就可以对靶机进行各种事情了!)

下面试试主动连接的:

将生成的bind.dll文件拷贝到攻击机xp的windows文件夹下

开启msf

最后也可以回连。

除了Eternalblue,NSA一起发布的工具还有这些,影响操作系统基本

防范方法

  • 1、安装微软发布的补丁:https://technet.microsoft.com/zh-cn/library/security/MS17-010

这次病毒爆发影响确实非常大,为近年来所罕见。该病毒利用NSA“永恒之蓝”这个严重漏洞传播,几乎所有的Windows系统如果没有打补丁,都会被攻击。

微软在今年 3 月发布了 MS17-010 安全更新,以下系统如果开启了自动更新或安装了对应的更新补丁,可以抵御该病毒——Windows Vista、Windows Server 2008、Windows 7、Windows Server 2008 R2、Windows 8.1、Windows Server 2012、Windows 10、Windows Server 2012 R2、Windows Server 2016 。

  • 2、关闭端口139/445,同时打开系统防火墙。具体方法可参考:
    http://mp.weixin.qq.com/s/s1_eym5U7-cdMbAh2T9YHA

  • 并且除了Windows系统的电脑外,手机、Pad、Mac等终端不会被攻击,病毒只攻击Windows系统的电脑,手机等终端不会被攻击,包括Unix、Linux、Android等系统都不会受影响。很多时候都是没有根据的谣言和ps啊。

Apache Struts2(S2-045)漏洞

我又做了一个今年三四月份的新漏洞S2-045的利用及修复:

漏洞介绍

Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于Jakarta插件的文件上传功能时,有可能存在远程命令执行,导致系统被黑客入侵。

恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。

绿盟威胁情报中心NTI关于Struts2漏洞范围分布图

全球分布图

国内分布图

全球排行

影响范围

Struts 2.3.5 – Struts 2.3.31

Struts 2.5 – Struts 2.5.10

不受影响的版本

Struts 2.3.32 Struts 2.5.10.1

快速检测方式

使用知道创宇SeeBug照妖镜可以直接检测站点是否存在本漏洞

漏洞危害

在default.properties文件中,struts.multipart.parser的值有两个选择,分别是jakarta和pell。其中的jakarta解析器是Struts 2框架的标准组成部分。默认情况下jakarta是启用的,所以该漏洞的严重性需要得到正视。

攻击者可通过远程命令注入执行,令系统执行恶意命令,导致被黑客入侵,从而威胁服务器安全,影响极大。

实验环境

操作机:Windows XP

目标机:Centos 6.5

Struts版本:2.3.31

ip:172.16.11.2

实验文件

poc.exe:本次实验漏洞验证的POC源码

SecurityFilter.class:本次实验漏洞修复脚本

实验目的

了解S2-045 Struts2远程命令执行漏洞危害

掌握检测修复S2-045 Struts2远程命令执行漏洞技术

实验内容

Struts

Struts是Apache基金会的一个开源项目,Struts通过采用JavaServlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

目前,Struts框架广泛应用于政府、公安、交通、金融行业和运营商的网站建设,作为网站开发的底层模板使用,是应用最广泛的Web应用框架之一。

实验步骤

步骤1:验证漏洞

打开目标网站:http://172.16.12.2/

发现跳转链接到http://172.16.12.2/example/HelloWorld.action

打开cmd,切到poc.exe的目录下,执行下面命令:

poc.exe http://172.16.12.2/example/HelloWorld.action "ifconfig"

测试该网站是否存在S2-045漏洞,尝试执行系统命令ifconfig,结果如下:

成功执行,证明漏洞存在,成功后可以尝试利用漏洞执行其他命令。

步骤2:临时修复方案

修改Struts2的Multipart parser

使用搜索工具搜索ssh连接工具xshell5连接目标机172.16.12.2,用户名root,密码123456

修改配置文件

struts2-core-2.3.31.jar路径:/var/www/apache-tomcat-7.0.14/webapps/ROOT/WEB-INF/lib/下载到本地桌面,修改文件扩展名为struts2-core-2.3.31.zip

将其解压到struts2-core-2.3.31文件夹中,打开里面的文件夹org\apache\struts2

右击目录下的default.properties文件,使用notepad++进行编辑。

找到struts.multipart.parser,该选项就是Struts2的Multipart parser应用配置,默认值为jakarta,即此次出现命令执行漏洞的上传框架。

将其修改为pell,相当于将存在漏洞的jakarta框架禁用了。

修改后值struts.multipart.parser=pell,保存,退出。

重新打包jar文件

struts2-core-2.3.31文件夹中全部选中,压缩打包为zip格式,文件名:struts2-core-2.3.31.jar

替换jar文件

使用工具Xftp,将/var/www/apache-tomcat-7.0.14/webapps/ROOT/WEB-INF/lib/路径下的struts2-core-2.3.31.jar移动到根目录/,将我们修改配置后重新打包的jar文件放到该目录下。

重启tomcat

替换文件后需要重启tomcat服务,切换到/var/www/apache-tomcat-7.0.14/bin/目录下,首先执行./shutdown.sh,然后执行./startup.sh

验证漏洞 执行下面命令:

poc.exe http://172.16.12.2/example/HelloWorld.action "cat /etc/passwd"

poc程序已经无法成功利用了。

步骤3:主动防御方案

如业务系统比较复杂,在临时修复方案不能使用时,且无法轻易的升级struts的版本时,可以使用知道创宇的创宇盾来拦截网络的攻击流量。

实验总结与体会

本次免考我做了Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复

此次实验我首先移植MS17-010漏洞利用代码模块、上网查资料对MS17-010漏洞代码进行分析、了解复线工具的用途并下载实践相关功能(配置环境很耗时啊。。。),总共开启了三个虚拟机进行实验,其中可以使用Empire进行Payload创建、也可以使用msfvenom的反弹连接或者主动连接进行Payload创建,其实本来也不清楚会有这么多种方法可以实现,都是因为一次次的失败积累出的经验...

做MS17-010复现对我来说还是有些困难的,在网上查看各种原理还有方法慢慢梳理才有了个大方向。耗费时间最久的竟然是环境配置,真的是每台电脑有它的脾气,每个基本都是配了好几次才成功。“永恒之蓝”是指NSA泄露的危险漏洞“EternalBlue”,此次的勒索病毒WannaCry是利用该漏洞进行传播的,当然还可能有其他病毒也通过“永恒之蓝”这个漏洞传播,因此给系统打补丁是必须的,毕竟这种复现我们自己都可以实现...

s2-045我用过实践掌握了临时解决方案与主动防御方案,所以说学习网络对抗知识还是很重要的,如果遇到漏洞问题可能还能自己动手解决掉。

参考资料

Eternalblue(MS17-010):

http://www.hackdig.com/05/hack-45428.htm

http://www.freebuf.com/articles/network/133853.html

http://www.hx99.net/Article/Tech/201704/37465.html

https://baijiahao.baidu.com/po/feed/share?

http://bobao.360.cn/learning/detail/3738.html

s2-045:

http://www.myhack58.com/Article/html/3/62/2017/84040.html

https://www.ichunqiu.com/vm/57729/1

转载于:https://www.cnblogs.com/20145330swx/p/6886511.html

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

  1. 远程桌面漏洞poc_【漏洞复现】CVE 2019-0708 漏洞利用

    0x00 前言 2019年5月14日微软官方发布安全补丁,修复了Windows远程桌面服务的远程代码执行漏洞,该漏洞影响了某些旧版本的Windows系统.此漏洞是预身份验证且无需用户交互,这就意味着这 ...

  2. DedeCMS历史漏洞复现之代码执行漏洞

    本文介绍的漏洞虽然不是最新漏洞,但意在让初学者了解漏洞复现的基本流程. 首先了解一下什么是CMS.CMS是Content Management System的缩写,意为"内容管理系统&quo ...

  3. 经典漏洞MS11_003漏洞复现(windows7IE溢出漏洞)

    1.首先打开kali虚拟机和一台windows7 ie8,在windows7查看ip,要想复现需要将windows7的防火墙关闭. 2.在kali虚拟机中ping该虚拟机,查看是否可以ping通. 3 ...

  4. 漏洞复现 - - - 未授权访问漏洞Redis

    目录 一,未授权访问漏洞概述 二,常见的未授权访问漏洞 Redis历史漏洞 三,Redis未授权访问 漏洞信息 Redis 简介 四,环境搭建 漏洞环境搭建 五,漏洞利用方法 实验环境 方法一 ​编辑 ...

  5. LINUX漏洞复现篇之ShellShock漏洞

    简介 ShellShock漏洞, 中文称为"破壳漏洞", 是Unix Shell中的安全漏洞 在一些网络服务器的部署中, 使用bash来处理某些请求, 允许攻击者通过低版本的bas ...

  6. [vulfocus漏洞复现]thinkcmf 代码执行漏洞复现 (CVE-2019-7580)phpinfo();ThinkCMF是一款支持Swoole的开源内容管理框架(CMF),基于ThinkPH

    前言 ThinkCMF是一款支持Swoole的开源内容管理框架(CMF),基于ThinkPHP开发. thinkcmf5.0.19 这个版本后台提供路由自定义,其中路由的别名对单引号缺少过滤,导致引发 ...

  7. fastjson反序列化漏洞_【漏洞复现】fastjson反序列化漏洞

    0x00 影响版本 fastjson< 1.2.48 0x01 漏洞原理 Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON ...

  8. Struts2 远程代码执行漏洞复现(附Struts2漏洞检测工具)

    0x00 Struts2 简介 Struts2 是 Apache 软件组织推出的一个相当强大的 Java Web 开源框架,本质上相当于一个 servlet.Struts2 基于 MVC 架构,框架结 ...

  9. cors漏洞 复现_Jsonp跨域漏洞浅析

    0x00Preface [前言/简介] 同源策略:协议.域名.端口都相同,是一种安全策略,不同源的客户端脚本在没有明确授权的情况下,不能读取对方资源. 为什么要跨域? 随着互联网的发展,同源策略越来越 ...

最新文章

  1. 12.1简介Object类
  2. cfb为什么不需要填充_为什么很多高中生数学成绩不理想,需要补课?因为不熟练啊!...
  3. SharePoint工作流解决方案QuickFlow系列(2)--Task
  4. java客户端程序用什么自动化测试_五大Java自动化测试框架
  5. TiDB 源码阅读系列文章(十八)tikv-client(上) 1
  6. 华为虚拟化Fusionphere中VRM重启
  7. Cgroup学习之——Ubuntu下交叉编译ARM平台libcgroup工具
  8. 什么是封装、继承和多态
  9. 原型工具 axure 使用
  10. 有趣的黑客网站 | 伪装成黑客高手,像电影黑客一样打字如飞
  11. ## Android Studio 开发(四)--蓝牙通信
  12. 段子用计算机等于250,段子手要失业了,计算机也懂幽默
  13. python爬取网易云音乐 专辑图片+歌词
  14. 网易云信im 的聊天记录展示
  15. Eolink 征文活动- -后端研发需要的API文档工具
  16. 解决The valid characters are defined in RFC 7230 and RFC 3986
  17. python dataset_数据管道Dataset
  18. Parametric study
  19. JS中文排序(Ext中文排序补丁)
  20. 运用HTML+CSS做CSDN博客首页

热门文章

  1. android 蓝牙 透传,蓝牙4.0透传模块
  2. 怎么用计算机化学精密度,计算机在分析化学和有机化学的应用
  3. 【NOIp2016 day1t3】换教室
  4. android数据库sqlite3,android NDK中sqlite3数据库的使用
  5. 最需要的时候遇见你OrgChart
  6. 用了十年的昵称badboy_我,轻舞飞扬,用QQ二十年了
  7. 终极对决?360报QQ声明为木马
  8. 线性非时变系统理论(LTI系统理论)
  9. 企业广告主选择软文推广的原因是什么呢?
  10. 2023年全球及中国盐酸环丙沙星行业头部企业市场占有率及排名调研报告