首页
社区
课程
招聘
[求助]请教一个关于远程进程读写的问题
2008-9-6 14:36 4067

[求助]请教一个关于远程进程读写的问题

2008-9-6 14:36
4067
最近发现一个程序远程检测另外一个进程中的某个模块的特征,大概分析了一下,能够躲过了,但是还是有些东西不清楚,希望各位高人给点意见。

这个进程通过调用NtQueryVirtualMemory对远程进程的内存空间进行线性检测,没有自己跟进去,但是完全可以猜想到就是根据查询出的结果判断该map是否是属于一个模块的image.知道了这一点其实就可以用很多方法绕过了,比如ring3的HOOK或者ring0的SSDT hook等,我试了一下,完全能够成功。

但是我很想知道他究竟是如何判断出他的黑名单中的模块特征的。最初我猜想他可能会在ring3调用 ReadProcessMemory或者NtReadVirtualMemory,于是我下了ring3钩子,发现没怎么调用,调用的时候已经是找出了黑名单模块,通过这个接口来读取ModuleList获取模块名和模块路径了...我猜想是不是他自己封装了自己的应用层NtReadVirtualMemory(自己推参后直接jmp 到sysenter或者int 2E),如果是的话,我去ring0 Hook NtReadVirtualMemory应该就没有问题了。于是在自己的服务中Hook了NtReadVirtualMemory,结果和 Hook ring3的时候差不多,还是没有找到他读取目标进程某个模块空间中的信息的地方。

各位能不能给我点建议,除了采用NtReadVirtualMemory 这个ring0接口,还有什么方式能够读取远程进程空间的数据啊?

我现在已经准备开始写MmCopyVirtualMemory 的钩子了,希望能HOOK住,但是我直觉应该不是走的这调路,应该还有其他更简单的方法。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 356
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
stupidass 2008-9-6 17:17
2
0
恩,找到问题了....相当之猥琐......
游客
登录 | 注册 方可回帖
返回