-
-
[原创]【安全研究】使用PetitPotam代替Printerbug
-
发表于: 2021-9-6 14:48 4089
-
0x00 前言
Printerbug使得拥有控制域用户/计算机的攻击者可以指定域内的一台服务器,并使其对攻击者选择的目标进行身份验证。虽然不是一个微软承认的漏洞,但是跟Net-ntlmV1,非约束委派,NTLM_Relay,命名管道模拟这些手法的结合可以用来域内提权,本地提权,跨域等等利用。
遗憾的是,在PrintNightmare爆发之后,很多企业会选择关闭spoolss服务,使得Printerbug失效。在Printerbug逐渐失效的今天,PetitPotam来了,他也可以指定域内的一台服务器,并使其对攻击者选择的目标进行身份验证。而且在低版本(16以下)的情况底下,可以匿名触发。
0x01 原理
MS-EFSR里面有个函数EfsRpcOpenFileRaw(Opnum 0)
他的作用是打开服务器上的加密对象以进行备份或还原,服务器上的加密对象由FileName 参数指定,FileName的类型是UncPath。
当指定格式为\\IP\C$的时候,lsass.exe服务就会去访问\\IP\pipe\srvsr
指定域内的一台服务器,并使其对攻击者选择的目标(通过修改FileName里面的IP参数)进行身份验证。
0x02 细节
1、通过lsarpc 触发
在官方文档(873K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8$3y4K6i4K6u0W2L8h3W2U0M7X3!0K6L8$3k6@1i4K6u0W2j5$3!0E0i4K6u0r3k6h3&6Q4x3X3c8#2M7#2)9J5c8X3!0H3k6h3&6K6M7r3g2U0M7#2)9J5c8Y4N6A6L8X3c8G2N6%4y4Q4y4h3k6H3M7X3!0@1L8$3y4G2L8s2y4Q4x3V1k6E0M7#2)9J5k6r3g2X3M7%4u0Q4x3V1j5@1x3o6y4U0y4$3q4W2x3q4)9J5k6o6q4S2x3$3q4Q4x3X3b7@1k6e0V1$3i4K6u0V1z5r3g2X3j5#2)9J5k6o6f1@1k6e0M7&6j5e0u0U0j5K6b7#2x3g2)9J5z5g2!0q4z5g2)9^5y4#2)9^5b7#2!0q4z5g2)9&6c8q4!0m8x3W2!0q4c8W2!0n7b7#2)9^5b7@1#2e0i4K6u0V1c8f1k6e0f1W2!0q4y4#2)9&6b7g2)9^5y4q4!0q4z5q4!0n7x3q4)9^5x3#2!0q4y4#2)9&6y4q4!0m8z5q4!0q4y4W2)9&6b7#2)9^5z5g2)9#2b7%4m8A6M7r3g2Q4y4f1y4D9M7$3q4J5M7r3y4Q4c8e0g2Q4z5e0u0Q4z5p5y4Q4y4f1y4H3K9i4m8W2i4K6g2o6k6h3k6K6M7Y4m8U0i4@1f1@1i4@1t1^5i4@1p5@1i4@1f1%4i4@1p5%4i4K6S2p5i4@1f1$3i4K6V1$3i4@1t1&6i4@1f1$3i4@1t1K6i4K6V1#2i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4K6R3#2i4@1t1$3i4@1f1@1i4@1t1^5i4@1q4p5
\pipe\lsarpc的服务器接口必须是UUID [c681d488-d850-11d0-8c52-00c04fd90f7e]
\pipe\efsrpc的服务器接口必须是UUID [df1941c5-fe89-4e79-bf10-463657acf44d]
在我本地测试发现\pipe\efsrpc并未对外开放
在PetitPotam的Poc里面有一句注释possible aussi via efsrpc (en changeant d'UUID) mais ce named pipe est moins universel et plus rare que lsarpc ;),翻译过来就是
也可以通过EFSRPC(通过更改UUID),但这种命名管道的通用性不如lsarpc,而且比LSARPC更罕见
所以PetitPotam直接是采用lsarpc的方式触发。
2、低版本可以匿名触发
在08和12的环境,默认在网络安全:可匿名访问的命名管道中有三个netlogon、samr、lsarpc。因此在这个环境下是可以匿名触发的
遗憾的是在16以上这个默认就是空了,需要至少一个域内凭据。
0x03 利用
这篇文章的主题是使用PetitPotam代替Printerbug,因此这个利用同时也是Printerbug的利用。这里顺便梳理复习下Printerbug的利用。
1、结合 CVE-2019-1040,NTLM_Relay到LDAP
详情见CVE-2019-1040
(a30K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1j5h3W2C8k6i4u0Q4x3X3g2Y4K9i4c8T1L8$3!0C8i4K6u0W2K9h3!0Q4x3V1k6%4K9h3&6V1L8%4N6K6i4K6u0V1M7s2u0G2N6r3!0U0L8$3I4Q4x3V1k6F1N6r3I4E0i4K6u0V1M7r3W2S2L8W2)9J5c8U0N6Q4x3U0x3#2i4K6u0V1j5%4k6W2i4K6u0V1x3U0l9I4z5g2)9J5k6o6p5H3y4o6m8Q4x3U0W2Q4x3V1y4Q4c8e0S2Q4b7V1k6Q4z5e0W2Q4c8e0W2Q4z5o6N6Q4z5p5y4Q4c8e0k6Q4z5o6S2Q4z5e0q4Q4c8e0c8Q4b7V1u0Q4b7f1y4Q4c8e0g2Q4z5p5k6Q4b7f1k6Q4c8e0c8Q4b7V1u0Q4b7e0g2Q4c8e0g2Q4b7U0m8Q4z5o6k6Q4c8e0S2Q4b7e0N6Q4b7e0k6Q4c8e0g2Q4z5p5k6Q4z5e0q4Q4c8e0k6Q4b7V1q4Q4z5e0m8Q4c8e0c8Q4b7V1u0Q4z5p5g2b7M7X3W2F1N6r3g2J5j5Y4g2Y4i4@1f1$3i4K6S2p5i4@1p5J5i4@1f1$3i4K6R3^5i4K6V1H3f1r3g2@1K9i4c8b7L8%4c8S2L8b7`.`.
2、Relay到HTTP
不同于LDAP是协商签名的,发起的协议如果是smb就需要修改Flag位,到HTTP的NTLM认证是不签名的。前段时间比较火的ADCS刚好是http接口,又接受ntlm认证,我们可以利用PetitPotam把域控机器用户relay到ADCS里面申请一个域控证书,再用这个证书进行kerberos认证。注意这里如果是域控要指定模板为DomainController
2、结合非约束委派的利用
当一台机器机配置了非约束委派之后,任何用户通过网络认证访问这台主机,配置的非约束委派的机器都能拿到这个用户的TGT票据。
当我们拿到了一台非约束委派的机器,只要诱导别人来访问这台机器就可以拿到那个用户的TGT,在这之前我们一般用printerbug来触发,在这里我们可以用PetitPotamlai来触发。
域内默认所有域控都是非约束委派,因此这种利用还可用于跨域。
3、结合Net-ntlmV1进行利用
很多企业由于历史原因,会导致LAN身份验证级别配置不当,攻击者可以将Net-Ntlm降级为V1。
我们在Responder里面把Challeng设置为1122334455667788,就可以将Net-ntlm V1解密为ntlm hash。
4、结合命名管道的模拟
在这之前,我们利用了printerbug放出了pipePotato漏洞。详情见pipePotato:一种新型的通用提权漏洞(cb8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2S2L8Y4q4#2j5h3&6C8k6g2)9J5k6h3y4G2L8g2)9J5c8Y4m8G2M7%4c8Q4x3V1k6A6k6q4)9J5c8U0t1H3y4o6f1I4x3q4)9J5z5b7`.`.
在PetitPotam出来的时候,发现这个RPC也会有之前pipePotato的问题。
0x04 引用
[MS-EFSR]: Encrypting File System Remote (EFSRPC) Protocol
(cbbK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8$3y4K6i4K6u0W2L8h3W2U0M7X3!0K6L8$3k6@1i4K6u0W2j5$3!0E0i4K6u0r3k6h3&6Q4x3X3c8#2M7#2)9J5c8X3!0H3k6h3&6K6M7r3g2U0M7#2)9J5c8Y4N6A6L8X3c8G2N6%4y4Q4y4h3k6H3M7X3!0@1L8$3y4G2L8s2y4Q4x3V1k6E0M7#2)9J5k6r3g2X3M7%4u0Q4x3V1j5H3z5o6M7&6y4X3u0S2z5q4)9J5k6o6l9I4j5K6S2Q4x3X3b7@1z5o6M7J5i4K6u0V1z5e0t1J5x3g2)9J5k6o6p5H3x3o6m8W2j5K6u0W2k6X3j5K6x3g2)9J5z5b7`.`.
PetitPotam
(c2eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6@1L8%4m8G2N6r3q4E0i4K6u0r3f1r3g2@1K9i4c8b7L8%4c8S2L8g2)9J5z5b7`.`.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课