0%

Metasploit介绍

各个版本介绍

描述 Metasploit Framework Metasploit Community Metasploit Express Metasploit Pro
Pricing
License 无IP限制 Free Free 收费 收费
用户界面
Web界面 提供友好的web界面,大大提高效率,减少对技术培训的依赖 N Y Y Y
命令行界面 .命令行界面 Y N N Y
专业控制台 高级命令行功能,通过专业控制台可以使用新的更高一级的命令,更好的管理数据,整体提高效率。 N N N Y
渗透测试
全面的exp覆盖 Metasploit拥有世界上最大的高质量公开攻击库 Y Y Y Y
手工渗透 针对一台主机发动一个单一攻击 Y Y Y Y
基本渗透 针对任意数量的主机发动一个单一攻击 N Y Y Y
智能渗透 自动选择所有匹配的exp,进行最安全可靠的攻击测试。支持dry-run模式在发动攻击前可以清楚哪些exp会运行。 N N Y Y
渗透链 自动组织攻击和辅助模块,例如针对思科路由器 N N N Y
证据收集 一键收集攻陷主机的证据,包括截屏、密码、哈希值、系统信息等等 N N Y Y
后渗透 .成功攻陷一台主机后自动发动定制的后渗透模块 N N N Y
会话保持 连接断开后可以自动生重新连接,例如一个被钓鱼的用户关闭了自己的笔记本电脑,重新开机后会自动建立连接 N N N Y
密码暴力猜测 快捷试验最常用的或之前捕获到的密码。如果是弱密码或pass-the-hash攻击方式,哈希值可以被自动破解。 N N Y Y
社会工程学 模拟钓鱼攻击。创建带有恶意文件的U盘来攻击一台机器。 N N N Y
Web应用测试 扫描、审计和攻击Web应用的漏洞,如OWASP Top10。 N N N Y
IDS/IPS 绕过 绕过IDS/IPS的检测 N N N Y
免杀 使用动态载荷绕过反病毒系统,不需要浪费时间自己编写动态载荷 N N N Y
载荷生成器 通过快捷界面生成独立的优秀载荷 N N N Y
代理跳板 通过一个攻陷的主机针对另一外目标发动一个攻击 Y Y Y Y
VPN跳板 通过一台被攻陷的主机建立一个2层的网络连接通道,使您可以使用基于网络的工具,例如漏洞扫描器来得到更多的信息,以供进一步再使用更高级的技术 N N N Y
报表
基本报表 生成基本的渗透测试报表,包括审计报告和被攻陷主机报告 N N Y Y
高级报表 生成各种报表包括Web应用测试报表、社会工程学模拟报表以及种种合规报表如PCI N N N Y
效率增强
快速开始向导 执行基线渗透测试找到容易的目标、Web应用测试或模拟钓鱼攻击。通过向导可以快速入门并在向导完成后有更入的了解 N N N Y
MetaModules MetaModules 可 以为IT安全专家简化实施安全测试。许多安全测试技术要么基于繁琐的工具要么需要定制开发,需要花费大量的时间。为了加快这样的测 试,MetaModules 把常见但复杂的安全测试自动化,从而给人力不足的安全部门提供一个更有效的办法来完成工作。 MetaModules 包括网络分段操作和防火墙测试、被动网络发现、凭证测试和入侵等。 N N N Y
发现式扫描 利用集成的NMAP扫描器配合高级指纹技术描绘出整个网络,并识别网络中的设备 N Y Y Y
脚本重放 生成脚本再现攻击,从而可以测试补救工作是否有效 N N Y Y
数据管理 在可检索的数据库中跟踪所有被发现的数据。在分组视图中找出异常值。 N Y Y Y
标记 通过标记主机可以把主机分配给某人、标记为一个导入源、标记项目范围、或标记高价值目标。今后可以通过标记找到对应的主机。 N N N Y
任务链 创建定制的工作流 N N N Y
专业API 使用高级的完全文件化的API可以把Metasploit Pro集成到SIEM和GRC系统中或实现定制自动化和集成 N N N Y
集成 开箱即用的SIEM和GRC集成 N N N Y
团队协作 和多个队员共同协作同一个项目,分割工作量,利用不同层次的专家经验。共享所有信息燕生成一个统一报告 。 N N N Y
Security Programs
闭环风险验证 验证漏洞和错误配置,从而可以对风险进行等级划分,并且可以把结果推回到Nexpose N N N Y
模拟钓鱼攻击 发送模拟钓鱼邮件来衡量用户的安全意识,包括多少人点击了邮件中的链接或在一个伪造的登录页面输入了登录凭证,并可以对具有危险行为的用户进行培训 N N N Y
漏洞验证
漏洞导入 从Nexpose和第三方漏洞扫描系统中导入输出文件 Y Y Y Y
Web漏洞导入 从各种第三方Web应用扫描器中改入输出文件 N N Y Y
Nexpose扫描 在界面上直接启动一个Nexpose扫描。结果自动导入到Metasploit N Y Y Y
直接导入 把现有的nexpose扫描结果直接导入 N N N Y
漏洞例外 验证后把漏洞例外推回到Nexpose,包括评论和例外时限。 N N Y Y
闭环集成 标记并推送可以攻击的漏洞到Nexpose N N N Y
re-run Session 重新运行一次攻击来验证一项补救措施的效果,例如补丁是否起作用 N N Y Y
支持
社区支持 在Rapid7社区中得到支持 Y Y Y Y
Rapid7 支持 7X24小时电子邮件和电话支持 N N Y Y

启动Metasploit

安装好kali系统后,可以参考我这篇文章介绍了如何在虚拟机中装kali,当前kali版本为:

1
2
uname -a
Linux kali 5.14.0-kali4-amd64 #1 SMP Debian 5.14.16-1kali1 (2021-11-05) x86_64 GNU/Linux

kali默认装的是 Metasploit Framework

image-20220221153516843

打开后,出现下面的提示信息,默认进入的其实就是msfconsole

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[+] Starting database
[+] Creating database user 'msf'
[+] Creating databases 'msf'
[+] Creating databases 'msf_test'
[+] Creating configuration file '/usr/share/metasploit-framework/config/database.yml'
[+] Creating initial database schema
...
=[ metasploit v6.1.14-dev ]
+ -- --=[ 2180 exploits - 1155 auxiliary - 399 post ]
+ -- --=[ 592 payloads - 45 encoders - 10 nops ]
+ -- --=[ 9 evasion ]

Metasploit tip: You can use help to view all
available commands

msf6 >

  • 其中Metasploit版本为v6.1.14-dev

  • 模块种类及其个数:2180个exploits、1155个auxiliary、399个post592个payloads、45个encoders、10个nops、9个evasion

  • Metasploit 用的是ruby开发的,以后自定义一些东西也要用ruby

  • Metasploit安装的文件路径如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
──(kali㉿kali)-[/usr/share/metasploit-framework/modules]
└─$ pwd
/usr/share/metasploit-framework/modules

┌──(kali㉿kali)-[/usr/share/metasploit-framework/modules]
└─$ ll
total 28
drwxr-xr-x 22 root root 4096 Dec 20 01:18 auxiliary
drwxr-xr-x 12 root root 4096 Dec 20 01:18 encoders
drwxr-xr-x 3 root root 4096 Dec 20 01:18 evasion
drwxr-xr-x 22 root root 4096 Dec 20 01:18 exploits
drwxr-xr-x 11 root root 4096 Dec 20 01:18 nops
drwxr-xr-x 5 root root 4096 Dec 20 01:18 payloads
drwxr-xr-x 14 root root 4096 Dec 20 01:18 post

msfconsole介绍

  • Msfcli在新版本已经不支持了,用msfconsole代替
  • 它是访问Metasploit中大部分功能的唯一支持方式

模块介绍

  • 漏洞渗透模块(exploits):发现了目标的漏洞之后,在Metasploit找到相应的漏洞渗透模块,就可以对目标进行入侵

  • 攻击载荷模块(payload):可以帮助我们在目标上完成远程控制操作。通常这些模块既可以单独执行,也可以和漏洞渗透模块一起执行(前面文章介绍过远程控制操作了)

  • 辅助模块(auxiliary):进行信息收集的模块。例如一些信息侦查、网络扫描类的工具

  • 后渗透攻击模块(post):当我们成功地取得目标的控制权之后,就是这些模块大显身手的时候,它可以帮助我们提高控制权限、手机敏感信息、实施调班攻击等

  • 编码器模块(encoders):将攻击载荷进行编码(类似与加密),让避免操作系统和杀毒软件辨认出来但是会让载荷的体积变大,这个时候需要选择传输器和传输体配对成的攻击载荷来下载目标载荷并且运行。

  • 反杀毒软件木马模块(evasion):这个模块可以轻松的创建反杀毒软件的木马

关键字help

输入help可以查看Metasploit提供的命令和对应的描述。命令一共分为以下几类:

  • 核心命令:Core Commands
  • 模块命令:Module Commands
  • 任务命令:Job Commands
  • 资源命令:Resourve Script Commands
  • 数据库后台命令:Database Backend Commands
  • 登录凭证后台命令:Credentials backend Commands
  • 开发商命令:Developer Commands
    image-20220221161642849

关键字Show

查看可以使用的模块:show 模块命

image-20220221161947112

关键字search

  • Metasploit提供了大量的模块。当用户希望快速找到针对某漏洞模块时,则可以使用search命令进行搜索。搜索模块时,用户可以指定搜索类型、CVE ID、发布时间等,如search cve:2009 type:exploit。为了方便用户搜索模块,可以使用help search命令查看所有支持的过滤器。
  • CVE ,全称为通用漏洞披露
    • CVSS评分标准: 漏洞的最终得分最大为10,最小为0。得分7~10的漏洞通常被认为比较严重,得分在4~6.9之间的是中级漏洞,0~3.9的则是低级漏洞。

image-20220221162210899

更多命令的使用请参考这里