从 LSA 和 SAM 转储凭证
可以从中转储凭据的另一个数据存储是 LSA 和 SAM 数据库。每次启动 Windows 计算机时都会加载这些数据库,如果您具有调试权限,则可以使用 Mimkatzlsadump模块从中转储凭据。
该lsadump模块有一个用于转储 LSA 数据的命令和一个用于转储 SAM 数据库内容的命令。
与之前一样,必须以管理员或系统用户身份运行 Mimikatz,并使用命令获取调试权限privilege::debug。完成此操作后,你可以通过执行转储 LSA 数据lsadump::lsa /inject。
向下滚动输出,可以看到该命令会转储最近登录的用户(如StationX-user)和未将其登录凭据存储在 LSASS 内存中的用户(如)的 NTLM 哈希StationX-admin。
可以从中转储凭据的另一个数据存储是 LSA 和 SAM 数据库。每次启动 Windows 计算机时都会加载这些数据库,如果您具有调试权限,则可以使用 Mimkatzlsadump模块从中转储凭据。
该lsadump模块有一个用于转储 LSA 数据的命令和一个用于转储 SAM 数据库内容的命令。
与之前一样,必须以管理员或系统用户身份运行 Mimikatz,并使用命令获取调试权限privilege::debug。完成此操作后,你可以通过执行转储 LSA 数据lsadump::lsa /inject。
向下滚动输出,可以看到该命令会转储最近登录的用户(如StationX-user)和未将其登录凭据存储在 LSASS 内存中的用户(如)的 NTLM 哈希StationX-admin。
过度传递哈希(传递密钥)攻击
过度传递哈希攻击涉及提取目标用户的 Kerberos 身份验证票证并将其注入到您的会话中。这允许您冒充目标用户并访问他们有权访问的资源。
执行过度传递哈希攻击很简单。
使用命令提取受感染机器上的 Kerberos 票证sekurlsa::tickets /export,如前所述。然后使用命令,kerberos::ptt后跟要模拟的用户票证的名称。
这会将 Kerberos 票证注入(或传递)到当前的会话中。现在,可以使用命令misc::cmd(1) 从此 Mimikatz 进程生成一个终端,并通过运行 (2) 确认您已准备好使用 Kerberos 令牌klist。
过度传递哈希攻击涉及提取目标用户的 Kerberos 身份验证票证并将其注入到您的会话中。这允许您冒充目标用户并访问他们有权访问的资源。
执行过度传递哈希攻击很简单。
使用命令提取受感染机器上的 Kerberos 票证sekurlsa::tickets /export,如前所述。然后使用命令,kerberos::ptt后跟要模拟的用户票证的名称。
这会将 Kerberos 票证注入(或传递)到当前的会话中。现在,可以使用命令misc::cmd(1) 从此 Mimikatz 进程生成一个终端,并通过运行 (2) 确认您已准备好使用 Kerberos 令牌klist。
被动 DNS
目标:收集与 E-Corp 相关的历史 DNS 数据,跟踪域名变化,并找到进一步进行漏洞评估的潜在兴趣领域。
使用的工具:
DNS Dumpster:一种域名研究工具,可以发现与域相关的主机,提供 DNS 侦察和情报收集。
DNS 历史记录:提供历史 DNS 数据,显示域的 DNS 设置
助记符:提供 PassiveDNS 数据的安全服务提供商。
有了潜在子域和资源的列表,我们的下一步可能是验证它们的活动状态并进行扫描和枚举以识别潜在的漏洞。
同时,我们将继续寻找与 E-Corp 相关的有效电子邮件地址。如果我们遇到任何登录门户、电子邮件服务器、VPN 等,这些电子邮件地址可能至关重要,因为它们可能为我们提供切入点或评估 E-Corp 安全态势的进一步途径。
目标:收集与 E-Corp 相关的历史 DNS 数据,跟踪域名变化,并找到进一步进行漏洞评估的潜在兴趣领域。
使用的工具:
DNS Dumpster:一种域名研究工具,可以发现与域相关的主机,提供 DNS 侦察和情报收集。
DNS 历史记录:提供历史 DNS 数据,显示域的 DNS 设置
助记符:提供 PassiveDNS 数据的安全服务提供商。
有了潜在子域和资源的列表,我们的下一步可能是验证它们的活动状态并进行扫描和枚举以识别潜在的漏洞。
同时,我们将继续寻找与 E-Corp 相关的有效电子邮件地址。如果我们遇到任何登录门户、电子邮件服务器、VPN 等,这些电子邮件地址可能至关重要,因为它们可能为我们提供切入点或评估 E-Corp 安全态势的进一步途径。
网络钓鱼:发送电子邮件、留言或打电话给受害者,发出可信的请求,诱骗他们透露敏感信息或执行某项操作。
借口:在要求受害者采取行动之前编造一个故事(借口)来赢得受害者的信任。例如,假扮成值得信赖的权威人士,让受害者同情你的处境,或利用时事事件。
诱饵:向受害者提供诱使他们执行您希望他们执行的操作的优惠。例如,向他们提供免费软件,其中包含您希望他们在不知情的情况下运行的恶意软件。
引出:无需直接询问即可从目标获取信息。
尾随:跟随授权员工进入限制区域或冒充合法员工,未经授权进入限制区域。
翻找垃圾箱:仔细翻找个人或组织的垃圾,以查找可用于攻击的揭露或敏感数据。
媒体投放:在目标组织周围散布包含恶意软件的 CD-ROM、USB 驱动器或其他形式的数字媒体,希望员工将此媒体插入公司系统并在不知情的情况下触发恶意软件。
借口:在要求受害者采取行动之前编造一个故事(借口)来赢得受害者的信任。例如,假扮成值得信赖的权威人士,让受害者同情你的处境,或利用时事事件。
诱饵:向受害者提供诱使他们执行您希望他们执行的操作的优惠。例如,向他们提供免费软件,其中包含您希望他们在不知情的情况下运行的恶意软件。
引出:无需直接询问即可从目标获取信息。
尾随:跟随授权员工进入限制区域或冒充合法员工,未经授权进入限制区域。
翻找垃圾箱:仔细翻找个人或组织的垃圾,以查找可用于攻击的揭露或敏感数据。
媒体投放:在目标组织周围散布包含恶意软件的 CD-ROM、USB 驱动器或其他形式的数字媒体,希望员工将此媒体插入公司系统并在不知情的情况下触发恶意软件。
规划与侦察
社会工程渗透测试的第一阶段是规划和侦察。在此阶段,您需要与客户合作,明确定义测试的目标和范围。您需要了解客户想要测试组织的哪些区域或部门、可以使用的可接受的社会工程策略,并获得客户的书面同意才能执行任何测试。
在此阶段,您还需要为测试做好准备。 其中包括:
资源收集:获取和设置执行社会工程测试所需的所有必要资源(例如,网络钓鱼模拟框架、云基础设施等)。
信息收集:收集有关目标组织、其员工、基础设施和安全政策的信息。这些背景信息对于建立您想要针对的个人的档案和创建可信的借口非常有用。您可以使用开源情报 (OSINT)来收集这些信息,也可以去翻找垃圾。
社会工程渗透测试的第一阶段是规划和侦察。在此阶段,您需要与客户合作,明确定义测试的目标和范围。您需要了解客户想要测试组织的哪些区域或部门、可以使用的可接受的社会工程策略,并获得客户的书面同意才能执行任何测试。
在此阶段,您还需要为测试做好准备。 其中包括:
资源收集:获取和设置执行社会工程测试所需的所有必要资源(例如,网络钓鱼模拟框架、云基础设施等)。
信息收集:收集有关目标组织、其员工、基础设施和安全政策的信息。这些背景信息对于建立您想要针对的个人的档案和创建可信的借口非常有用。您可以使用开源情报 (OSINT)来收集这些信息,也可以去翻找垃圾。
使用包管理器安装 Nmap
要想快速有效地在 Ubuntu 系统上启动并运行 Nmap,apt 包管理器。
打开终端
首先,打开终端。一个简单的方法是按下Ctrl+Alt+T 键盘上的 。此组合键是启动 Ubuntu 终端的快捷方式。
更新包管理器
打开终端后,是时候更新你的软件包列表了。在终端中,输入以下命令并按 Enter:sudo apt update。将需要提供的密码。
安装Nmap
更新完成后,就可以安装 Nmap 包了。在终端中,输入sudo apt install nmap,然后按 Enter。Ubuntu 可能会再次要求输入密码。输入密码,然后按 Enter。
终端将显示安装进度,安装完成后,Nmap 将安装在您的 Ubuntu 系统上。要验证安装,可以nmap -v 在终端中输入并查看已安装的 Nmap 版本。
要想快速有效地在 Ubuntu 系统上启动并运行 Nmap,apt 包管理器。
打开终端
首先,打开终端。一个简单的方法是按下Ctrl+Alt+T 键盘上的 。此组合键是启动 Ubuntu 终端的快捷方式。
更新包管理器
打开终端后,是时候更新你的软件包列表了。在终端中,输入以下命令并按 Enter:sudo apt update。将需要提供的密码。
安装Nmap
更新完成后,就可以安装 Nmap 包了。在终端中,输入sudo apt install nmap,然后按 Enter。Ubuntu 可能会再次要求输入密码。输入密码,然后按 Enter。
终端将显示安装进度,安装完成后,Nmap 将安装在您的 Ubuntu 系统上。要验证安装,可以nmap -v 在终端中输入并查看已安装的 Nmap 版本。
从源代码编译 Nmap
步骤 1:打开终端
和之前一样,让我们打开终端。可以通过按下Ctrl+Alt+T 键盘快速完成此操作。终端将弹出,准备好输入的命令。
第 2 步:安装所需的软件包
要从源代码编译 Nmap, Ubuntu 系统上需要有一些必需的软件包。在终端中输入以下命令:sudo apt install build-essential libssl-dev
提取源代码
下载完成后,您需要使用以下命令提取 tarball(一种压缩文件):tar jxvf nmap-<version>.tar.bz2
导航到Nmap目录
现在,导航到解压 tarball 时创建的目录:cd nmap-<version>
编译并安装 Nmap
最后,是时候编译和安装 Nmap 了。使用以下命令完成:./configure && make && sudo make install
步骤 1:打开终端
和之前一样,让我们打开终端。可以通过按下Ctrl+Alt+T 键盘快速完成此操作。终端将弹出,准备好输入的命令。
第 2 步:安装所需的软件包
要从源代码编译 Nmap, Ubuntu 系统上需要有一些必需的软件包。在终端中输入以下命令:sudo apt install build-essential libssl-dev
提取源代码
下载完成后,您需要使用以下命令提取 tarball(一种压缩文件):tar jxvf nmap-<version>.tar.bz2
导航到Nmap目录
现在,导航到解压 tarball 时创建的目录:cd nmap-<version>
编译并安装 Nmap
最后,是时候编译和安装 Nmap 了。使用以下命令完成:./configure && make && sudo make install
在 Docker 中安装 Nmap
步骤 1:打开终端
与往常一样,以 启动该过程Ctrl+Alt+T。
第 2 步:拉取 Nmap Docker 镜像
在终端处于活动状态时,输入docker pull instrumentisto/nmap 并按 Enter 键以获取 Nmap Docker 映像。
步骤3:在Docker中运行Nmap
获取镜像后,执行docker run -it --rm instrumentisto/nmap -v 并按 Enter 键在 Docker 中运行 Nmap,显示 Nmap 安装版本。
Sudo 卸载 Nmap
尽管 Nmap 是许多道德黑客和渗透测试工具包中的主要工具,但有时可能需要从 Ubuntu 系统中卸载它。
步骤 1:打开终端
与往常一样,以 启动该过程Ctrl+Alt+T。
第 2 步:拉取 Nmap Docker 镜像
在终端处于活动状态时,输入docker pull instrumentisto/nmap 并按 Enter 键以获取 Nmap Docker 映像。
步骤3:在Docker中运行Nmap
获取镜像后,执行docker run -it --rm instrumentisto/nmap -v 并按 Enter 键在 Docker 中运行 Nmap,显示 Nmap 安装版本。
Sudo 卸载 Nmap
尽管 Nmap 是许多道德黑客和渗透测试工具包中的主要工具,但有时可能需要从 Ubuntu 系统中卸载它。
Kerberos 是 Microsoft 以前用于保护 Active Directory 的旧式 NTLM 身份验证的后继者。作为 Active Directory 环境的身份验证协议,Kerberos 具有几个关键优势:
单点登录 (SSO) - 用户可以向 KDC 进行一次身份验证并获得多张服务票证来访问他们想要访问的各种资源。
强大的安全性- Kerberos 使用强大的加密技术,使其能够抵御重放攻击和密码盗窃(只要使用强密码)。
相互认证- 客户端和网络资源在认证过程中验证彼此的身份,以确保双方都是合法的,并防止 MitM 攻击。
可扩展性- Kerberos 支持包含数千个用户和服务的大规模 Active Directory 环境。其基于票证的身份验证方法有助于最大限度地减少网络流量并提高性能。
集中式身份验证- 中央 KDC 意味着可以在整个 Active Directory 环境中的单点执行身份验证。这简化了管理和管理开销。
票证过期和更新- Kerberos 使用过期和更新机制来限制票证的使用寿命。这意味着攻击者无法无限期地使用被盗票证,而必须定期重新进行身份验证,从而减少了被盗票证的影响。
互操作性- Kerberos 身份验证可用于各种系统和平台。这可防止在使用多种技术的环境中出现兼容性问题。
单点登录 (SSO) - 用户可以向 KDC 进行一次身份验证并获得多张服务票证来访问他们想要访问的各种资源。
强大的安全性- Kerberos 使用强大的加密技术,使其能够抵御重放攻击和密码盗窃(只要使用强密码)。
相互认证- 客户端和网络资源在认证过程中验证彼此的身份,以确保双方都是合法的,并防止 MitM 攻击。
可扩展性- Kerberos 支持包含数千个用户和服务的大规模 Active Directory 环境。其基于票证的身份验证方法有助于最大限度地减少网络流量并提高性能。
集中式身份验证- 中央 KDC 意味着可以在整个 Active Directory 环境中的单点执行身份验证。这简化了管理和管理开销。
票证过期和更新- Kerberos 使用过期和更新机制来限制票证的使用寿命。这意味着攻击者无法无限期地使用被盗票证,而必须定期重新进行身份验证,从而减少了被盗票证的影响。
互操作性- Kerberos 身份验证可用于各种系统和平台。这可防止在使用多种技术的环境中出现兼容性问题。
Kerberoasting 是指攻击窃取服务帐户的密码哈希并离线破解此哈希以显示明文密码。
这是一种非常危险的攻击,因为任何经过身份验证的用户都可以执行 Kerberoasting,如果服务帐户使用弱密码,攻击很可能会成功。
Kerberoasting 攻击遵循以下步骤:
冒充合法的 Active Directory 用户,并在 Active Directory 环境中向 KDC 进行身份验证。向 KDC 请求 TGT以访问网络资源。KDC遵从,因为冒充的是合法用户。
识别 Active Directory 环境中的活动服务帐户并收集其关联的 SPN 列表。这是通过内部网络侦察完成的。
向KDC请求与服务帐户关联的特定 SPN 的服务票证 (TGS) 。KDC将使用包含服务帐户密码(用于解密票证)的加密 TGS 进行响应。
获取此票证并使用密码破解工具离线破解它(在本地机器上)。
一旦攻击破解了密码,就可以使用它来模仿服务帐户并访问其有权访问的任何网络资源。
这是一种非常危险的攻击,因为任何经过身份验证的用户都可以执行 Kerberoasting,如果服务帐户使用弱密码,攻击很可能会成功。
Kerberoasting 攻击遵循以下步骤:
冒充合法的 Active Directory 用户,并在 Active Directory 环境中向 KDC 进行身份验证。向 KDC 请求 TGT以访问网络资源。KDC遵从,因为冒充的是合法用户。
识别 Active Directory 环境中的活动服务帐户并收集其关联的 SPN 列表。这是通过内部网络侦察完成的。
向KDC请求与服务帐户关联的特定 SPN 的服务票证 (TGS) 。KDC将使用包含服务帐户密码(用于解密票证)的加密 TGS 进行响应。
获取此票证并使用密码破解工具离线破解它(在本地机器上)。
一旦攻击破解了密码,就可以使用它来模仿服务帐户并访问其有权访问的任何网络资源。