锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
攻破windows 10操作系统PatchGuard的理论研究和成果展示

作者: 佚名  日期:2018-07-19 08:45:38   来源: 本站整理

 PatchGuard (简称PG) 是微软在x64体系下加入的内核哨兵,作用是检测系统关键点是否被恶意篡改,也就是说,在x64下不能像X86下面那样各种SSDT HOOK  INLINE HOOK
了,同时以前的一些骚操作例如断链隐藏进程,调试端口清零都不能做了,当然,内核界猛人辈出,看雪的老V就曾放出过win7 x64的过PG源码,于是大家都乐呵了。好景不长
win10来了,早年的方法统统不能用了,网上也曾开源过一些pass win10的源码,但都是静态的(也就是修改内核文件,需要重启电脑),意义不是很大。后来织梦论坛的大佬
另辟蹊径,想到了动态过的办法,并且把思路公开了,看雪的老V后来在这个思路的基础上,进行了深入的研究,也开源了一部分代码(伪码),该思路一直能用到win10 1607上

我在研究了PG系统和老V的源码后,在他的基础上更进一步,能一路杀到1803,好吧 废话有点多了,直接讲重点吧。

PG在初始化的时候,会随机将自己的PG代码复制N分到非换叶内存里去,有时候是0  有时候是5,我最多一次抓到了五个,但不确定是不是五个。

前面的思路都和织梦老大,老V等人的一样  
贴代码


PVOID LoadAndReadFile(WCHAR * szFileName)

第一步 将NT模块载入内存
第二步  搜KEY  (这部分代码在GITHUB上有,我就不贴了,因为没有得到作者授权)
第三步  扫BIGPOOL
PSYSTEM_BIGPOOL_INFORMATION pBigPoolInfo = (PSYSTEM_BIGPOOL_INFORMATION)ExAllocatePoolWithTag(NonPagedPool, sizeof(SYSTEM_BIGPOOL_INFORMATION), 'ttt');
ULONG64 ReturnLength = 0;
        status = ZwQuerySystemInformation(SystemBigPoolInformation, pBigPoolInfo, sizeof(SYSTEM_BIGPOOL_INFORMATION), &ReturnLength);

BIGPOOL里 有分页内存和非分页内存
因为PG必须执行在非分页内存里,所以就不用扫分页内存了

到这里 我和老V的思路都是一样的,最大的区别是 bigpool会出现一种奇怪的现象,什么呢  就是系统PTE越界的问题,当你扫PG的代码的时候,有时候会跳过两个连续的页面
大概意思就是 A 和B 页面 是连在一起的,扫完A后,应该接着扫B,但是参考老V的代码,会出现跳过B的情况,还有种情况就是要考虑页面大小的问题 到底是4K的页面 还是2MB的页面 也要加入判断

所以最后我果断放弃了搜BIGPOOL
直接爆搜物理内存,攻击PG流程的代码 也能在前文说的那个网站上搜到,我也就不贴了。
所以,最终的解决方案就是
1.放弃掉BIGPOOL  直接搜物理内存
2.要判断一下系统PTE的页面大小

当然 这只是攻击PG的思路,具体到代码还是有很多骚操作和小技巧的,我就不细说了,有兴趣的朋友可以谷歌搜索下PG1,2,3的分析文章,会对你有帮助的
然后据说在1803上 加入了新的守护体系 H-TV,但是好像我的代码依旧能跑,该怎么钩还是怎么钩。

 
最长的一次挂了一夜没蓝屏

但是有个奇怪的BUG  就是在内存32G的机器上,会引发一个硬件异常,至今没分析明白!蛋疼
1803也能钩,只是PCHUNTER不支持1803 我就没办法展示了。

写在最后,一般讨论这样的话题,都会引起纷争,因为我也确实没放什么干货,我其实挺想开源的,但是这玩意不是我一个人搞出来的,见谅
全部思路来自织梦老大和看雪老V,我只是在他们的基础上,解决了一些小问题。


一个半小时过去了 没蓝屏



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等