原文链接:Metasploit,第 2 部分:Metasploit模块类型 (hackers-arise.com)
在我这个Metasploit系列的第一篇文章中,我向您介绍了在使用Metasploit之前需要了解的一些关键命令。在本系列的第二篇文章中,我想向您介绍Metasploit中不同类型的模块。
当您在 msfconsole 中启动 Metasploit 时,您会看到一个类似于下面的打开初始屏幕。
请注意,在屏幕底部附近,交互式控制台以 msf > 打开,而在稍高的上方,Metasploit 按类型列出了模块的数量。Metasploit有七(7)种类型的模块。这些是;
(1) exploits
(2) payloads
(3) auxiliary
(4) encoders
(5) post
(6) nops
(7) evasion (new in Metasploit 5)
我们将检查这些类型的模块中的每一种,以便我们可以在Metasploit渗透测试/黑客攻击中更好地利用它们。
Metasploit Inner Architecture
你对Metasploit的理解越好,你就越能有效地使用它。虽然真的没有必要了解这个强大工具的内部架构来入门,但随着你的进步,这些知识将变得越来越有用。
下图直观地描述了Metasploit的架构。现在,请注意右侧的接口和底部的模块
Metasploit模块
在进入 msfconsole 之前,我们可以从 BASH shell 的命令行查看 Metasploit 的架构。让我们通过键入转到Kali中的Metasploit目录;
kali > cd /usr/share/metasploit-framework
然后,在该目录上执行长列表。
kali > ls -l
正如您在上面看到的,此目录有几个子目录,但现在让我们专注于 modules 目录。导航到它并进行长列表。
kali > cd modules
kali > ls -l
如上面的屏幕截图所示,modules目录包含六个子目录,每个子目录包含一种不同类型的模块。我们可以打开这些目录中的每一个来查找每个单独的模块类型。
Exploits
让我们从漏洞利用开始,因为它们基本上定义了这个“利用”框架。这些模块是为利用或“利用”系统中的缺陷或漏洞而开发的代码。我们可以通过导航到漏洞利用目录并对其内容进行长列表来查看Exploits。
kali > cd exploits
kali > ls -l
如上所示,这些漏洞利用程序根据其设计的目标操作系统细分为子目录。
Payloads
接下来是“payloads”。这些是我们在被利用的系统上留下的东西,使我们能够连接到或“拥有”系统。在其他可能被称为侦听器的环境中,或者在某些情况下,rootkit(rootkit 是特殊类型的有效负载。并非所有有效负载都是 Rootkit)。
让我们导航到该目录并列出其内容。
kali > cd payloads
您可以在上面看到有效载荷细分为三种类型;
(1) singles
(2) stagers
(3) stages
在本系列的下一个教程中,我将详细介绍每种类型的有效负载的差异,但现在,我们可以说 singles 是小型的独立代码,旨在执行一些操作,stagers 实现可用于提供 another payload 通信通道,该有效负载可用于控制目标系统,最后, stages是较大的有效载荷,提供对目标的控制,例如Meterpreter和VNC。我们将在Metasploit系列的第三部分中提供更多详细信息。
Auxiliary
辅助模块是提供一些不容易适应其他类别的其他功能的模块。这些包括扫描仪,模糊器,DoS等模块。这很容易成为增长最快的模块集,因为Metasploit继续扩展到一个全面的利用框架,使黑客/渗透测试者A-Z功能成为可能。
让我们导航到辅助目录并对其内容进行长列表。
kali > cd auxiliary
kali > ls -l
在这里,我们可以看到辅助模块是按其用途和目标细分的。记下analyze、scanner和 dos 目录。这些模块分别用于分析目标系统、扫描目标系统和 DoS 目标系统。
其中一些模块按其目标进行分类,例如docx,pdf和voip目录。
Encoders
encoder 模块旨在对有效负载和漏洞进行重新编码,以使其能够通过AV和IDS等安全防御系统。
让我们导航到该目录,并使用长列表查看其内容。
kali> cd encoders
kali > ls -l
编码器按CPU类型(如x64,x86,sparc,ppc和mips)以及代码类型(如cmd和php)细分。 显然,我们需要根据目标系统使用适当的编码器。
Post
Post 是post-exploitation缩写。这些是在利用系统后使用的模块。这些模块通常在系统被“拥有”并在系统上运行仪表之后使用。这些可以包括键盘记录器,权限提升,启用网络摄像头或麦克风等模块。 有关利用后的更多信息,请参阅本系列的第 15 部分。
让我们导航到post目录并对其内容进行长列表。
kali > cd post
kali > ls -l
如您所见,这些模块按目标操作系统细分。
NOPS
在机器语言中,NOP是“no operation”的缩写。这会导致系统的 CPU 在时钟周期内不执行任何操作。通常,NOP 对于在缓冲区溢出攻击后让系统运行远程代码至关重要。这些通常被称为“NOP sleds”。这些模块主要用于创建NOP sleds。
让我们导航到nops目录并对其内容进行长列表。
kali > cd nops
kali > ls -l
我们可以在上面看到它们被目标操作系统细分。