这篇是关于Metasploit 结构的 ,把Metasploit的结构搞清楚了,就不难理解和使用Metasploit了。

总的来说Msf 结构的组织是比较乱的。

Metasploit 是一个***框架,用户不但可以使用Metasploit 提供的各种功能,而且可以使用Metasploit提供的各种类型的API(应用程序接口)来开发出自己想要的功能,大家者很喜欢的db_autopwn 就是一个用Metasploit 开发的脚本。至于Metasploit缺少db_autopwn 这个模块的解决方法网上很多,不懂的可以到群里问。

backtrack R2 里的 Metasploit 在/opt/metasploit/ 这个文件夹下的各种文件时提供了Metasploit运行时的各种环镜和Metasploit向外界提供的一些工具,这些工具可以直接使用的(使用时不用加路径),这些工具的用法会在以后说到。这里主要介绍/opt/metasploit/msf3/这个目录下的东西,用户经常用到的各种exploits 脚本什么的就在这个目录下。

msf3 这个木下有 data ,documentation,external,lib,modules,plugins,scripts,test ,tool 这几个目录 ,下面是这几个目录的解释:

data :这个目录里盛放了meterpreter ,passiveX,vnc,DLLs,等这些工具和一些用户接口代码,msfweb 和一些其他模块用到的数据文件

documentation:msf的说明文档(用户把这里的文档研究透了就会用msf了),ruby 样列,msfApi 等。

external:包含了meterpreter,vnc ,passivX 等工具的源代码

lib:Msf的ruby库(所以,想学好Msf 要看看ruby相关的教程哦)

modules: 用户用到的各种模块几乎都在这里 ,用户使用 use 这个msf这里时,就是用到了这个目录下的模块。这个目录下的文件在msfconsole启动时会被自动加载的,如果看到msfconsole启动时有出错信息但又能成功启动可以根据出错信息找解决方法,个人写的module也可以放在这个目录下。

plugins: 这里的模块用户需要使用load 来加载,提供数据库连接插件,和各种要用到的插件。

scripts :这个目录下的文件大都是meterpreter这个模块利用的脚本。比如郭meterpreter里用到的migrate来转移到其他进程的指令的源代码就在这个目录下。

tools 包含一些有用的脚本和零散的工具。

主要的几个文件夹就简单的介绍到这里,没说到的文件夹实际应用中会很少用到。

下面专门说一下modules 文件夹:

modules这个文件夹下有 auxiliary,encoders,exploits,nops,payloads,post,这几个文件夹,他们包含的文件脚本有不同的用途。

auxiliary:主要包含***测试中一些辅助性的脚本,这些脚本功能有扫描,嗅探,破解,注入,漏洞挖掘,等

exploits:主要包含了传说中的exp,0day,各种漏洞利用的脚本。主要的***代码全在这,这里边包含的exp 的路径的命名规则是 系统/服务/模块 ,在使用exp是可以根据这个命名方法来找(也可以用search这条指令来找)。比如:use exploites/windows(系统)/vnc(服务)/realvnc_client(模块名)

payloads :这个单词翻译过来叫:载荷 意识是***者发送给系统执行的指令(不包含exploits 阶段:***阶段)payloads 有主要是在目标机执行的,而exploits是在本地机执行作用于目标机。命名规则是: 系统/类型/名称 比如: use payloads/windows/shell/bind_tcp

post:这个目录里放着msf 的exploits执行成功后,向目标机发送的一些功能性指令比如:提权,获取hash等。

nops 这里主要放着调整shellcode 前置nop指令长度的工具(不理解没关系)

encoders :各种编码工具 用于躲过***检测和过滤系统。

msf的整体结构差不多就是这些了,很乱