浅析360在系统的进程自保护及突破

自从改行玩硬件后,就很少关注病毒和反病毒之间的斗争了。某天在中关村论坛听到一
名网友说 360在WIN64 上有了进程自我保护,万分牛逼,连微软的Process Explorer都不
能结束呢!我听后心里十分好奇,于是重操旧业,下载了最新版本的360 安全卫士7.7版本
(2011-5-6),安装在64位 Windows 7虚拟机上来测试。
   首先拿“任务管理器”来测试,果然再次出现了熟悉的“拒绝访问”提示:

 

   然后尝试用用重载NTDLL + ZwGetNextProcess获得句柄,发现NTSTATUS的返回值总是
失败。后来发现OpenProcess可以在低权限下(比如以查询进程信息的权限
PROCESS_QUERY_INFORMATION)打开360 的进程,但是想用DuplicateHandle或者
NtDuplicateObject来获得同一进程的最高权限句柄时就失败了。然后又对线程如法炮制,
依然失败。最后用无句柄杀线程的绝招,连KiInsertQueueApc钩子都抵挡不住的 10 万次
PostThreadMessage,还是失败。初步测试,发现来者不善,决定先用IDA Pro 5.5分析一
下 360的驱动,再想办法。
  首先用 Win64AST(Win64下的系统工具,有查看内核模块,管理进程等功能,

查看 360加载的驱动:

   可以发现,360 在Win64 系统上只加载了两个驱动:360FsFlt.sys和一个网络相关的驱
动。其中,360FsFlt.sys从名字上来看是文件系统过滤驱动。经分析,在它的里面有进程
自我保护相关的内容。
   在做理智的分析之前,我们可以先进行猜测,猜测一下360会用什么手段来实现进程自
我保护。第一种方法是Ring 3 的 Inline Hook,虽然安全稳定,但是容易绕过。上次我虽
然有篇文章讲解如何反绕过Ring 3 Inline Hook,但是毕竟判断方法还有一定的瑕疵。所
以我断定,360不会这么做。第二种方法就是废掉Win64的PatchGua

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值