Yaxser/Backstab
杀死受 EDR 保护的进程
有这些本地管理员凭据,但 EDR 挡在路上了吗?取消挂钩或直接系统调用对 EDR 不起作用?好吧,为什么不直接杀了它?
Backstab 是一种工具,能够通过利用 Microsoft 签名的 sysinternals 的 Process Explorer (ProcExp) 驱动程序来杀死受反恶意软件保护的进程。
它能做什么?
Usage: backstab.exe <-n name || -p PID> [options]
-n, Choose process by name, including the .exe suffix
-p, Choose process by PID
-l, List handles of protected process
-k, Kill the protected process by closing its handles
-x, Close a specific handle
-d, Specify path to where ProcExp will be extracted
-s, Specify service name registry key
-u, Unload ProcExp driver
-a, adds SeDebugPrivilege
-h, Print this menu
Examples:
backstab.exe -n cyserver.exe -k [kill cyserver]
backstab.exe -n cyserver.exe -x E4C [Close handle E4C of cyserver]
backstab.exe -n cyserver.exe -l [list all handles of cyserver]
backstab.exe -p 4326 -k -d c:\\driver.sys [kill protected process with PID 4326, extract ProcExp driver to C:\ drive]
这怎么可能?
ProcExp 有一个签名的内核驱动程序,它在启动时加载,它允许它杀死即使作为管理员也无法杀死的句柄。当您使用 UI 时,您无法终止受保护的进程,但您可以终止它的句柄,因为 ProcExp UI 指示内核驱动程序终止这些句柄。Backstab 做同样的事情,但没有 UI 元素。
操作安全
这是发生的事情的简要说明
- 嵌入式驱动程序被删除到磁盘
- 创建 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的注册表项
- 获取权限 SE_PRIVILEGE_ENABLED 是因为需要加载驱动
- 使用 NtLoadDriver 加载驱动程序以避免创建服务
- 创建的注册表项被删除(执行期间服务不可见)
- 与驱动程序的通信是通过使用 DeviceIoControl
对于句柄枚举,调用 NtQuerySystemInformation
你还应该知道的
该工具的行为模仿 ProcExp 的行为。ProcExp 将驱动程序拖放到磁盘,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下创建注册表项,调用 NtLoadDriver,然后删除注册表项
- 您可以指定将驱动程序拖放到的位置和服务名称
- 完成后,应用程序将卸载驱动程序。通过首先重新创建注册表项然后调用 NtUnloadDriver 来卸载驱动程序
- 加载的驱动程序由 MS 签名
- 该进程不会尝试直接杀死受保护的进程句柄,它会指示 ProcExp 驱动程序杀死它们。您不会被指控试图篡改任何流程
进一步的研究
虽然工具的目的是列出和杀死句柄,但机会是巨大的。可以将句柄复制到您自己的进程而不是杀死它们。
这可能允许在您写入文件、触发事件、保持互斥锁的位置进行更深入的篡改。
为了支持进一步的研究,我尝试使代码可读并将其拆分为许多方法以方便重用,我还对所有与 ProcExp 相关的方法进行了描述。请随时通过Twitter或电子邮件与我联系Credits
- 作者:Yasser Alhazmi (@Yas_o_h)
- Pavel Yosifovich:(@Zodiacon)在他很棒的Windows 内部课程中向我们提到,像 ProcExp 这样的内核驱动程序可能会造成太多的意外损坏
- Cornelis de Plaa @Cn33liz和 Outflank Team @OutflankNL:对于Ps-Tools和他们出色的 Github 存储库,总是提供丰富的信息
- Mark Russinovich:ProcExp 和所有 Sysinternals 工具!