使用 Kali Linux 和 Metasploitable3 设置 Metasploit
Oracle VirtualBox 用于在兼容的 Windows PC 上托管我们的虚拟机
Vagrant 配置我们的 Metasploitable3 VM(Windows Server 2008 R2)
适用于 VirtualBox 的 Kali Linux 虚拟设备
下载并安装 VirtualBox
1.使用Windows 主机链接下载并安装最新版本的 VirtualBox
2. 安装完成后,您会在开始菜单中看到Oracle VM VirtualBox,单击它即可启动 VirtualBox 应用程序。3
. 我们还需要下载并安装Oracle VM VirtualBox 扩展包,因为它是运行 Kali Linux
运行文件时会提示警告。单击“安装”
Oracle VirtualBox 用于在兼容的 Windows PC 上托管我们的虚拟机
Vagrant 配置我们的 Metasploitable3 VM(Windows Server 2008 R2)
适用于 VirtualBox 的 Kali Linux 虚拟设备
下载并安装 VirtualBox
1.使用Windows 主机链接下载并安装最新版本的 VirtualBox
2. 安装完成后,您会在开始菜单中看到Oracle VM VirtualBox,单击它即可启动 VirtualBox 应用程序。3
. 我们还需要下载并安装Oracle VM VirtualBox 扩展包,因为它是运行 Kali Linux
运行文件时会提示警告。单击“安装”
Vagrant 并配置 Metasploitable3 VM
Rapid7(Metasploit 和 Metasploitable 的开发商)使用名为 Vagrant 的开源工具来提供其预构建的 Metasploitable3 映像。在以下说明中,我们将:
安装 Vagrant
从 GitHub 存储库中下载 Rapid7 的 Vagrant 配置文件“Vagrantfile”
使用 Vagrant 部署 Metasploitable3 VM
配置文件(即“Vagrantfile”)提供了两个 Metasploitable3 VM 映像,Ubuntu 14.04和Window Server 2008 R2 - 我们将使用后者。这些 VM 将需要 65GB 的存储空间和 4.5GB 的 RAM,因此在部署这些 VM 之前请确保您有足够的资源。
注意: Window Server 2008 R2 操作系统使用试用许可证,该许可证在配置的 VM 上可能已过期。如果试用期已过期,VM 将每 1-2 小时关闭一次,因此您需要重建VM 或为其提供许可证密钥
Rapid7(Metasploit 和 Metasploitable 的开发商)使用名为 Vagrant 的开源工具来提供其预构建的 Metasploitable3 映像。在以下说明中,我们将:
安装 Vagrant
从 GitHub 存储库中下载 Rapid7 的 Vagrant 配置文件“Vagrantfile”
使用 Vagrant 部署 Metasploitable3 VM
配置文件(即“Vagrantfile”)提供了两个 Metasploitable3 VM 映像,Ubuntu 14.04和Window Server 2008 R2 - 我们将使用后者。这些 VM 将需要 65GB 的存储空间和 4.5GB 的 RAM,因此在部署这些 VM 之前请确保您有足够的资源。
注意: Window Server 2008 R2 操作系统使用试用许可证,该许可证在配置的 VM 上可能已过期。如果试用期已过期,VM 将每 1-2 小时关闭一次,因此您需要重建VM 或为其提供许可证密钥
安装 VirtualBox 和 Vagrant 后,我们可以下载 Metasploitable3 VM。为此,请以管理员身份打开 PowerShell 并创建一个新的暂存文件夹(我为本次演示选择了“D:\Temp”)。
a. 运行以下命令从 GitHub 存储库下载 Metasploitable3 VM 的 Vagrant 部署脚本:Invoke-WebRequest -Uri "https://raw.githubusercontent.com/rapid7/metasploitable3/master/Vagrantfile" -OutFile "Vagrantfile"
为了使虚拟机与主机位于同一网络上,您需要将其网络适配器配置为以“桥接”模式运行(即虚拟网络适配器的行为就像它与物理虚拟机主机位于同一网络上一样)。您可以通过单击“设置” > “网络”并选择“桥接适配器”来执行此操作
a. 运行以下命令从 GitHub 存储库下载 Metasploitable3 VM 的 Vagrant 部署脚本:Invoke-WebRequest -Uri "https://raw.githubusercontent.com/rapid7/metasploitable3/master/Vagrantfile" -OutFile "Vagrantfile"
为了使虚拟机与主机位于同一网络上,您需要将其网络适配器配置为以“桥接”模式运行(即虚拟网络适配器的行为就像它与物理虚拟机主机位于同一网络上一样)。您可以通过单击“设置” > “网络”并选择“桥接适配器”来执行此操作
在 Kali Linux 中使用 Metasploit
点击屏幕右上角的应用程序按钮(形状像一条白色的龙,背景是蓝色的)
当你开始输入“metasploit”时,搜索栏自动完成将显示metasploit 框架应用程序:
在类 Unix 操作系统(例如 Linux)中,“sudo”用于运行需要提升权限的其他命令(接下来的两个步骤需要)。
命令“ msfdb init ”启动 PostgreSQL 服务,检查是否存在 Metasploit 的数据库,如果不存在,则创建它。
最后,“ && ”检查前面的命令(即“msfdb init”)是否成功执行,如果是,则运行后续命令“ msfconsole”,启动 Metasploit 框架控制台。
点击屏幕右上角的应用程序按钮(形状像一条白色的龙,背景是蓝色的)
当你开始输入“metasploit”时,搜索栏自动完成将显示metasploit 框架应用程序:
在类 Unix 操作系统(例如 Linux)中,“sudo”用于运行需要提升权限的其他命令(接下来的两个步骤需要)。
命令“ msfdb init ”启动 PostgreSQL 服务,检查是否存在 Metasploit 的数据库,如果不存在,则创建它。
最后,“ && ”检查前面的命令(即“msfdb init”)是否成功执行,如果是,则运行后续命令“ msfconsole”,启动 Metasploit 框架控制台。
利用 MySQL漏洞
使用端口扫描器来了解目标上开放了哪些端口。虽然 Kali Linux 预装了几个端口扫描工具,但我们也可以使用搜索命令(例如 search portscan)在 Metasploit Framework 控制台中查看哪些端口可用,输入 use 5 来加载“TCP 端口扫描器”模块:
意提示符已经变成“msf6auxiliary( scanner/portscan/tcp )>”,表明当前已经加载“TCP Port Scanner”模块。
虽然info命令为我们提供了可用选项的列表,但我们可以使用模块上下文中的options命令来显示它们的当前配置:看到 RHOSTS 是我们目标的参数,因此我们需要使用set命令对其进行配置(即 set RHOSTS 192.168.5.122)
使用端口扫描器来了解目标上开放了哪些端口。虽然 Kali Linux 预装了几个端口扫描工具,但我们也可以使用搜索命令(例如 search portscan)在 Metasploit Framework 控制台中查看哪些端口可用,输入 use 5 来加载“TCP 端口扫描器”模块:
意提示符已经变成“msf6auxiliary( scanner/portscan/tcp )>”,表明当前已经加载“TCP Port Scanner”模块。
虽然info命令为我们提供了可用选项的列表,但我们可以使用模块上下文中的options命令来显示它们的当前配置:看到 RHOSTS 是我们目标的参数,因此我们需要使用set命令对其进行配置(即 set RHOSTS 192.168.5.122)
❤1
暴力破解 MySQL Root 账户
现在我们已经确认了 MySQL 的版本和端口号,我们可以尝试连接到实例,并使用辅助/扫描器/mysql/mysql_login模块(例如,使用辅助/扫描器/mysql/mysql_login)暴力破解 root 密码,将查看选项列表,然后将 RHOSTS 设置为 192.168.5.122。此模块还支持使用单词列表,我们将使用/usr/share/wordlists/rockyou.txt,但首先,我们需要解压缩它。打开终端会话(CTRL+ALT+T)并使用以下命令解压缩存档:gunzip /usr/share/wordlists/rockyou.txt.gz
回到 Metasploit 会话,我们可以使用“set PASS_FILE /usr/share/wordlists/rockyou.txt”来定义单词列表路径并运行模块
现在我们已经确认了 MySQL 的版本和端口号,我们可以尝试连接到实例,并使用辅助/扫描器/mysql/mysql_login模块(例如,使用辅助/扫描器/mysql/mysql_login)暴力破解 root 密码,将查看选项列表,然后将 RHOSTS 设置为 192.168.5.122。此模块还支持使用单词列表,我们将使用/usr/share/wordlists/rockyou.txt,但首先,我们需要解压缩它。打开终端会话(CTRL+ALT+T)并使用以下命令解压缩存档:gunzip /usr/share/wordlists/rockyou.txt.gz
回到 Metasploit 会话,我们可以使用“set PASS_FILE /usr/share/wordlists/rockyou.txt”来定义单词列表路径并运行模块
从 MySQL 枚举数据
在网络安全中,“枚举”是从受感染目标中提取有用信息以获取敏感信息。
可以加载 MySQL 枚举模块 (auxiliary/admin/mysql/mysql_enum) 来检索 MySQL 帐户及其权限的列表
MySQL 漏洞利用
从 MySQL 枚举结果可以看出,root 访问权限允许我们破坏 SQL 服务器中可用的任何数据。我们可以使用“MySQL SQL 通用查询”模块 (auxiliary/admin/mysql/mysql_sql) 在目标服务器上运行 SQL 命令
将设置 USERNAME 为root, RHOSTS 为192.168.5.122, SQL 为显示数据库,确认我们的选项并运行模块
在网络安全中,“枚举”是从受感染目标中提取有用信息以获取敏感信息。
可以加载 MySQL 枚举模块 (auxiliary/admin/mysql/mysql_enum) 来检索 MySQL 帐户及其权限的列表
MySQL 漏洞利用
从 MySQL 枚举结果可以看出,root 访问权限允许我们破坏 SQL 服务器中可用的任何数据。我们可以使用“MySQL SQL 通用查询”模块 (auxiliary/admin/mysql/mysql_sql) 在目标服务器上运行 SQL 命令
将设置 USERNAME 为root, RHOSTS 为192.168.5.122, SQL 为显示数据库,确认我们的选项并运行模块
使用 Google Dork 来访问网站的步骤
步骤 1:确定你的目标
除非您有在特定服务器上进行渗透测试的完整授权,否则您可能不知道从哪里开始使用 Google dorking。常见的起点是大型企业和组织。
第 2 步:侦察
找到目标的子域名和外部网站。在以下示例中,.uk 域名上的气候数据出现在政府和学术网站上。
步骤 3:扫描
使用此处提供的 dork 以及我们的 Google Dorks 备忘单来查看您的网站。Pagodo 是一款有用的工具,它可以限制您的 Google dorking 频率并让您的活动不被人发现。要彻底.
步骤 4:跟进
如果您是 Google dorking 的新手,您可能希望将搜索范围缩小到某些文件,在这种情况下,“filetype:”和“ext:”dork 适用,或者在一组网站中探索关键字。放慢速度,否则 Google 验证码会抓住您。
步骤 1:确定你的目标
除非您有在特定服务器上进行渗透测试的完整授权,否则您可能不知道从哪里开始使用 Google dorking。常见的起点是大型企业和组织。
第 2 步:侦察
找到目标的子域名和外部网站。在以下示例中,.uk 域名上的气候数据出现在政府和学术网站上。
步骤 3:扫描
使用此处提供的 dork 以及我们的 Google Dorks 备忘单来查看您的网站。Pagodo 是一款有用的工具,它可以限制您的 Google dorking 频率并让您的活动不被人发现。要彻底.
步骤 4:跟进
如果您是 Google dorking 的新手,您可能希望将搜索范围缩小到某些文件,在这种情况下,“filetype:”和“ext:”dork 适用,或者在一组网站中探索关键字。放慢速度,否则 Google 验证码会抓住您。
ARP 欺骗攻击的目的是什么?
中间人攻击:攻击者可以拦截和更改网络上其他设备的网络流量,有效地充当设备之间的中间人
窃听:攻击者可以使用欺骗的 IP 地址来监听网络流量并收集其他设备的敏感信息。
凭证嗅探:攻击者可以拦截并捕获通过网络传输的登录凭证、密码、cookie 和其他敏感信息。
会话劫持:攻击者可以拦截并窃取或预测会话 cookie 和 ID,从而有效地接管双方之间的现有会话。
数据篡改:攻击者可以改变或修改重定向的流量,从而可能对系统和应用程序造成损坏或中断。
身份盗窃:攻击者可以使用欺骗的 IP 充当网络内的特定权威机构或主机。
数据泄露:攻击者可以使用欺骗的身份从网络窃取敏感数据并将其泄露到外部位置。
网络钓鱼攻击:攻击者可以使用欺骗的 IP 地址发起网络钓鱼攻击,将用户重定向到看似合法的虚假网站,从而可能导致信息被盗。
拒绝服务 (DoS):攻击者可以使用精心设计的 ARP 数据包淹没网络,破坏或禁用其他设备的通信能力。
获得对资源的未授权访问:攻击者可以使用欺骗主机的权限来获得对网络上的资源的未授权访问,例如服务器、数据库、受限内容和应用程序。
恶意软件注入:具有足够权限的攻击者可以将恶意软件或其他恶意软件注入网络,从而可能感染网络上的其他设备。
网络侦察:攻击者可以收集有关网络上的设备和网络基础设施的信息,这可能成为更有针对性的攻击的前兆。
中间人攻击:攻击者可以拦截和更改网络上其他设备的网络流量,有效地充当设备之间的中间人
窃听:攻击者可以使用欺骗的 IP 地址来监听网络流量并收集其他设备的敏感信息。
凭证嗅探:攻击者可以拦截并捕获通过网络传输的登录凭证、密码、cookie 和其他敏感信息。
会话劫持:攻击者可以拦截并窃取或预测会话 cookie 和 ID,从而有效地接管双方之间的现有会话。
数据篡改:攻击者可以改变或修改重定向的流量,从而可能对系统和应用程序造成损坏或中断。
身份盗窃:攻击者可以使用欺骗的 IP 充当网络内的特定权威机构或主机。
数据泄露:攻击者可以使用欺骗的身份从网络窃取敏感数据并将其泄露到外部位置。
网络钓鱼攻击:攻击者可以使用欺骗的 IP 地址发起网络钓鱼攻击,将用户重定向到看似合法的虚假网站,从而可能导致信息被盗。
拒绝服务 (DoS):攻击者可以使用精心设计的 ARP 数据包淹没网络,破坏或禁用其他设备的通信能力。
获得对资源的未授权访问:攻击者可以使用欺骗主机的权限来获得对网络上的资源的未授权访问,例如服务器、数据库、受限内容和应用程序。
恶意软件注入:具有足够权限的攻击者可以将恶意软件或其他恶意软件注入网络,从而可能感染网络上的其他设备。
网络侦察:攻击者可以收集有关网络上的设备和网络基础设施的信息,这可能成为更有针对性的攻击的前兆。
👍1