点击蓝字 关注我们
免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
关于
自带易受攻击的驱动程序(BYOVD)进程杀手
这是与博客文章相关的源代码,该博客文章关于利用probmon.sys
Minifilter驱动程序来创建进程杀手。
博客链接https://antonioparata.blogspot.com/2024/02/exploiting-minifilter-driver.html
演示视频(意大利语)yxxxxbe.com/watch?v=I4joF2sQWHU,其中MsMpEng.exe介绍(在20:40)
构建
在根目录下运行cargo build --release
。二进制文件将在targetreleases4killer.exe
中
使用
s4killer.exe <PID or PROGRAM>
例如。s4killer.exe notepad.exe
项目说明自带易受攻击的驱动程序(BYOVD)是一种使用易受攻击的驱动程序来实现特定目标的技术。BYOVD通常被恶意软件用来终止与安全解决方案(如EDR)相关的进程。有许多开源软件的例子(ab)使用易受攻击的驱动程序来实现此目的。最常用的驱动程序之一是Process Explorer驱动程序。在这种情况下,我们不能谈论漏洞,因为它是应用程序的一个功能,允许从其UI终止进程。
BYOVD正受到越来越多的关注,因为攻击者意识到终止EDR进程是一种更好的策略,而不是依靠混淆技术来逃避EDR检测。
利用Minifilter签名的驱动程序
所提到的驱动程序是安全解决方案的签名minifilter驱动程序的一部分。导入的函数之一是 ZwTerminateProcess因此,我的目标是检查是否可以在任意进程上调用此函数。
驱动程序首先调用 FltRegisterFilter 功能,以便注册过滤器。接下来,通过调用 FltCreateCommunicationPort.该调用指定参数 MessageNotifyCallback,这意味着用户模式应用程序可以通过使用 FilterSendMessage 功能此回调不公开对 ZwTerminateProcess 功能,但为了满足所需的先决条件,这是必要的。
在创建通信端口之后,驱动器通过调用函数来设置进程创建通知函数 PsSetCreateProcessNotifyRoutine.指定的回调 检查回调的第三个参数,名为 Create为false,否则函数立即返回。这意味着驱动程序只监控进程终止。在特定条件下,通知回调函数将调用 ZwTerminateProcess 功能
为了终止具有易受攻击的驱动程序的进程,必须满足两个先决条件:
-
要终止的进程的句柄是从全局变量中读取的。我们必须设置这个变量,否则当驱动程序试图终止一个进程时,KeBugCheckEx将被调用,生成一个BSOD
-
只有当调用minifilter的进程ID的值与关联于全局变量的值相同时,才会调用ZwTerminateProcess。
项目地址:
https://github.com/enkomio/s4killer
xiangmu
欢迎关注SecHub网络安全社区,SecHub网络安全社区目前邀请式注册,邀请码获取见公众号菜单【邀请码】
#
企业简介
赛克艾威 – 网络安全解决方案提供商
北京赛克艾威科技有限公司(简称:赛克艾威),成立于2016年9月,提供全面的安全解决方案和专业的技术服务,帮助客户保护数字资产和网络环境的安全。
安全评估|渗透测试|漏洞扫描|安全巡检
代码审计|钓鱼演练|应急响应|安全运维
重大时刻安保|企业安全培训
联系方式
电话|010-86460828
官网|https://sechub.com.cn
关注我们
公众号:sechub安全
哔哩号:SecHub官方账号
原文始发于微信公众号(SecHub网络安全社区):利用易受攻击的Minifilter驱动程序创建kill进程