Ring3下另一种结束卡巴斯基进程的新技术

本文介绍了如何在不使用Ring0的情况下,通过Ring3技术结束卡巴斯基进程。研究发现,卡巴斯基进程内部存在一个硬编码的事件对象,关闭该事件会导致进程退出。通过枚举并关闭相关事件句柄,可以实现进程的退出。文中提到,尽管卡巴斯基有Hook机制,但仍然可以通过DuplicateHandle和改变desire access来绕过。代码已附带,适用于特定版本的卡巴斯基产品。请注意,这种方法可能不适用于所有版本,并且卡巴斯基的进程守护功能对此有应对措施。
摘要由CSDN通过智能技术生成
卡巴斯基<1>启动的时候,两个进程内部都会创建一个事件用于同步退出,当显示关闭这个事件时,AVP进程会退出。这个事件内核对象名字是一个  GUID,一开始我以为是动态生成的,但据我逆向及在其他机器观察,这个事件是硬编  码,”6953EA60-8D5F-4529-8710-42F8ED3E8CDA”(为了方便,在本文,我把这个事件写成A事件,我猜想卡巴斯基开发  人员肯定读过windows核心编程,Jeffrey Richter 建议用GUID来命名事件^_^)。打开procexp.exe查找两个  avp.exe<2>进程内核对象,关闭A事件,这时AVP进程就会退出,各位看官可以在自己机器上测试^_^,AVP进程守护功能<3>在此不起作  用。Procexp.exe是如何做到关闭其他进程内核对象的呢?逆向之后发现procexp.exe是在ring0下完成的,偶不用ring0,直接  ring3。      卡巴斯基有Hook NtOpenProcess,不过当我们以PROCESS_QUERY_INFORMATION打开AVP时,仍然可以成  功<4>,同样卡巴斯基也有Hook NtDuplicateObject,一开始我以为如果调用DuplicateHandle来改变desire  access会失效,据牛人张翼的话:很多HIPS挂了NtDuplicateObject也是白挂。于是我尝试用Duplicate(….  PROCESS_DUP_HANDLE….)改变进程的desire access,卡巴斯基有两个进程,其中一个以SYSTEM账号运行的AVP进程  不能打开,只能打开另一个以当前用户运行的进程,足够了。当我们终止以当前用户运行的AVP进程时,卡巴就失效了。      成功打开了句柄后,采用NtQ
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值