• 如何使用AutoElevate实现UAC绕过和权限提升


    关于Auto-Elevate

    Auto-Elevate是一款功能强大的Windows系统安全测试工具,该工具可以在不需要离邕任何LPE漏洞的 情况下,通过结合COM UAC绕过技术和令牌伪造技术,帮助广大研究人员将低完整性的管理员账号提升至NT AUTHORITY\SYSTEM。

    该工具能够实现UAC以及其他一些Windows内置功能的绕过,该工具能够自动定位winlogon.exe,并能够窃取和模拟该程序的进程令牌,然后使用窃取来的令牌生成一个新的系统级进程。

    值得一提的是,该工具结合了UACME实用工具的UAC绕过技术,感兴趣的同学可以搜索了解该工具所实现的ICMLuaUtil UAC绕过方法(#41)。

    技术介绍

    该工具是一款功能强大的提权和系统安全测试工具,下图显示的是Auto-Elevate将一个低等级权限的管理员账号提升为SYSTEM的步骤流程:

    工具运行流程

    1、工具通过使用CreateToolhelp32Snapshot、Process32First和Process32Next来枚举目标系统中正在运行的进程以查找定位winlogon.exe;

    2、通过调用AdjustTokenPrivileges来为当前进程启动SeDebugPrivilege,因为我们需要为winlogon.exe开启一个句柄;

    3、通过调用OpenProcess来打开一个winlogon.exe进程句柄,此时将会调用到PROCESS_ALL_ACCESS;

    4、工具将通过调用OpenProcessToken并结合之前获得的进程句柄来检索winlogon的进程令牌句柄;

    5、通过调用ImpersonateLoggedOnUser来伪造winlogon用户;

    6、通过使用SecurityImpersonation来调用DuplicateTokenEx并复制伪造的令牌句柄,这将创建一个我们可以使用的令牌副本;

    7、在令牌副本的帮助下,我们就可以通过调用CreateProcessWithTokenW来生成一个新的CMD实例了;

    工具下载

    广大研究人员可以使用下列命令将该项目源码克隆至本地:

    git clone https://github.com/FULLSHADE/Auto-Elevate.git

    接下来,将.cpp文件导入到Visual Studio中编译后即可直接使用。

    工具使用

    下图中演示了如何在Windows 10 21H1操作系统平台上,使用UACME结合Auto-Elevate来将一个低等级权限的管理员账号提升为NT AUTHORITY\SYSTEM:

    下图演示了如何在不使用UAC绕过技术的情况下,将一个高低等级权限的管理员账号提权为SYSTEM:

    项目地址

    Auto-Elevate:【GitHub传送门

    参考资料

    https://attack.mitre.org/techniques/T1134/

    https://attack.mitre.org/techniques/T1134/001/

    https://attack.mitre.org/techniques/T1134/002/

    https://attack.mitre.org/techniques/T1134/003/

    转: https://www.freebuf.com/articles/system/328803.html

  • 相关阅读:
    【JDBC】JDBC实战
    【JDBC】JDBC操作实战
    【Oracle】事务、表复制
    Hibernate 再接触 继承映射
    Hibernate 再接触 集合映射
    Hibernate 再接触 CRUD
    Hibernate 再接触 多对多单向双向关联
    Hibernnate 一对多多对一双向关联
    Hibernate 再接触 一对多单向关联
    Hibernate 再接触 多对一与一对多
  • 原文地址:https://www.cnblogs.com/0daybug/p/16167430.html
Copyright © 2020-2023  润新知