制作我们自己的模块module
这次实验我们将会使用ruby编写我们自己的第一个模块。
没学过ruby?ruby语法很简单,不要紧的。我们这次只是做一个启蒙的作用,不会涉及高深的语法知识。主要的目的在于了解metasploit的体系结构,module的框架,以及编写一个能够输出hello world的module并成功能够在metasploit中成功使用
在我们深入研究模块构建和开发之前,先来看一下当前的一些模块。这些文件可以用来作为我们的基础,便于重新组合使用,或制作自己的自定义模块
因此首先我们切换到这个目录下
上图中我们看到了很多熟悉的老朋友~~如mysq,mssql,smtp,smb,android等等
接下来我们拿mssql开刀编写一个简单的小程序。首先我们切换到/usr/share/metasploit-framework/modules/auxiliary/scanner/mssql,然后在我们的home目录下创建符合metasploit要求的文件夹目录结构来存储我们自定义的模块。按照metasploit所要求的结构来进行创建的好处就是Metasploit会自动查找这个文件夹结构,所以我们的模块不需要额外的步骤进行目录切换,搜索等来进行利用。
我们来创建目录结构:
然后复制一个已经存在的mssql的模块到我们自定义的模块
接下来我们切换到我们刚才创建的目录去
使用vim来编辑我们的模块
这些代码便是我们前面复制的mssql_ping.rb的代码。我们将会在此基础上来定制自己的模块。
第6行说明我们的这个模块是一个辅助模块(auxiliarty module)
第7行说明是拥有远程mssql权限时使用
第8行说明可以被用作sql扫描器
第11行是初始化的主要部分
第13行是exploit的名字
我们自行修改为Test
第14行是epxloit的描述
我们修改为just for fun
第15行是作者
我们修改为Yale
第16行是标准,我们不需要修改
可以看到19行有参数的选项,我们不需要去指定
第22行定义了主函数
第24行是函数的开始
我们可以之后的函数体的内容都给修改了
改成puts “hello world”
意为输出hello world
最后的代码被修改成这样子
先按下ESC然后输入:wq保存
接下来我们启动metasploit
然后搜索我们的模块
结果中的第一个就是我们刚才编写的模块
我们按照其他模块一样的用法来使用就可以了
看到rhosts还没有被设置,我们来设置下
这里rhosts的参数我们可以随意填写
执行攻击和后恶意看到成功输出了hello world
说明我们自己编写的模块是可以成功使用的