最近想做一款自动化的主机漏洞扫描工具。打算以python作为基础语言,metasploit作为开发基础库。查资料发现国内的论坛博客都只会互相抄来抄去,没一个能打的。
那就我来写一篇。
本文用到的python库是allfro/pymetasploit
使用pip进行安装
pip install pymetasploit
我的开发环境是windows,metasploit跑在kali环境下。所以在kali下面要做如下配置。
首先是运行msfrpcd服务,-S参数表示不通过SSL进行连接,-U后接用户名,-P后接密码。具体可以输入msfrpcd -h查看。
msfrpcd -S -U peng -P peng
运行完后界面是这样的。
然后我们写第一行python程序。引入的方法是这样的:
from metasploit.msfrpc import MsfRpcClient
第二行获得连接的对象,是这样的。
client = MsfRpcClient(password="peng", username="peng", server="192.168.190.128", ssl=False )
解释一下,这个MsfRpcClient传入的参数中,password是必须的,其他可选参数有url/port,可以看源码得知其用途。
我们来打印一下这个对象可调用的方法。此时整体的代码是这样的。
from metasploit.msfrpc import MsfRpcClient
client = MsfRpcClient(password="peng", username="peng", s