在内网渗透时,通常挂上代理后。在内网首先会打啵ms17-010。在实战中,使用msf的ms17-010模块,数次没有反d成功。基于此,到底如何成功利用ms17-010
在msf成功接收session之后,添加路由
然后使用ms17-010相关的模块进行探测是否存在该漏洞。
尝试利用
LHOST配置为公网IP
可以看到success。漏洞是可以利用的,但始终没有session。不知道什么原因。
参考资料: 利用公网Msf+MS17010跨网段攻击内网
笔者在本地搭建环境,也是同样的结果。尝试更改payload为
bind_tcp攻击者去连接,容易被防火墙和杀毒发现
可以成功生成session,但并不稳定,且在run的过程中非常容易导致本来的session died
在实际使用msf的ms17_010_eternalblue模块时,笔者观察到有几个弊端。
1.session 很容易died
2.ms17_010_eternalblue模块利用起来非常耗时
3.无法利用成功
有大佬推荐使用原始的fb.py。但配置起来感觉麻烦一些。
所以。笔者从i春秋上找到一个轻便的方程式漏洞利用工具。
参考资料: 萌新初试MS17-010方程式漏洞
工具使用起来很简单。只需要msfvenom生成一个x64或x86的dll文件,替换该工具下的x64.dll或x86.dll 。再依次点击Eternalblue、Doublepulsar 的Attack即可。在Attack的时候,调用x64.dll动态链接库,反d到公网IP。原理和fb.py一样。
笔者通过ew代理进内网后,在跳板机上上传了方程式漏洞利用工具、网安永恒之蓝检测工具。两者结合,威力巨大。成功利用ms17-010
对于windows server 2008 ,msfvenom生成x64.dll文件
msf配置
将该x64.dll替换到方程式利用工具下面。
只需要更换目标的IP,就可以获取session。
对于windows server 2003 ,msfvenom生成x86.dll文件
msf配置
进一步利用的一些命令
实际测试发现这种session非常稳定。不会轻易go die
实际测试server 2003的ms17-010时,有时候多次执行后msf就接收不到session,而且ms17-010利用时,脆弱的server 2003非常容易蓝屏。
所以笔者选择一种稳定可靠一些的办法。
先通过ms17_010_commend模块执行系统命令添加用户至管理员。再指定SMBPass和SMBUser来建立windows可访问命名管道[accessible named pipe]
参考资料 Metasploit 「永恒之蓝」两种模块的利弊
system的权限可以直接激活guest用户添加管理员组。
注意:使用ms17_010_psexec需要指定管理员的用户名、密码,否则没有session
同样的 *** 作,载入mimikatz,读取管理员密码。
Nmap :端口扫描探测工具,用于探测端口开放情况,本次使用其端口扫描和漏洞扫描功能
mestasploit :开源的渗透测试框架软件、综合型漏洞利用工具,本次实验使用其漏洞利用模块、meterpreter组件
漏洞原理简述
MS17-010漏洞出现在Windows SMB v1中的内核态函数 srv!SrvOs2FeaListToNt 在处理 FEA (File Extended Attributes)转换时,在大非分页池(Large Non-Paged Kernel Pool)上存在缓冲区溢出。
函数 srv!SrvOs2FeaListToNt 在将 FEA list转换成 NTFEA (Windows NT FEA) list前会调用 srv!SrvOs2FeaListSizeToNt 去计算转换后的FEA lsit的大小,因计算大小错误,而导致缓冲区溢出。
曾经NSA工具箱泄露时,我们已经对永恒之蓝这个工具的使用做过讲解! 【NSA黑客工具包】Windows 0day验证实验 。
然而,该工具的使用环境比较苛刻,而且 *** 作较为复杂,现在msf已经加入该系列工具,使用方法更便捷。接下来,就开始 *** 作吧!
打开Kali终端,使用Nmap对目标机开放端口进行扫描
目标机开放了 135 139 445 3389 等端口,且目标机系统为Windows7,
我们使用用扫描模块,判断该漏洞是否可利用
终端内输入
打开 metasploite 命令行客户端,使用 search 命令查找ms17-010漏洞的相关模块
如下是相关可用模块
使用 use 命令选择我们要使用的扫描模块
在运行该模块之前,需要设置相关选项,我们使用 show options 查看配置信息
需要设置目标地址,设置命令:
设置完成后,执行 run 或 exploit 命令,等待执行结果
从上一步骤可以看出,该漏洞是可被利用的,接下来,我们祭出漏洞利用模块
步骤同上,查看配置信息,并设置标记为yes的属性
show options
目标机host地址:172.16.12.2
set RHOST 172.16.12.2
之后,选择载荷 payload ,也就是 shellcode ,此处我们选择回连至控制端 shell 的 payload
同样,载荷也需要进行配置, show options 查看配置信息
配置中缺少本地主机 RHOST,设置一下
完成配置后,运行 exploit 或者 run ,开始执行漏洞利用模块
成功获取来自目标主机的Session会话
我们已经成功的获取Session会话了,本次我们继续介绍meterpreter后渗透模块的其他功能
运行 sysinfo 查看目标机器相关信息
执行 help 命令可以帮助我们了解meterpreter有哪些功能
接下来,我们获取目标机hash值
执行 hashdump
mimikatz 是一个知名的密码提取神器。它支持从Windows系统内存中提取明文密码、哈希、PIN码和Kerberos凭证等, meterpreter 中正集成了这款工具。
执行 load mimikatz 即可加载该工具,其命令与 mimikatz 一样
运行命令 msv ,导出hash
然后执行 kerberos 即可获得目标机账号密码
获取了目标机的账号密码,我们结合nmap的扫描结果,可以远程登陆目标机 但是现实中,防火墙一般会拦截外来3389端口的访问请求,这种情况下该怎么解决呢?
我们可以使用端口转发工具,将端口转发到访问者本地机器的某个端口,从而进行连接
运行命令
此处,我们将远程目标的3389端口,转发到本机 172.16.11.2的3389上
如此,我们只要执行
即可登陆远程目标机器
通过本次实验,我们熟悉了从发现漏洞、到验证漏洞、再到利用漏洞这一过程,并进一步学习了Metasploit的后渗透模块的其他使用案例。
通过结合实例去学习MSF的使用,反复训练,相信大家一定能熟能生巧,彻底掌握这一工具。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)