套接字读取到意外的eof_SassyKitdi:内核模式TCP套接字+LSASS转储

b2e6904b543c4e00f4031ac46a7e0339.png

0x00 概述

本文主要介绍Windows NT的内核模式Payload,称为“SassyKitdi”(LSASS+Rootkit+TDI)。这种Payload可以通过远程内核漏洞利用(例如:EternalBlue、BlueKeep、SMBGhost)以及本地内核漏洞利用(例如:恶意驱动程序)进行部署。从Windows 2000到Windows 10,这个漏洞的Payload是通用的,在Payload中不再需要携带DKOM偏移量。 Payload与用户模式不会进行任何交互,并使用传输驱动程序接口(TDI)创建反向TCP套接字,该接口是更现代的Winsock内核(WSK)的前身。LSASS.exe进程内存和模块随后通过网络发送,这些信息将转换为minidump文件发送到攻击者一侧,并通过使用Mimikatz等工具提取用户凭据。 PoC位于: https://github.com/zerosum0x0/SassyKitdi 其中,位置无关的Shellcode大小约为3300字节,完全使用Rust编程语言编写,其中使用了许多高级抽象。在这里,我将描述使用Rust语言来实现Shellcode需求的一些优势,并说明需要采取的防范措施。 SassyKitdi方法的简化示意图: 7f0cad752d1a83cd49d07657614cb16e.png 我没有使用所有的反病毒软件对其进行测试,但是考虑到大多数反病毒软件都不会产生告警,因此我可以假设目前这种方法可以绕过大多数反病毒软件。 最后,我将讨论未来的内核模式Rootkit的外观,如果以本文的样本为例,还需要进行一些进一步的操作。这也正所谓是老瓶装新酒。  

0x01 传输驱动程序接口

TDI是与所有类型的网络传输进行通信的传统方式。使用这种方式,可以建立与攻击者的反向TCP连接。其他Payload(例如绑定套接字、UDP)将遵循类似的方法。 在Rootkit中,TDI的使用并不普遍,但在一些书中已经进行了详细的说明,这些书可以作为参考: Vieler, R. (2007). Professional Rootkits. Indianapolis, IN: Wiley Technology Pub.
Hoglund, G., & Butler, J. (2009). Rootkits: Subverting the Windows Kernel. Upper Saddle River, NJ: Addison-Wesley.

1.1 打开TCP设备对象

根据设备名称(在示例中为\Device\Tcp)可以找到TDI设备对象。本质上,我们将ZwCreateFile()内核API与设备名称一起使用,并通过文件扩展属性来传递选项。
    pub type ZwCreateFile = extern "stdcall" fn(        FileHandle:         PHANDLE,        AccessMask:         ACCESS_MASK,        ObjectAttributes:   POBJECT_ATTRIBUTES,        IoStatusBlock:      PIO_STATUS_BLOCK,        AllocationSize:     PLARGE_INTEGER,        FileAttributes:     ULONG,        ShareAccess:        ULONG,        CreateDisposition:  ULONG,        CreateOptions:      ULONG,        EaBuffer:           PVOID,        EaLength:           ULONG,    ) -> NTSTATUS;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值