Metasploit是一款开源的渗透测试框架平台,到目前为止msf已经内置了数千个已披露的漏洞相关的模块和渗透测试工具,模块使用ruby语言编写,这使得使用者能够根据需要对模块进行适当修改,甚至是调用自己写的测试模块。选定需要使用的攻击模块之后,只需要使用简单的命令配置一些参数就能完成针对一个漏洞的测试和利用,将渗透的过程自动化、简单(此文章转载https://www.zhaosimeng.cn/ctcs/93.html)。
这里就不介绍msf的下载安装了,默认已经安装好了。
Metasploit的所有文件是存放在/usr/share/metasploit-framework目录下的。
其中较为重要的一些目录就是data、modules、scripts、tools、plugins
1、先查看data目录,该目录下包含大量有用的模块,如meterpreter,exploits,wordlists,templates、wordlists等等
wordlists目录一般存放着一些字典文件
expoits目录:dll和可执行文件
2、再看看scripts目录,其中主要包含一些攻击需要用到的脚本
materpreter目录:ruby脚本
ps目录:powershell脚本
resource目录:rc文件
shell目录:ruby脚本
3、而在tools目录中则存放着大量的实用工具
expliot目录:ruby脚本
memdump目录:可执行文件
password目录:ruby脚本
4、然后plugins目录则是集成了第三方的插件,如sqlmap、nessus等
5、最后再看看modules目录,这是msf的重要模块
auxiliary 漏洞辅助模块,多用于扫描
encoders 编码器模块,对payloads进行编码
evasion 创建反杀毒软件的木马
exploits 攻击模块,实施精准打击
payloads 漏洞载荷模块,通常作用是为渗透测试者打开在目标系统上的控制会话连接
nops空指令模块,最典型的空指令就是空操作
等等
在了解了metasploit的目录结构之后,我们打开msf看看
可以看到直接输入msfconsole打开之后会出现WARNING:No database这样的字样。这是因为PostgreSQL数据库被用来存储metasploit内各模块、载荷等索引,加快搜索速度。在打开msf之前,是需要开启postgresql数据库服务的。这里出现警告就是说明postgresql数据库服务还没有开启。
我们先检查一下当前的状态
可以很明显的看到该服务确实是没有开启的,随后开启即可
开启了postgresql数据库服务之后再去打开msf就不会出现刚才的问题了
打开msf之后,可以用show exploits 显示所有的攻击模块。
用show auxiliary 显示所有的辅助模块
search命令可以用来检索所需要的模块的一些信息
search <关键词> 检索所需要的模块
search <关键词> type:exploit 检索所需要的攻击模块
search <关键词> type:auxiliary 检索所需要的辅助模块
当确定好了需要使用的模块之后用
use <模块名称> 使用该模块(攻击模块或辅助模块)
来选择并使用该模块
看到这里应该对metasploit渗透测试框架平台有了一个基本的认识。在随后的学习中,我们会更加了解如何使用msf来进行更加自动化、更加简单的渗透测试。