通过编辑注册表项值将 DLL 加载到 lsass.exe 中

admin 2025年5月1日01:18:36评论10 views字数 701阅读2分20秒阅读模式
通过编辑注册表项值将 DLL 加载到 lsass.exe 中

在启动时将 DLL 加载到 LSASS 中,提供持久性。

如何?

我们发现 Lsass.exe 在启动时会读取两个注册表项,以便从System32目录中加载 DLL。这两个注册表项分别是:

通过编辑注册表项值将 DLL 加载到 lsass.exe 中

延伸HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaExtensionConfigInterfaces1001 阅读 lsasrv.dll

通过编辑注册表项值将 DLL 加载到 lsass.exe 中

延伸HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaExtensionConfigInterfaces1002阅读dpapisrv.dll

通过编辑注册表项值将 DLL 加载到 lsass.exe 中

我们构建了一个提升到 TrustedInstaller 的程序来编辑其中一个注册表项,并用我们的名称替换原始的 DLL 名称。

通过编辑注册表项值将 DLL 加载到 lsass.exe 中

笔记

同一个程序会禁止 PPL 将未签名的 DLL 加载到 LSASS 中。否则,我们将陷入启动循环,因为 LSASS 会在启动前崩溃(因为加载了未签名的 DLL)。可以通过加载已签名但存在漏洞的 DLL 并稍后利用它(BYOVDLL - 自带漏洞 DLL)来解决这个问题。

我们正在替换dpapisrv.dllDLL 而不是lsasrv.dllDLL,因为后者 DLL 具有更多的导出变量/函数,这使得代理此类 DLL 不太稳定(相比之下,dpapisrv.dll仅包含 2 个导出函数)。

下次系统启动后,我们的 DLL(Dummy.dll)将被加载到 Lsass.exe 中。

通过编辑注册表项值将 DLL 加载到 lsass.exe 中
项目地址:

https://github.com/Maldev-Academy/LsassHijackingViaReg

原文始发于微信公众号(Ots安全):通过编辑注册表项值将 DLL 加载到 lsass.exe 中

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月1日01:18:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通过编辑注册表项值将 DLL 加载到 lsass.exe 中https://cn-sec.com/archives/4022160.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息