初识metasploit

 Metasploit是一款开源的渗透测试框架平台,到目前为止msf已经内置了数千个已披露的漏洞相关的模块和渗透测试工具,模块使用ruby语言编写,这使得使用者能够根据需要对模块进行适当修改,甚至是调用自己写的测试模块。选定需要使用的攻击模块之后,只需要使用简单的命令配置一些参数就能完成针对一个漏洞的测试和利用,将渗透的过程自动化、简单(此文章转载https://www.zhaosimeng.cn/ctcs/93.html)。

  这里就不介绍msf的下载安装了,默认已经安装好了。

  Metasploit的所有文件是存放在/usr/share/metasploit-framework目录下的。

其中较为重要的一些目录就是data、modules、scripts、tools、plugins

1.png

1、先查看data目录,该目录下包含大量有用的模块,如meterpreter,exploits,wordlists,templates、wordlists等等

2.png

wordlists目录一般存放着一些字典文件

3.png

expoits目录:dll和可执行文件

4.png

2、再看看scripts目录,其中主要包含一些攻击需要用到的脚本

5.png

materpreter目录:ruby脚本

6.png

ps目录:powershell脚本

7.png

resource目录:rc文件

8.png

shell目录:ruby脚本

9.png

3、而在tools目录中则存放着大量的实用工具

10.png

expliot目录:ruby脚本

11.png

memdump目录:可执行文件

12.png

password目录:ruby脚本

13.png

4、然后plugins目录则是集成了第三方的插件,如sqlmap、nessus等

14.png

5、最后再看看modules目录,这是msf的重要模块

15.png

auxiliary 漏洞辅助模块,多用于扫描

encoders 编码器模块,对payloads进行编码

evasion 创建反杀毒软件的木马

exploits 攻击模块,实施精准打击

payloads 漏洞载荷模块,通常作用是为渗透测试者打开在目标系统上的控制会话连接

nops空指令模块,最典型的空指令就是空操作

等等

在了解了metasploit的目录结构之后,我们打开msf看看

16.png

  可以看到直接输入msfconsole打开之后会出现WARNING:No database这样的字样。这是因为PostgreSQL数据库被用来存储metasploit内各模块、载荷等索引,加快搜索速度。在打开msf之前,是需要开启postgresql数据库服务的。这里出现警告就是说明postgresql数据库服务还没有开启。

我们先检查一下当前的状态

17.png

可以很明显的看到该服务确实是没有开启的,随后开启即可

18.png

开启了postgresql数据库服务之后再去打开msf就不会出现刚才的问题了

19.png

打开msf之后,可以用show exploits 显示所有的攻击模块。

20.png

用show auxiliary 显示所有的辅助模块

21.png

search命令可以用来检索所需要的模块的一些信息

search <关键词> 检索所需要的模块

search <关键词> type:exploit 检索所需要的攻击模块

search <关键词> type:auxiliary 检索所需要的辅助模块

22.png

当确定好了需要使用的模块之后用

use <模块名称> 使用该模块(攻击模块或辅助模块)

来选择并使用该模块

23.png

  看到这里应该对metasploit渗透测试框架平台有了一个基本的认识。在随后的学习中,我们会更加了解如何使用msf来进行更加自动化、更加简单的渗透测试。

原文地址:https://www.cnblogs.com/wxsheng/p/13584884.html