- Metasploit 教程
- Metasploit - 主页
- Metasploit - 简介
- Metasploit - 环境设置
- Metasploit - 基本命令
- Metasploit - Armitage GUI
- Metasploit - 专业控制台
- Metasploit - 易受攻击的目标
- Metasploit - 发现扫描
- Metasploit - 任务链
- Metasploit - 导入数据
- Metasploit - 漏洞扫描
- Metasploit - 漏洞验证
- Metasploit - 漏洞利用
- Metasploit - 有效负载
- Metasploit - 凭证
- Metasploit - 暴力攻击
- Metasploit - 旋转
- Metasploit - 维护访问权限
- Metasploit - 元模块
- Metasploit - 社会工程
- Metasploit - 导出数据
- Metasploit - 报告
- Metasploit 有用资源
- Metasploit - 快速指南
- Metasploit - 有用的资源
- Metasploit - 讨论
Metasploit - 快速指南
Metasploit - 简介
Metasploit 是用于渗透测试的最强大的工具之一。其大部分资源可以在www.metasploit.com上找到。它有两个版本:商业版和免费版。这两个版本没有重大差异,因此在本教程中,我们将主要使用 Metasploit 的社区版本(免费)。
作为一名道德黑客,您将使用“Kali Distribution”,其中嵌入了 Metasploit 社区版本以及其他道德黑客工具。但如果您想将 Metasploit 作为单独的工具安装,则可以在 Linux、Windows 或 Mac OS X 上运行的系统上轻松执行此操作。
安装 Metasploit 的硬件要求是 -
- 2 GHz + 处理器
- 1 GB 可用内存
- 1 GB + 可用磁盘空间
Matasploit 可以与命令提示符或 Web UI 一起使用。
Metasploit 的推荐操作系统版本是 -
- Kali Linux 2.0 或更高版本
- Backtrack 3 及更高版本
- 红帽企业 Linux 服务器 5.10+
- 红帽企业 Linux 服务器 6.5+
- 红帽企业 Linux 服务器 7.1+
- Ubuntu Linux 10.04 LTS
- Ubuntu Linux 12.04 LTS
- Ubuntu Linux 14.04 LTS
- Windows Server 2008 R2
- Windows Server 2012 R2
- Windows 7的
- Windows8.1
Metasploit - 环境设置
我们将采取以下措施来设置我们的测试环境 -
我们将下载 Virtual box 并安装它。
下载并安装Kali发行版。
下载并安装Metasploitable,它将成为我们的黑客机器。
下载并安装Windows XP,这将是另一个黑客机器。
总共,我们将有 3 台机器,它们将逻辑连接在同一网络中。
安装虚拟盒
要下载 Virtual Box,请访问www.virtualbox.org/wiki/Downloads
根据您的操作系统和系统的硬件配置选择适当的版本。
选择适当的 Virtual Box 版本后,将出现以下屏幕。单击“下一步”。
在下一个屏幕上,设置要安装应用程序的位置。
在继续安装之前,您将收到一条警告消息。
在上面的屏幕上单击“是”,将显示以下屏幕。单击安装开始安装。
安装完成后,您将看到以下屏幕。单击“完成”退出安装向导。
现在,您将看到 VirtualBox 的打开屏幕。
现在我们准备安装本教程的其余主机。
安装 Kali Linux
您可以从其官方网站下载 Kali Linux - www.kali.org/downloads/
访问官方网站并下载预构建的 Kali Linux VirtualBox 镜像。
接下来,打开 VirtualBox Manager 并转到“机器”→“新建”。
进入 Kali Linux 的下载位置并选择一个虚拟硬盘文件。
下一个屏幕将提示您创建虚拟机。单击“创建”按钮,如下图所示。
现在,您可以启动 Kali 操作系统了。您的默认用户名将是root,您的密码将是toor。
Metasploit - 基本命令
在本章中,我们将讨论 Metasploit 中经常使用的一些基本命令。
首先,在 Kali 中打开 Metasploit 控制台。您可以按照以下路径执行此操作:应用程序 → 漏洞利用工具 → Metasploit。
打开 Metasploit 控制台后,您将看到以下屏幕。红色下划线突出显示的是 Metasploit 的版本。
帮助命令
如果您在控制台上输入帮助命令,它将显示 Metasploit 中的核心命令列表及其描述。
msfupdate 命令
msfupdate是一个重要的管理命令。它用于使用最新的漏洞利用来更新 Metasploit。运行此命令后,您将需要等待几分钟才能完成更新。
搜索命令
搜索是 Metasploit 中的一个强大命令,您可以使用它来查找您想要查找的内容。例如,如果您想查找与 Microsoft 相关的漏洞,那么命令将是 -
msf >search name:Microsoft type:exploit
这里,search是命令,name是您要查找的对象的名称,type是您要搜索的脚本类型。
信息命令
info命令提供有关模块或平台的信息,例如使用位置、作者是谁、漏洞参考及其有效负载限制。
Metasploit - Armitage GUI
在本章中,我们将了解如何使用Metasploit 的Armitage GUI。Armitage 是 Metasploit 的补充工具。它可视化目标、推荐漏洞利用并公开高级的漏洞利用后功能。Armitage 已与 Kali 发行版合并。如果您需要进行渗透测试,那么您将必须同时使用这两个工具。
让我们学习如何使用 Armitage GUI。首先,打开 Metasploit 控制台并转到应用程序 → 漏洞利用工具 → Armitage。
在下一个屏幕上输入所需的详细信息,然后单击“连接”。
接下来,您将看到以下屏幕。
Armitage 非常用户友好。它的 GUI 具有三个不同的区域:Targets、Console和Modules。
目标区域列出了您已发现和正在使用的所有计算机。被黑的目标呈红色,上面有雷雨。破解目标后,您可以右键单击它并继续探索您需要执行的操作,例如探索(浏览)文件夹。
控制台区域提供文件夹视图。只需单击它,您就可以直接导航到文件夹,而无需使用任何 Metasploit 命令。
模块区域是列出漏洞模块的部分。
Metasploit - 专业控制台
Pro Console 是 Metasploit 的商业控制台版本。它适用于 Linux、Microsoft 操作系统和 OSX。Metasploit Pro 可以帮助渗透测试人员:
利用 Metasploit 开源项目及其领先的漏洞利用库
管理大型评估中的数据
控制受感染的机器并接管网络
自动生成包含关键发现的报告
通过优先考虑可利用的漏洞来提高安全性
向审计师证明补救措施或补偿控制措施的有效性
通过与 Rapid7 UserInsight 集成,全面了解用户风险
测试安全控制的有效性
为数千名用户模拟网络钓鱼活动
Metasploit Pro 提供命令提示符和 WEB UI。
要使用 Metasploit Pro,您需要从 Rapid7 购买它并将其安装在您的系统上。在 Windows 环境中,要启动 Metasploit Pro,请转到:开始 → 所有程序 → Metasploit → Metasploit 控制台。
如果您在 Linux 环境中工作,请打开命令行终端并输入sudo msfpro。
Metasploit - 易受攻击的目标
易受攻击的目标是具有未修补的安全漏洞的机器或设备。它使主机容易受到攻击,这就是本例中的目标。
为了测试目的,Rapid7 创建了一个存在大量漏洞的虚拟机。请记住,未经许可您不得侵入任何设备。因此,您需要下载Metasploitable,它是一台 Linux 机器。
Metasploitable 可以从www.information.rapid7.com/下载
填写表格进行自我注册。接下来,您将看到以下屏幕,其中包含下载 Metasploitable 的直接链接。
接下来,打开 VirtualBox Manager 并转到 Machine → New。
单击“使用现有虚拟硬盘文件”并浏览至您下载 Metasploitable 的位置。单击“打开”。
在下一个屏幕上,单击“创建”。
现在,您可以使用默认用户名: msfadmin和密码:msfadmin登录 Metasploitable 。
Metasploit - 发现扫描
渗透的第一阶段涉及扫描网络或主机以收集信息并创建目标机器的概述。
发现扫描基本上是在目标网络中创建 IP 列表,发现计算机上运行的服务。为了在 Metasploit 中执行此操作,我们将使用命令提示符,它是 Metasploit 中合并的 NMAP 命令。有关 NMAP 及其命令的更多信息,请访问https://nmap.org/
现在让我们在实践中看看它到底是如何工作的。我们启动了目标机器(Metasploitable)和 IP 为192.168.1.101的 Windows Server 2003 机器。
接下来,我们将启动 Metasploit。在这里,我们使用 Kali Linux。因此,命令将始终以nmap开头。
让我们开始扫描范围 192.168.0.0/24 的网络并发现机器。
从上面的截图可以看出,网络中有 5 台主机,详细信息如下。现在我们找到了存活的主机,我们将尝试找到它们正在运行的操作系统及其后台服务。
我们将尝试使用 IP 192.168.1.101 来攻击易受攻击的机器。为此,我们将运行以下命令 -
Nmap –sV-O –T4 192.168.1.101这里,
– sV参数将检测服务及其版本详细信息。
-O是检测操作系统的版本,在我们的例子中是 Linux 2.6.X
– T4是我们让扫描完成的时间
使用上述命令的输出将显示以下屏幕。
Metasploit - 任务链
任务链是 Metasploit Pro 版本中的一项功能,可以帮助我们安排任务并执行它们。一般用于周期性运行的进程,例如网络扫描。
要配置任务,请转到“任务”→“链”→“新建任务链”。
提供任务链的名称。
接下来,单击“+”号,如下面的屏幕截图所示。
从列表中选择您要选择的任务。让我们选择扫描。
接下来,将出现配置任务设置,如下所示。
让我们向任务链添加一个任务,这是服务器在完成第一个任务后必须执行的功能。要安排任务,请单击“立即安排”图标。
将显示下表,您可以在其中选择运行任务的频率。
最后,单击“保存”按钮来安排任务链。
Metasploit - 导入数据
Metasploit 是一个强大的安全框架,允许您从其他第三方工具导入扫描结果。您可以导入之前创建的 XML 格式的 NMAP 扫描结果。Metasploit 还允许您从Nessus(漏洞扫描器)导入扫描结果。
让我们看看它是如何工作的。首先,执行 NMAP 扫描并将结果以 XML 格式保存在桌面上,如下图所示。
接下来,打开 Metasploit 或 Armitage 导入扫描结果。此后,使用以下命令导入所有主机。
Msf > db_import "path of xml file"
以下屏幕截图显示了输出的样子。
为了测试导入文件是否正确,我们可以在这两台主机上运行特定的命令,看看它们如何响应。例如,在我们的示例中,我们列出了运行端口 445 的所有主机。
Metasploit - 漏洞扫描
漏洞是一种系统漏洞,人们可以利用它来获得对敏感数据的未经授权的访问或注入恶意代码。Metasploit 与所有其他安全应用程序一样,有一个漏洞扫描器,可在其商业版本中使用。
借助漏洞扫描器,您可以使用一个应用程序完成几乎所有工作。免费版本的 Metasploit 中不存在此功能。如果您使用免费版本的 Metasploit,则必须使用 Nessus 漏洞扫描程序,然后从那里导入结果。Metasploit 使用Nexpose进行扫描。
让我们看看如何在 Metasploit Pro 版本中使用 Nexpose 进行扫描。
首先,将 Nexpose 控制台添加到 Metasploit WEB UI。为此,请转至:管理 → 全局设置 → Nexpose 控制台 → 配置 Nexpose 控制台。
输入安装了 Nexpose 的服务器的 IP。接下来,输入端口号、用户名和密码。选择启用。
接下来,单击Netexpose按钮→添加要扫描的主机或网络的IP地址→选择扫描模板。它将启动扫描过程。
要查看扫描结果,请转至分析 → 主机。
Metasploit - 漏洞验证
在本章中,我们将学习如何验证从 Nexpose 等漏洞扫描程序中发现的漏洞。此过程也称为漏洞分析。
如下面的屏幕截图所示,漏洞扫描器有时会为您提供数百个漏洞。在这种情况下,验证每个漏洞可能会非常耗时。
Metasploit Pro 具有一项称为漏洞验证的功能,可通过自动验证漏洞来帮助您节省时间,并为您提供可能对您的系统造成极大危害的最关键漏洞的概述。它还可以选择根据漏洞的严重性对其进行分类。
让我们看看如何使用此选项。打开 Metasploit Pro Web 控制台 → 项目 → 漏洞验证。
接下来,输入项目名称并提供有关该项目的简单描述。然后,单击“开始”按钮。
单击“从 Nexpose 拉取”。选择“导入现有的 Nexpose 漏洞数据”,如下图所示。
单击“标记”→“按操作系统自动标记”。它将为您隔离漏洞。
接下来,转到漏洞利用 → 会话并选中“完成后清理会话”选项。这意味着当漏洞被检查时,Metasploit 机器和存在漏洞的机器之间将会发生交互。
单击“生成报告”→“开始”。
接下来,您将看到一个验证向导。在这里,您需要单击推送验证按钮。
测试完所有漏洞列表后,您将看到以下屏幕。
要查看已测试漏洞的结果,请转到主页→项目名称→漏洞。
Metasploit - 漏洞利用
在漏洞扫描和漏洞验证之后,我们必须运行并测试一些脚本(称为漏洞利用),以便获得对计算机的访问权限并执行我们计划执行的操作。
使用 Armitage GUI 进行利用
我们有几种利用漏洞的方法。第一个也是最重要的方法是使用 Armitage GUI,它将与 Metasploit 连接来执行称为“HAIL MARY”的自动化漏洞测试。让我们看看它是如何工作的。
打开 Kali 发行版 → 应用程序 → 漏洞利用工具 → Armitage。
接下来,转到“攻击”→“万福玛丽”并单击“是”。
您将看到以下屏幕,其中显示正在测试的所有漏洞。
接下来,您将看到可利用系统(即,利用漏洞的系统)的图标将变为红色,并带有雷暴图案。在控制台上,您将看到哪个漏洞利用成功,及其各自的会话 ID。
现在您可以与机器交互。
使用命令提示符进行漏洞利用
使用漏洞的第二种方法(可能有点专业)是通过命令提示符。
从漏洞扫描程序中,我们发现用于测试的 Linux 机器容易受到 FTP 服务的攻击。现在我们将使用一个对我们有用的漏洞。命令是 -
msf > use “exploit path”
接下来,使用以下命令查看必须设置哪些参数才能使其正常运行。
msf > show options
此漏洞表明我们必须设置 RHOST“目标 IP”
接下来,使用命令 -
msf > set RHOST 192.168.1.101 msf > set RPORT 21
接下来,使用命令 -
msf > run
如果利用成功,您将看到一个会话打开,如以下屏幕截图所示。
现在,您可以与该系统进行交互。
Metasploit - 有效负载
简而言之,有效负载是黑客用来与被黑系统交互的简单脚本。使用有效负载,他们可以将数据传输到受害者系统。
Metasploit 有效负载可以分为三种类型 -
单打- 单打非常小,旨在建立某种沟通,然后进入下一阶段。例如,只需创建一个用户。
Staged - 这是攻击者可以用来将更大的文件上传到受害者系统的有效负载。
Stages - Stages 是由 Stagers 模块下载的有效负载组件。各种有效负载阶段提供没有大小限制的高级功能,例如 Meterpreter 和 VNC 注入。
例子
我们通过一个例子来了解Metasploit负载的使用。假设我们有一台 Windows Server 2003 计算机,该计算机容易受到 DCOM MS03-026 的攻击。
首先,我们将寻找可以利用此漏洞的漏洞。我们将使用具有最佳RANK 的漏洞利用。
接下来,我们将使用以下命令来查看可以在此漏洞利用中使用哪些有效负载。
msf > show payloads
看看我可以使用有效负载来帮助我上传/执行文件,使受害者作为 VNC 服务器来查看。
上面的命令将显示有效负载,帮助我们将文件上传/执行到受害者系统上。
要设置我们想要的有效负载,我们将使用以下命令 -
set PAYLOAD payload/path
设置监听主机和监听端口(LHOST、LPORT),即攻击者的IP和端口。然后设置远程主机和端口(RPORT,LHOST),即受害者的IP和端口。
输入“利用”。它将创建一个会话,如下所示 -
现在我们可以根据该有效负载提供的设置来操作机器。
Metasploit - 凭证
获得计算机的访问权限后,获取所有敏感信息(例如用户名和密码)非常重要。您也可以出于审核目的执行此操作,以分析组织中的系统是否使用强密码。
在 Windows 中,密码以加密形式存储,称为NTLM 哈希。在 Windows 操作系统中,您应该始终查找编号为 500 的用户,这表示该用户是超级用户。
在 Metasploit 的免费版本中,哈希凭证必须保存在文本文件或 Metasploit 数据库中。
例子
让我们使用上一章中使用过的场景。假设我们有一台 Windows Server 2003 计算机,该计算机容易受到 DCOM MS03-026 的攻击。我们获得了该系统的访问权限并插入了meterpreter有效负载。
meterpreter中常用的命令是hashdump,它会列出所有用户名和密码。
您还可以使用Armitage来检索此信息,如以下屏幕截图所示。
商业版 Metasploit 有一个名为Credential的单独会话,它允许收集、存储和重用凭证。让我们看看如何去做。
要收集敏感数据,请首先转到:主页→项目名称→会话。
单击活动会话。
接下来,单击收集系统数据。它将收集所有哈希值和密码。
您将看到如下屏幕 -
要查看收集的凭据,请转到主页 → 项目名称 → 凭据 → 管理。
如下图所示,您将看到所有获得的密码以及可能被破解的密码。
Metasploit - 暴力攻击
在暴力攻击中,黑客以自动方式使用字母、数字、特殊字符以及小写字母和大写字母的所有可能组合来获取对主机或服务的访问权限。这种类型的攻击成功的可能性很高,但需要大量的时间来处理所有组合。
暴力攻击的速度很慢,黑客可能需要具有高处理能力的系统才能更快地执行所有这些排列和组合。在本章中,我们将讨论如何使用 Metasploit 执行暴力攻击。
使用 NMAP 扫描 Metasploitable 机器后,我们知道上面正在运行哪些服务。这些服务包括 FTP、SSH、mysql、http 和 Telnet。
为了对这些服务进行暴力攻击,我们将使用每个服务的辅助工具。辅助程序是 Metasploit 中使用的小脚本,不会在受害计算机中创建 shell;如果暴力攻击成功,它们只会提供对机器的访问权限。让我们看看如何使用辅助工具。
在这里,我们在 Kali 分发机的根目录下创建了一个字典列表。
攻击FTP服务
打开 Metasploit。我们将尝试攻击的第一个服务是 FTP,而帮助我们实现此目的的辅助服务是secondary/scanner/ftp/ftp_login。
输入以下命令来使用此辅助 -
msf > use auxiliary/scanner/ftp/ftp_login
设置包含我们的字典的文件的路径。
设置受害者IP并运行。
它将产生以下输出 -
可以看到,已经完成了,但是还没有创建会话。这意味着我们未能成功检索任何有用的用户名和密码。
攻击 SSH 服务
要攻击SSH服务,我们可以使用辅助:auxiliary/scanner/ssh/ssh_login
正如您在下面的屏幕截图中看到的,我们已将 RHOSTS 设置为 192.168.1.101(即受害者 IP)以及用户名列表和密码(即 userpass.txt)。然后我们应用运行命令。
从上面的屏幕截图中可以看出,创建了三个会话。这意味着三个组合都成功了。我们已经在用户名下划线了。
要与三个会话之一进行交互,我们使用命令msf >sessions –i 3,这意味着我们将与会话号 3 进行连接。
攻击 Telnet 服务
在对 Telnet 服务进行暴力攻击时,我们将获取一组提供的凭据和一系列 IP 地址,并尝试登录到任何 Telnet 服务器。为此,我们将使用辅助:auxiliary/scanner/telnet/telnet_login。
使用辅助程序的过程与攻击FTP服务或SSH服务的过程相同。我们必须使用辅助工具,设置 RHOST,然后设置密码列表并运行它。
看看下面的截图。蓝色箭头突出显示的是辅助人员所做的错误尝试。红色箭头显示创建会话的成功登录。
您可以在暴力攻击中应用的其他一些辅助工具是 -
SMB 服务- 辅助/扫描仪/smb/smb_login
SNMP 服务- 辅助/扫描仪/snmp/snmp_login
Metasploit - 旋转
数据透视是 Metasploit 用来将流量从被黑客攻击的计算机路由到黑客计算机无法访问的其他网络的技术。
让我们通过一个场景来了解透视的工作原理。假设我们有两个网络 -
黑客机器可以访问范围为 192.168.1.0/24 的网络,以及
范围为 10.10.10.0/24 的另一个网络。这是一个内部网络,黑客无法访问它。
黑客将尝试破解该机器的第二个网络,该机器可以访问两个网络,以利用和破解其他内部机器。
在这种情况下,黑客将首先闯入第一个网络,然后将其用作攻击和攻击第二个网络的内部计算机的中转点。此过程称为枢转,因为黑客使用第一个网络作为枢轴来访问第二个网络。
让我们尝试了解它是如何工作的。我们将采用一个带有DCOM漏洞的Windows Server 2003系统,我们将利用这个漏洞来攻击这个系统。
此漏洞的利用将是ms03_026_dcom,我们将使用meterpreter负载。
现在我们已经获得了对该系统的访问权限,让我们使用命令session -i 1与会话进行交互,其中“1”是创建的会话的编号。
现在,让我们使用命令ipconfig来查明该主机是否可以访问其他网络。以下屏幕截图显示了输出。您可以观察到该主机与其他两个网络连接 -
- 一个是无用的环回网络,并且
- 另一个网络是 10.10.10.0/24,我们将对其进行探索。
Metasploit 有一个 AutoRoute meterpreter 脚本,它允许我们通过第一台受感染的计算机攻击第二个网络,但首先,我们必须将会话置于后台。
添加通往内部网络的路由,范围为 10.10.10.0/24
现在我们已经路由了流量(枢轴),我们可以尝试扫描在此网络中找到的主机。
我们对主机 10.10.10.102 进行了端口扫描。以下屏幕截图显示了结果。
现在我们已经获得了内网的访问权限。但是,如果您丢失了被黑机器的会话,您也将无法访问内部网络。
Metasploit - 维护访问权限
在本章中,我们将讨论如何在我们已获得访问权限的系统中维护访问权限。这很重要,因为如果我们不保持访问权限,那么我们将不得不从一开始就尝试利用它,以防被黑客攻击的系统被关闭或修补。
最好的办法就是安装后门。对于我们在上一章中利用的被黑机器 Windows Server 2003,我们设置了meterpreter的有效负载,该有效负载有一个名为metsvc的后门选项。我们可以随时使用此后门选项来访问受害计算机,但此后门存在一个风险,即每个人都可以在未经身份验证的情况下连接到此会话。
让我们详细了解它在实践中是如何运作的。我们正处于利用 Windows Server 2003 机器并且设置了meterpreter负载的阶段。现在我们想要查看本机上运行的进程并将我们的进程隐藏在真实进程后面。
在 meterpreter 会话中输入“ps”以查看受害者进程。
我们喜欢将进程隐藏在explorer.exe后面,因为它是一个在启动时运行的进程,并且始终存在。为此,请使用命令:“迁移 PID 号”,如以下屏幕截图所示。
要安装后门,请输入run metsvc。运行时,您将看到创建的端口以及上传文件的目录。
为了连接这个后门,我们需要multi/handler,其有效负载为windows/metsvc_bind_tcp。
Metasploit - 权限提升
在我们利用并获得对受害者系统的访问权限后,下一步就是获取其管理员权限或 root 权限。一旦我们获得了这个权限,那么安装、删除或编辑任何文件或进程就变得非常简单。
让我们继续同样的场景,我们已经侵入了 Windows Server 2003 系统并放置了有效负载meterpreter。
Meterpreter 使用“getsystem”命令来升级权限。但首先,我们必须使用“priv”命令来准备被黑客入侵的系统以进行权限升级。
接下来,运行“getsystem”命令。
正如你所看到的,我们实际上已经以管理员身份登录了。
Metasploit - 元模块
元模块是复杂且自动化的安全任务,旨在帮助安全部门更有效地完成工作,例如测试打开和关闭的防火墙端口、测试默认凭据等。
MetaModules 是 Metasploit Pro(商业版本)中引入的新功能。您应该记住,具有最佳星级评级的元模块将为您提供最佳结果。
要打开 MetaModules,请转到主页 → 项目名称 → 模块 → MetaModules。
正如您所看到的,我们有六个元模块来满足不同的需求。
分段和防火墙测试
此 MetaModule 对 Rapid7 托管的外部服务器运行完整的 Nmap SYN 扫描,该服务器充当出口扫描目标。使用此元模块可以发现防火墙上攻击者可用来过滤信息的出站端口。您需要指定要审核的端口和协议。
要运行此元模块,请单击启动按钮并按照其中的说明进行操作。它将向您显示打开、关闭和过滤端口的报告,如下面的屏幕截图所示。
凭证多米诺骨牌
此元模块使用有效登录或活动会话来执行迭代凭据攻击,从受感染的主机收集凭据。它重用收集的凭据来识别其他可能的攻击路线。此元模块将一直运行,直到尝试所有凭据或达到终止条件。
要运行此元模块,请单击打开屏幕上的“启动”按钮。它将生成以下屏幕截图,其中您必须选择要测试的主机 IP 和登录凭据。
如果您输入的凭据正确,则会产生以下结果。
SSH 密钥测试
此元模块尝试使用恢复的 SSH 密钥登录系统。它记录每个服务的成功和失败结果。您需要指定用户名、SSH 密钥文件名以及所需的主机范围。
要运行此元模块,请单击打开屏幕上的启动。它将显示以下屏幕。
输入凭据并单击启动按钮。
被动网络发现
该元模块旨在嗅探流量以发现本地网络上的主机和服务。由于它不发送任何数据包,因此您可以运行此应用程序来进行秘密网络发现扫描并识别任何主机、服务和明文凭据。
要运行此元模块,请单击打开屏幕上的“启动”按钮。它将显示以下屏幕。
选择网络接口(通常会自动发现)。单击“过滤器”。此后,检查您要监控的所有协议。在本例中,我们仅检查 HTTP。
您将看到以下屏幕,其中包含捕获的数据和数据包。如果找到任何 IP 或凭据,也会显示出来。
Metasploit - 社会工程
社会工程可以广义地定义为通过欺骗手段提取敏感信息(例如用户名和密码)的过程。黑客有时会使用虚假网站和网络钓鱼攻击来达到此目的。让我们尝试通过一些例子来理解社会工程攻击的概念。
实施例1
您一定注意到旧的公司文件被当作垃圾扔进垃圾箱。这些文件可能包含敏感信息,例如姓名、电话号码、帐号、社会安全号码、地址等。许多公司仍然在传真机中使用复写纸,一旦用完,其复写纸就会进入垃圾箱,可能会留下痕迹敏感数据。虽然这听起来不太可能,但攻击者可以通过窃取垃圾轻松地从公司垃圾箱中检索信息。
实施例2
攻击者可能会与公司人员成为朋友,并在一段时间内与他建立良好的关系。这种关系可以通过社交网络、聊天室在线建立,也可以在咖啡桌、游乐场或任何其他方式离线建立。攻击者对办公室人员进行保密,最终在没有给出任何线索的情况下挖出了所需的敏感信息。
实施例3
社会工程师可以通过伪造身份证或简单地让员工相信他在公司中的职位来冒充员工、有效用户或 VIP。这样的攻击者可以获得对受限区域的物理访问,从而提供进一步的攻击机会。
实施例4
在大多数情况下,攻击者可能就在您周围,并且可以在您输入用户 ID 和密码、帐户 PIN 等敏感信息时进行肩窥。
Metasploit 中的社会工程攻击
在本节中,我们将讨论如何使用 Metasploit 发起社会工程攻击。
首先,进入Metasploit主页,点击“钓鱼活动”,如下图所示。
输入项目名称,然后单击“下一步”。
输入活动的名称。在我们的例子中,它是Lab。接下来,单击“营销活动组件”下的“电子邮件”图标。
在下一个屏幕上,您需要根据您的活动提供所需的数据。
接下来,如果您想要更改电子邮件内容中的任何内容,请单击“内容”图标(数字 2)。更改内容后,点击保存。
接下来,单击“登陆页面”图标以设置要将受骗用户重定向到的 URL。
如下图所示,在Path处输入 URL ,然后单击Next。
在下一个屏幕上,单击“克隆网站”按钮,这将打开另一个窗口。在这里,您需要输入您要克隆的网站。正如您在下面的屏幕截图中看到的,我们在此字段中输入了tutorialpoint.com 。接下来,单击克隆按钮并保存更改。
接下来,单击重定向页面按钮。
单击下一步,您将看到以下屏幕。
您可以单击“克隆网站”按钮再次克隆重定向的网站。
接下来,在“服务器配置”部分中,单击“电子邮件服务器”按钮。
在下一个屏幕上,输入将用作发送此网络钓鱼电子邮件的中继的邮件服务器设置。然后,单击“保存”。
在“通知”部分,有一个选项可以在启动活动之前通知其他人。您可以选择使用此选项来通知其他人。然后,单击“保存”。
接下来,您将看到一个新窗口。在这里,您需要单击“开始”按钮来启动发送网络钓鱼邮件的过程。
Metasploit 可以选择生成网络钓鱼活动的统计报告。它将显示如以下屏幕截图所示。
Metasploit - 导出数据
在本章中,我们将了解如何导出数据,这在某种程度上是项目的备份。稍后,您可以将此备份导入到另一个 Metasploit 项目中。
Metasploit 的免费版本和商业版本均提供“导出数据”功能。
如果您想从 Metasploit Pro 导出数据,那么它将在“/path/to/Metasploit/apps/pro/exports”位置存储文件的副本。
存储在此目录中的文件将与 Web 界面中显示的导出列表相匹配。您可以在以下目录中找到并查看导出日志:“/path/to/Metasploit/apps/pro/ui/log”。导出日志名为“exports.log”。
要清除导出日志,您需要将其从位于“/path/to/Metasploit/apps/pro/ui/log”的日志目录中删除。
在 Metasploit Pro 中导出数据
要导出数据,请转到主页 → 项目名称 → 导出 → 导出数据。
在下一个屏幕上,您可以选择要存储导出数据的文件格式。
PWDump - 一个文本文件,包含项目的所有凭据,包括纯文本密码、SMB 哈希值和 SSH 密钥。可以屏蔽凭证以仅枚举用户名。
重播脚本- 重新运行在目标主机上打开会话的任务的批处理文件。重播脚本由多个资源文件 (.rc) 组成。
XML - 一个 XML 文件,包含项目中大多数对象的属性,可以导入到另一个项目中。
ZIP Workplace - 包含 XML 导出和任何战利品文件、报告文件和任务日志的 zip。
在导出类型中,输入导出数据的文件名。接下来,在地址设置中,输入主机的 IP。
接下来,在“选项”部分中,您可以通过单击复选框“掩码凭据”来选择隐藏您的凭据。然后,单击“导出数据”按钮。
将显示以下屏幕,您可以在其中查看导出的文件。
单击“下载”以检索导出的文件。
Metasploit - 报告
Metasploit 具有内置选项,您可以使用它们生成报告来总结您的所有活动和发现。在本章中,我们将讨论如何在 Metasploit 中生成报告。
要在 Metasploit 中创建报告,请按照以下步骤操作 -
步骤 1 - 转到主页 → 报告 → 新报告。
步骤 2 - 根据您的需要选择报告类型。如果您点击“?” 图标,它将向您显示每种类型报告的信息。
步骤 3 - 在名称字段中,提供文件名。
步骤 4 - 在“部分”字段中,根据您的要求检查选项。
步骤 5 - 同样,在“选项”字段中,根据您的要求检查选项。
步骤 6 - 在“电子邮件报告”部分中,您可以输入要直接向其邮寄报告的收件人的电子邮件 ID。
步骤 7 - 接下来,单击“生成报告”按钮。
您的报告现已生成。接下来,对于您的所有报告,请转到“报告”→“显示报告”。
您可以通过单击“操作”下的“查看”来查看报告。