首页
论坛
课程
招聘
火绒剑杀死进程分析
2022-7-28 18:00 7124

火绒剑杀死进程分析

2022-7-28 18:00
7124

为什么要研究火绒剑是怎么杀死进程的?

公司也是做DLP数据防泄漏的,客户机器上装了免费的火绒安全软件就能杀死我们的进程了,这怎么能行那?客户还不允许火绒剑不好使,那没有办法就大概看一下火绒剑是怎么杀死进程的。

判断它是通过应用层还是驱动层杀死的进程

使用上我们的PCHUNTER工具,卸载掉火绒的驱动,试一下。

结果火绒剑弹出了错误的弹窗。
图片描述

在我们重启虚拟机的期间,打开IDA看看火绒的驱动

看一下导入表导入的函数

图片描述
看到了ZwTerminateProcess函数,这还用想嘛,肯定是调用了这个函数的哇。
直接按X查看交叉引用,
图片描述
一共有3个驱动函数调用这个API了,这不简单了吗,直接上WINDBG双机调试,看看它们能不能断下来!
图片描述
哇!我的天哇,果然没有那么简单这3个函数都没有调用,难道它写一个这个结束进程一点用没有?

柳暗花明又一村

它肯定要通过我们的PID获取我们的进程的嘛,我们看一下导入表,
图片描述
果然发现了关键的函数,PsLookupProcessByProcessId,一套操作再来一遍,然后看看我们结束进程的时候,会走哪个函数。
图片描述
当我们点击确定的时候,可以发现
图片描述
进入了第7个函数的断点,我们来看看它是怎么实现的?
图片描述
这个42790所在的函数就会返回一个进程句柄给R3程序?
这个是不是也可以用在某游戏上CE没有图标的问题,拥有了进程句柄,CE就可以正常的读写游戏了吧。
不想那些,我直接修改一下这个函数,直接让它返回空。
图片描述
按G,继续运行,我的天哇,怎么就调用了那个会调用ZwTerminateProcess的函数了那,也直接给他返回,不让这个函数进行任何的操作,我们来看一看进程会不会被杀死?
图片描述
这个进程竟然杀不死了,
看一下R3进程的导入表
图片描述
因此我们大概猜测出来了这个结束进程的流程了。

结论

火绒剑的结束进程,先是通过驱动打开对应进程的进程句柄,然后R3调用结束进程的API,如果驱动没有返回进程的进程句柄,则会通过驱动杀死进程。
分析到这里就够了,然后就是想着如何劫持它的IO通信,在他调用对应的消息号的时候,是我们的进程就返回失败的问题了,让一切归于平静!


IDA插件开发入门

收藏
点赞2
打赏
分享
最新回复 (6)
雪    币: 719
活跃值: 活跃值 (13596)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
SSH山水画 活跃值 3 2022-7-28 18:12
2
0
刑啊,日子越来越有判头了
雪    币: 18
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_kglcxzom 活跃值 2022-7-29 09:13
3
0
又学到了一个入狱小技巧
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
我skyddr 活跃值 2022-7-30 23:12
4
0
感谢老大分享!
雪    币: 1365
活跃值: 活跃值 (2116)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
危楼高百尺 活跃值 1 2022-7-31 15:42
5
0
我看刑
雪    币: 1434
活跃值: 活跃值 (1313)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
killleer 活跃值 2022-7-31 18:49
6
0
蒸蚌!
雪    币: 1997
活跃值: 活跃值 (586)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Demons_k 活跃值 2022-8-9 15:42
7
0
佬太强了
游客
登录 | 注册 方可回帖
返回