写给蓝军的滥用 DPAPI 操纵指南(下) | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

写给蓝军的滥用 DPAPI 操纵指南(下)

申博_新闻事件 申博 106次浏览 已收录 0个评论

证书管理器和 Windows Vault

提示一下: 我没有想出下面所要形貌的任何内容,我只是纪录下来,并尽我所能诠释它。 下面一切的声誉都归功于本杰明在这个范畴的卓越事变。

从 Windows 7最先,凭证管理器许可用户存储网站和收集资源的凭证。 凭证文件存储在C:\Users\<USER>\AppData\Local\Microsoft\Credentials\ for users 和 %systemroot%\System32\config\systemprofile\AppData\Local\Microsoft\Credentials\中。 这些文件由用户(或体系)指定的 DPAPI 主密钥珍爱。

与之相干的是 Windows Vault,它存储在 C:\Users\<USER>\AppData\Local\Microsoft\Vault\<VAULT_GUID>\  中,轻微庞杂一些。 在vault文件夹中,有一个 Policy.vpol 文件,个中包罗两个密钥(AES128和 AES256) ,这两个密钥由用户指定的 DPAPI 主密钥珍爱。 然后运用这两个密钥解密同一个文件夹下的*.vcrd 证书。

这里就有点庞杂了。

有几种要领可以或许获得这些 vaulte 证书。 若是凭证生存的是 Internet Explorer或Edge 的登录信息,则可以或许运用来自 vaultcli.dll 的一系列 API 挪用罗列这些凭证。 这可以或许经由过程 Mimikatz 的 vault::list 模块、 Massimiliano Montoro 的 Vault Dump 代码、 Matt Graeber 的 PowerShell 端口代码、 Dwight Hohnstein 的C# 版本的Graeber 代码或许 Seatbelt 整合 Dwight 的 C# 代码(Seatbelt.exe DumpVault.)来完成。然则,在运转这些代码库时,你会注意到一些风趣的征象: 并不是一切的vault凭证都邑返回。 为何呢? 🤔

你猜怎样着? 本杰明已在他的Wiki上纪录了近一年的确切缘由(和变通要领) !下面的形貌是对他的 Wiki文章的从新编排,以是我的意义是发起你去浏览他一切的 Wiki!

据我所知,vault::list 将列出并实验从 \AppData\Local\Microsoft\Vault\ 这个地位解密凭证,而 vault::cred 将列出并实验从\AppData\Local\Microsoft\Credentials\解密凭证。 虽然我不是百分之百的肯定凭证为何以及如安在两个文件夹之间被离开,然则看起来收集凭证好像是以vault的情势存储的,生存的 RDP 或文件同享凭证好像是以凭证文件的情势存储的。 正如本杰明所说:

 写给蓝军的滥用 DPAPI 操纵指南(下)

https://security.stackexchange.com/questions/173815/view-windows-vault-with-mimikatz/173870#173870

虽然这个链接不再活泼,但我置信这条推文包罗了所提到的信息的截图。

正如本杰明在他的 wiki 中细致申明的,微软关于vault凭证声明以下:

若是 Type 成员是 CRED_TYPE_DOMAIN_PASSWORD,则此成员包罗用于 UserName 的明文 Unicode 暗码。 CredentialBlob和 CredentialBlobSize成员不包罗尾部的零字符。 另有关于 CRED_TYPE_DOMAIN_PASSWORD 此成员只能由身份验证包读取。

以是 LSASS 不愿望我们轻易地袒露这些凭证。本杰明形貌了两种变通要领。 一个风险的要领是运转 vault::cred /patch 对LSASS 的逻辑打一次补钉使得 CRED_TYPE_DOMAIN_PASSWORD搜检失效。 这是绝对不引荐的(本杰明如是说) ,因为操控 LSASS 逻辑是一个有风险的操纵,可以或许致使事变失足。 除此以外,另有一个更好的要领: moar DPAPI!

本杰明形貌了我们在这里碰到的另一个题目。 依据微软的说法,”LSA 线程可以或许运用 DPAPI 并指定 CRYPTPROTEC_SYSTEM标记来珍爱在 LSA 以外不克不及获得珍爱的数据。” . 因而,若是实验运用 CryptUnprotectData (即 /unprotect)对这些范例的数据块举行解密,就会涌现毛病。 然则,若是我们搜检个中一个数据块,我们可以或许看到用于加密它的 DPAPI 主密钥:

 写给蓝军的滥用 DPAPI 操纵指南(下)

若是你晓得用户的明文暗码,你可以或许运用来自 Chrome 的要领: 场景1轻松地解密这个主密钥。 若是你没有解密胜利,不要忧郁,Mimikatz照旧爱着你。

正如本杰明细致引见的,MS-BKRP (Microsoft BackupKey Remote Protocol)的一个组件,它运转在域控制器上的 RPC 服务器,该控制器经由过程其域范围内的 DPAPI 备份密钥为受权用户处置惩罚 DPAPI 密钥的解密。换句话说,若是我们今后的用户高低文”具有”一个给定的主密钥,我们可以或许很好地请求一个域控制器来为我们解密这个主密钥! 这不是一个”破绽”,这也是一个设想体式格局,而且这意味着一种在用户变动或丧失暗码的状况下的毛病珍爱措施,并支撑种种智能卡的功用。

因而,若是我们简朴地从具有主密钥的用户高低文中运转 mimikatz # dpapi::masterkey /in:”%appdata%\Microsoft\Protect\<SID>\<MASTER_KEY_GUID>” /rpc (类似于 Chrome 的场景3) ,Mimikatz 将请求今后域控制器(经由过程 RPC)解密主密钥:

 写给蓝军的滥用 DPAPI 操纵指南(下)

如今我们可以或许运用带有 dpapi::cred 模块的 / masterkey:X 标记来解密生存的凭证!

更妙的是,因为我们没有触及 LSASS,我们可以或许在没有任何提拔特权的状况下为今后用户实行此要领。 若是我们想对其他用户实行这类范例的”进击”,Chrome 局部的场景2-4依然实用。

“那末计划任务凭证呢? ? ! !” 你可以或许(不)是在问。 本杰明也提到了我们所说的这一点。 你可以或许从内存(运用 sekurlsa::dpapi)或 LSA (运用 lsadump::secrets)提取体系的 DPAPI 密钥,然后运用该密钥解密%systemroot%\System32\config\systemprofile\AppData\Local\Microsoft\Credentials 中生存的凭证。

“然则,加密文件体系(EFS)的文件该怎样处置惩罚呢?”,你可以或许也(不)会问。 使人惊奇的是,本杰明也提到了这一点🙂

以至另有一种解密 Windows 10 SSH 原生 SSH 密钥的要领,个中包罗本杰明供应的一个很好的演示视频。 另有一些模块用于 dpapi::wifi 和 dpapi::wwan (文件地位见此推文)以及其他模块。

 写给蓝军的滥用 DPAPI 操纵指南(下)

长途桌面衔接管理器

在我草拟这篇文章的时刻,本杰明宣布了更多的 DPAPI!

 写给蓝军的滥用 DPAPI 操纵指南(下)

Windows 长途桌面衔接管理器可以或许挑选生存 RDP 衔接凭证,明文暗码一样存储为 DPAPI 数据块。 这些配置文件存储在 .rdg 文件中,可以或许用新的 dpapi::rdg 模块解密。 这个模块还没有涌如今 Beacon 的 mimikatz 模块中,但应当会鄙人一个或两个更新中涌现。 /unprotect、plaintext/hash、 sekurlsa::DPAPI masterkey 或许域备份密钥(拜见 Chrome 场景1-4)一样也可以或许在这里事变:

写给蓝军的滥用 DPAPI 操纵指南(下)

请参阅本文的“安全带”章节,相识怎样轻松罗列这些文件。

旁注: Mimikatz DPAPI 缓存

正如本文前面提到的,因为 Beacon 的功课架构,每一个 mimikatz 敕令都将在一个新的历程中运转,因而 mimikatz 敕令之间不会保存状况。 然则,本杰明完成了一个非常酷炫的 DPAPI 特征(缓存) ,我愿望确保可以或许说起这个特征。

若是你运用的是 mimimikatz.exe 自力缓存,Mimikatz 会将检索到的一切 DPAPI 密钥添加到一个 volatile 缓存中,供今后运用。 因而,比方,若是你检索域备份 DPAPI 密钥,然后你可以或许解密任何你想要的主密钥,它也将被添加到缓存中:

 写给蓝军的滥用 DPAPI 操纵指南(下)

写给蓝军的滥用 DPAPI 操纵指南(下)

 

 写给蓝军的滥用 DPAPI 操纵指南(下)

macOS门禁功能爆出安全漏洞:会影响所有macOS版本,包括最新版本(10.14.5)

Mac安全软件公司Intego发现了一个名为“OSX / Linker”的新Mac恶意软件,它利用了最近披露的macOS Gatekeeper漏洞。 相比于Windows平台来说,Mac平台一直是相对稳定安全的平台。虽然安全系数较高,但是Mac出现隐患的次数也是不少的。Gatekeeper是一项苹果公司在OS X Mountain Lion系统当中加入的全新安全检测功能,可以有效地帮助Mac用户守护他们的机器,以防一些恶意软件的入侵。 换句话来讲,如果Gatekeeper一旦失效,那么用户的Mac设备也就危险了。 Apple Gatekeeper旨在通过在允许应用程序运行之前执行大量检查来保护使用macOS的用户。事实上,你将无法执行未经Apple开发人员签名的代码,除非该设备越狱,否则你将无法运

你还可以或许为每次重用生存或加载缓存:

 写给蓝军的滥用 DPAPI 操纵指南(下)

安全带

我近来将一些与 DPAPI 相干的文件搜检整合到了安全带中(更多关于安全带或ghostpack 的信息请点击这里) 。Seatbelt.exe MasterKeys将搜刮用户主密钥,无论是今后用户照样一切用户,若是高低文的权限是晋级过的。 这个搜检如今也是 SeatBelt.exe user 搜检的默许选项:

 写给蓝军的滥用 DPAPI 操纵指南(下)

凭证文件用 CredFiles 敕令罗列,如今也是默许用户搜检,也运用于雷同的用户/提拔罗列:

 写给蓝军的滥用 DPAPI 操纵指南(下)

长途桌面衔接管理器设置和 .rdg 文件用 RDCManFiles 敕令罗列,如今也是默许的用户搜检,一样也运用于 用户或提拔的罗列:

 写给蓝军的滥用 DPAPI 操纵指南(下)

如今另有一些分外的高低文,用于在默许用户搜检时发明浏览器 cookie 文件(包罗 Chrome) :

 写给蓝军的滥用 DPAPI 操纵指南(下)

这将指引你到适宜的安全带指令,Mimikatz 模块,或许@djhohnstein 的使人敬畏的新 SharpWeb 项目中的指令。

防备

防备这些范例的 DPAPI 滥用是很难题的事变,重要是因为这只是滥用预期的或现有的功用。 浏览和解密 DPAPI blobs 是体系和运用程序一直在做的事变,因而没有太多时机捕捉非常。

要从内存中提取 DPAPI 密钥,应当运用 Mimikatz/LSASS 读取的规范防备指南。

我不肯定运用 BackupKey 长途协定(MS-BKRP)或长途 DPAPI 备份密钥检索的最好防备指南是什么,但我想就每一个方面提出一些设法主意。

微软确切为 Windows 10和 Server 2016完成了一组事宜日记,以许可审计 DPAPI 的运动,然则关于一切事宜都声明,”这个子种别中的事宜一般具有信息目标,而且很难经由过程这些事宜检测到任何歹意运动。 重要用于 DPAPI 毛病消除。” 关于事宜4695(“未实验珍爱可审计的受珍爱数据”) ultimatewindowssecurity.com 指导的解释为:”… 这个事宜可以或许注解歹意行动,然则我也看到它在一个清洁的、断绝的测试体系的一般操纵过程中被纪录。” 因而,虽然这些特定的事宜须要一些分外的侦察潜力的观察,他们可以或许不是高精确度的目标。

BackupKey 长途协定

当我经由过程 MS-BKRP  挪用  dpapi::masterkey /in:<KEY> /rpc这个 mimitz 模块从体系实行 masterkey 检索时,收集流量包罗:

· SMB 衔接到长途体系的 IPC$接口

· 在长途体系上建立珍爱存储器(protected_storage)定名管道

· 几个经由过程 SMB 的带有运用加密的存根数据局部的[ MS-RPCE ]RPC 挪用

· 从名为 protected_storage 的定名管道中读取备份密钥

· 清算

· 但是,因为这个协定在古代范畴中有许多一般用处,实验对这个流量举行署名好像不太有效。

长途 LSA 秘钥检索

当我从我的体系实行长途 LSA 秘钥检索到我的测试域控制器时,收集流量包罗

· 衔接到长途体系的 IPC$ 接口的 SMB 衔接

· 在长途体系上建立 lsarpc 定名管道

· lsa_OpenPolicy2 RPC 挪用 (经由过程 SMB或[MS-RPCE] 的 RPC),opnum 44

· lsa_RetrievePrivateData RPC 挪用,opnum 43

· 从 lsarpc 定名管道读取备份密钥

· 清算

我还试图检察在这次长途 LSA 秘钥检索时期是不是在 DC 上建立了任何特定的事宜日记,但没法发明任何有效的信息。 若是有人晓得怎样调解 DC 的事宜日记来检测长途 LSA 秘钥读取,请让我晓得,我会更新这篇文章。

微软高等要挟剖析可疑运动指南确切有一个”歹意数据珍爱隐私信息请求”的条目:

 写给蓝军的滥用 DPAPI 操纵指南(下)

但是,我不肯定他们是怎样完成这类检测的,也不肯定这个目标的精确度。

总结

DPAPI是个很酷的器械。 我对本身没有花时间去正确理解本杰明在这个范畴所做的一切巨大事变以及我们之前无视的一切时机觉得懊丧,然则我很愉快在我们的东西箱里有另一个 TTP。

再次谢谢@gentilkiwi 对本文所说起的研讨、东西集和反应所做的事变!

原文地点: https://www.4hou.com/system/18777.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明写给蓝军的滥用 DPAPI 操纵指南(下)
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址