本文讲的是如何使用CHM 绕过Device guard,在过去6个月里,利用业余时间我进行了一些安全研究,因为我觉得很有趣。在此期间,我很幸运地找到了另一个有效的Device Guard UMCI旁路(我发现了Bypassing Application Whitelisting with BGInfo),并将其报告给了Microsoft安全响应中心。

在与MSRC进行交流后,他们告诉我,这已经被另一个安全研究人员发现,但是他会把这个cve给我。我不是一个逆向工程师,所以我不会做已修复漏洞的逆向,而是专注于我如何发现这一点,我发现这个开始于我在Windows和system32文件夹中查找二进制文件。我经常这样做,以发现新的东西,我偶然发现一个名为hh.exe的二进制文件。

我继续运行“hh.exe /?”。假设我会得到一些帮助的命令或错误。那么这不是发生了什么事。

我取而代之:

这触发了我的好奇心。这个技巧仍然适用于最新的Windows 10,尝试了很多不同方法后,我意识到可以通过hh.exe浏览互联网。只要输入“hh.exe http://www.google.com”即可证明这一点。(仍然在最新的Windows 10中工作)

看起来像这样:

第一件令我想到的是检查hh.exe进程的完整性级别,并猜测什么…。

是的,我的hh.exe中的“浏览器”是以中等完整性模式运行的,而正常的iexplore进程运行在低。这应该可以更容易地利用hh.exe中的浏览器。

尝试了很多不同的方法后,我想我会尝试创建一个自定义的帮助文件,其中包含代码,因为HH.exe主要用于显示帮助文件。我在网上搜索了这些项目的任何有效来源,并偶然发现:

https://raw.githubusercontent.com/samratashok/nishang/master/Client/Out-CHM.ps1(感谢Nikhil“SamratAshok”Mittal)

要运行此脚本,我必须首先下载并安装“HTML帮助研讨会和文档”:http://www.microsoft.com/en-us/download/details.aspx?id=21138

我最终创建了我自己的Nikhil版本的脚本,因为我只想证明我的PoC并可以弹出一个计算器。我的PoC脚本可以在这里找到:https://gist.githubusercontent.com/api0cradle/95ae3c7120f16255d94088bd8959f4b2/raw/fa25b85e85bbb64c5cf021adf92b125357086a6f/GenerateCHM_1.0.ps1

此脚本生成一个简单的.CHM,通过ActiveX启动Calc.exe。

当然你也可以做其他有趣的攻击。例如,运行Cn33liz StarFighters 以获取帝国代理:https://github.com/Cn33liz/StarFighters/

我的PoC脚本的有趣部分是这些行:

这个gif显示了Device Guard旁路操作:

Windows 10 Creators更新版v1703(又名Redstone 2)中已解决此问题,或者如果要在旧版本的Windows 10上进行修补,可以在这里找到正确的补丁https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-8625

在我将机器更新到Windows 10的v1703之后,当我尝试运行自定义CHM文件时,我收到此错误:

希望这篇文章可以让你学到知识,能启发您进行自己的安全研究,使Windows更安全。如果您有兴趣了解有关Device Guard的更多信息,我建议您阅读Microsoft官方文档和Matt Graeber的一些博客(他们帮助我):

https://docs.microsoft.com/en-us/windows/device-security/device-guard/device-guard-deployment-guide
http://www.exploit-monday.com/2016/09/introduction-to-windows-device-guard.html
http://www.exploit-monday.com/2016/09/using-device-guard-to -mitigate-against.html
http://www.exploit-monday.com/2016/10/code-integrity-policy-reference.html
http://www.exploit-monday.com/2016/11/code-integrity -policy-audit-methods.html
http://www.exploit-monday.com/2016/11/Effectiveness-of-Device-Guard-UMCI.html
http://www.exploit-monday.com/2016/12 /updating-device-guard-code-integrity.html
原文发布时间为:2017年8月22日
本文作者:愣娃
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
原文链接

如何使用CHM 绕过Device guard相关推荐

  1. Windows 10 S中的Device Guard详解(上篇)

    本文探讨Windows 10 S(下称Win10S)中的Device Guard(设备保护,下称DG).我将提取策略,并弄清楚在默认Win10S系统上可以和不可以运行什么.我将在下一篇文章中介绍在不安 ...

  2. Windows 10 中 VMware 要求禁用 Device Guard 问题

    今天在打开虚拟机的时候,突然出现下面这个错误.网上给了很多教程,基本上都是禁用 Device Guard 和关闭 Hyper-v,博主按照其方法操作,依旧出现下面错误.后来经过不懈努力,终于找到解决办 ...

  3. 【经验】VMware|windows更新20H2版本后VMware虚拟机无法开启(禁用Device guard)

    2021/04/27 针对 Windows 10 的功能更新, 版本 20H2. 出现如下报错. 解决方法参考官网:MSDN-<Manage Windows Defender Credentia ...

  4. Win10家庭版Hyper-V出坑(完美卸载,冲突解决以及Device Guard问题)

    如果你按照我这篇文章:Win10家庭版 开启Hyper-V 或者随便什么地方看到的方法,在Win10家庭版开启Hyper-V了,但是又和我一样用不惯这玩意儿,想要回到Vmware的怀抱,那么恭喜你,坑 ...

  5. Win10 家庭版 VMware Workstation与Device Guard不兼容问题

    Win10家庭版用虚拟机运行Ubuntu系统时,提示VMware与Device Guard不兼容,需要禁用Device Guard才能运行. 在网上找了很多方法,大多数都是说在本地组策略中禁用基于虚拟 ...

  6. WIN10 禁用 credentital guard Device Guard或Credential Guard与Workstation不兼容

    升级到WIN10 1903 版本后,发现 VMware 不能开机了,显示如下图: 如果需要运行VMware 虚拟机,必须关闭这个选项,经过多方面查资料,找到了一种我认为最可靠,同时也是最简单的方法. ...

  7. pcb结构链表_知乎

    01 前言 Pierre-Alexandre Braeken在SecTor2016上做了一个很棒的演讲--HACK MICROSOFT BY USING MICROSOFT SIGNED BINARI ...

  8. 解决虚拟机VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法

    在启用了Credential Guard或Device Guard的Windows 10主机上启动12.5版之前的VMware Workstation中的虚拟机时,将显示蓝色诊断屏幕(BSOD). 会 ...

  9. VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credenti

    出现问题的原因 出现此问题的原因是Device Guard或Credential Guard与Workstation不兼容. Windows系统的Hyper-V不兼容导致. 解决方案 第一步: 1.W ...

最新文章

  1. flask项目从本地迁移到服务器上遇到net::ERR_CONNECTION_R问题
  2. 克罗谈投资策略05_涨势买入,跌势卖出
  3. 推荐Linux音乐播放器:咪咕音乐
  4. mysql 提高查询速度_6条策略提高mysql查询速度
  5. Android ANR日志分析总结
  6. 【优秀毕设V2.0】基于树莓派的OpenCV-Python摄像头人脸追踪及手势识别、网络地址推流及远程控制系统(多功能系统、含演示视频)
  7. 记录ESP32 出现未定义vTaskGetRunTimeStats的奔溃时刻!
  8. 海康sdkC++二次开发之回放下载
  9. python+opencv+dlib实现人脸检测与表情识别
  10. web实现html页面思维导图效果
  11. 使用Python玩转高等数学(2):幂函数
  12. 网络协议之一(ICMP)
  13. Visual Studio Code安装教程(超详细)
  14. 数字化转型:核心架构、重要价值及实现路径
  15. java从项目里下载excel模板
  16. Oracle表空间扩展
  17. 打印流水号条码后自动更新数据
  18. 第20讲:Mybatis 中 XML 文件是如何解析的?
  19. Chrome BookMark_back(2011-2-25)
  20. iphonex 序列号_iPhonex序列号在哪看?iPhonex序列号查看方法介绍[图]

热门文章

  1. 面向对象编程:Java复杂数据类型用法
  2. 唠唠 RDS 那些事 —— RDS on Windows Server 2016 第二篇
  3. centos 6 apt.sw.be 错误 无法yum安装软件解决方案
  4. 《抓住“三伏天”习武健身的黄金季节》--胡俭雷
  5. 《jQuery Mobile入门经典》—— 2.2 展现CSS样式
  6. 有趣、高效的编程示例
  7. 烂泥:利用IIS、Zblog、SQLServer搭建ASP博客
  8. [文章摘录] Strategies for Early-Stage Collaborative Design (IEEE Software, 2012)
  9. 回车(carriage return)和换行(line feed)的区别和来历
  10. 问题四十八:怎么用ray tracing画superhyperboloid(超级双曲面)