|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
这个东西做出来可能一整年都在跑,量大了还是会被抓到 找注入还是比较容易的,因为自己的东西可以预测内存占用情况,知道哪些地方加载了啥。突然多一些出来肯定有问题。 |
|
|
|
|
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
目前钩KiAttachProcess的一大把啊,现在比的就是谁更流氓更底层 |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
如何写物理地址~别说physicalmemory对象……最好能完全自己实现不依赖其它部分 现在的检测越来越深至少是KiAttachProcess深层的 |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
DeAttach完本来就已经断开了 这个过程是短但是中间可能发生线程切换的啊,我的线程的时间片用完了它就能有机会了。再说现在都是多处理器系统没法保证它没机会检测到 |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
不一定发现后就拦截啊,栈回溯一下追踪到来源,然后想办法获取PE文件,最后传到云端…… 越底层越复杂,但搞安全的也不是傻子,知道有人靠内核重载绕过保护,肯定会寻找对抗方法。追踪ReadyListHead既不影响系统稳定性,又能有侦测到注入,误判是很好解决的,大不了先收集点信息不急着拦截嘛。 清ReadyListHead似乎不可行哦,后面DeAttach的时候应该要用到吧,而且把ReadyListHead清了目标进程可能还是不会被切换回内存,系统似乎要等一个进程有就绪的线程后才会换入…… |
|
有没有办法劫持核心DLL如kernel32.dll
R3劫持不好玩啊,要是对方直接自己写Native API呢 |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
对于大多开发商来说这不是啥问题,排除一下即可。。。而且对方发现注入后完全可以直接放过,并追踪来源,这比被拦截更可怕 |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
可能我的目标有点远:提出一种终极解决方案。。。检查ReadyListHead不失为反注入的好方案,对于特定的程序完全可以预知其ReadyListHead的变化情况。 多谢指教! |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
前面说啦,那种情况下它的EPROCESS->ReadyListHead里面就多了一个线程,这就暴露了。 虽然的确概率不是特别大,但这里依然是个漏洞。如果正好检查一下EPROCESS->ReadyListHead的话就能发现读写它进程内存的线程…… 重载不是万能的,恐怕100%可靠(忽略掉用VT挂HOOK的话)的实现得直接操作物理内存和页文件了…… |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
不止是SavedApcState啊,APC我用别的方法处理掉了 注意这几点,在KiAttachProcess里面 “如果要切换的进程(EPROCESS)不在内存中则将当前线程(ETHREAD->WaitListEntry)等 待链插入到要切换进程(EPROCESS->ReadyListHead)的就绪链表中……” (当目标进程不在内存中时): Process->State = ProcessInTransition; 要保证安全就不能动任何目标进程的相关数据…… |
|
[求助]为什么复制客户端就可以多开。这个限制原理是什么?
莫非比较了下文件路径? |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
参考这篇文章和WRK: http://www.whitecell.org/list.php?id=13 (这篇文章介绍了动态附加进程的过程,似乎那个时候还没有WRK,结论几乎全部由逆向工程得到而且和WRK中基本吻合,在此佩服一下) 中间的过程还是蛮繁琐的 |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
躲过HOOK可以绕开大部分检查,但是动了系统中的数据的话还是会有痕迹,参考上一个回复 |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
目标进程的就绪线程列表会有变化,可能会把本线程加入该链表。如果被抓到的话…… |
|
[求助]关于切换CR3读写进程内存时目标进程不在内存中
进程内存是可能被换出的,参考《Windows内核原理与实现》中的4.5.5节,或者WRK中的KeSwapProcessOrStack() 换出后PDE就不在物理内存中了,如果原来指向的地址正好变成了另一个进程的PDE的话就……(这种情况只是推测,未验证):eek |
|
一些关于R0读写进程内存的问题(APC?附加?换出?)欢迎拍砖
内核重载能躲掉大部分的浅层和中层HOOK,但是依然牺牲了隐蔽性…… 就是重载了,KeStackAttachProcess还是会留下不少痕迹 |
|
[求助]关于切换CR3读写进程内存时目标进程不在内存中
难道得严格按照KiAttachProcess模拟么。。。里面调用了线程管理的函数 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值