声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
在看雪刷到师傅的文章,
某企业壳frida检测绕过尝试 https://bbs.kanxue.com/thread-285932.htm
https://bbs.kanxue.com/thread-285964.htm
觉得这个思路不错。
某企业版最新版存在frida检测,并针对上一个版本的绕过方式pthread_create置空,进行了hook检测。
基本原理是frida在hook某个函数后,会修改该类似函数名称的字符串,这样才能在程序调用的时候跳转到frida 添加hook函数的地方。
某企业版就检测了这个特征,避免pthread_create被hook。
后续的解决思路是找到这个检测点,然后通过inlinehook,犹如手术刀般给它去掉。
不过上面文章有了别的解法,比如pthread_create的原理其实是调用了C的基础函数clone,并利用clone来创建进程。
而clone函数并不存在特征检测,那么直接hook clone函数,然后把检测的frida的线程hook掉不就行了?
得到的经验,在针对一个函数存在hook特征检测的时候,可以去寻找其生命周期中会调用的其他函数,从而绕过特征检测,达到目的。就像第二代加固的脱壳点一样。
不过,这个修复也很简单,多增加一个校验就是了。到后面,还是需要寻找检测点,给他hook掉。
原文始发于微信公众号(进击的HACK):某企业壳frida检测另辟蹊径的绕过
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论