首页
社区
课程
招聘
[原创]InfinityHook获取CkclWmiLoggerContext快速简单方法
2022-9-11 15:42 6960

[原创]InfinityHook获取CkclWmiLoggerContext快速简单方法

2022-9-11 15:42
6960

如题,小白菜今天刚学到了ETWhook,瞻仰拜读各位师傅的代码。发现各位师傅获取CkclWmiLoggerContext的方法都是爆搜.data和.rdata节。但是因为这个是从内核文件PE结构中确定地址。所以要写很多其他代码。而且爆搜,时间复杂度也不是O(1)。小菜这里提供另一种获取CkclWmiLoggerContext的方法,直接通过导出函数获取就行了。不用在额外写获取PE结构以及节区偏移的代码了。
具体方法:
1.通过MmGetSystemAddress()获取EtwRegisterClassicProvider函数地址。通过IDA观察已导出(应该是能获取到,不过我还没试过。)
图片描述
2.找到EtwpHostSiloState。
图片描述
3.按照如下操作即可找到CkclWmiLoggerContext

1
2
3
4
puEtwpDebuggerDataSilo =
(ULONG_PTR*)(*(ULONG_PTR*)puEtwpDebuggerDataSilo + 0x1c8);
 
uCkclWmiLoggerContext=puEtwDebuggerDatasilo[2];

在Windbg中如图:
图片描述
图片描述
和某师傅在github上发的是获取的一样的.
总结,内核小白菜,逆向小白菜。不知道这个方法是不是很垃圾。只是我刚学完ETWhook时候用硬断找到的。如果很傻的话,还请各位师傅划过吧。
编辑:我发现那个函数获取不了,用另一个导出函数:EtwSendTraceBuffer


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2022-9-12 09:16 被Oxygen1a1编辑 ,原因: 更正错误
收藏
点赞1
打赏
分享
最新回复 (5)
雪    币: 12837
活跃值: (8993)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2022-9-12 20:46
2
0
建议直接抄2345Base.sys
雪    币: 1414
活跃值: (4175)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Oxygen1a1 2022-9-12 20:59
3
0
hzqst 建议直接抄2345Base.sys[em_12]
这就去看大表哥的帖子去
雪    币: 1414
活跃值: (4175)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Oxygen1a1 2022-9-17 15:35
4
0
hzqst 建议直接抄2345Base.sys[em_12]
大表哥,抱歉打扰您,我想问您个关于dll注入的问题
我最近再写内存dll注入(ACE)
驱动里面用的这些内核函数
NtWriteProcessMemory NtReadProcessMemory

NtVirtualAllocMemory NtVirtualProtectEx这些函数

在每次执行这些函数的时候,我都把PreviousMode改成0 这也就不会出现权限问题了。

然后在创建远程线程的时候,发现线程起不来,发现TP hook了R3的LdrInitializeThunk(InlineHook),于是在CreateRemoteThread的之前修改了哪个地方的Hook,使他变成原来的shellcode,改完之后马上又改回来那个r3 Hook

但是新问题又出现了,线程只能存在一瞬间,消息框也能弹出来,但是用不了1s,游戏就崩了。

退出码是STATUS_HEAP_CORRUPTION

前面研究的BUG还好说,在自己能力范围内,这个崩溃是真找不到错误了....
雪    币: 1414
活跃值: (4175)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Oxygen1a1 2022-9-17 15:39
5
0
hzqst 建议直接抄2345Base.sys[em_12]
我想问下大表哥,是我的注入时机不对,还是说TP对于自身存在的线程有检测
雪    币: 35
活跃值: (1756)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
shuwoa 2022-12-26 05:23
6
1
Oxygen1a1 我想问下大表哥,是我的注入时机不对,还是说TP对于自身存在的线程有检测
恢复ace的线程回调 恢复r3 ZwCreateThreadEx  (如果是远程创建恢复远程创建入口的HOOK) 、LdrInitializeThunk    
游客
登录 | 注册 方可回帖
返回