跳转至

T1006-win-直接访问卷

来自ATT&CK的描述

攻击者可以直接访问一个卷,以绕过文件访问控制和文件系统监控。Windows允许程序直接访问逻辑卷。拥有直接访问权的程序可以通过分析文件系统的数据结构直接从驱动器中读写文件。这种技术可以绕过Windows文件访问控制以及文件系统监控工具。

诸如NinjaCopy这样的实用程序,可以在PowerShell中执行这些操作。

测试案例

通过DOS命令(PowerShell)读取卷引导扇区

此测试使用PowerShell通过DOS命令,并对卷的前几个字节执行直接访问读取。成功时,将显示卷的前11个字节的十六进制转储。 对于NTFS卷,它应符合以下顺序(NTFS分区引导扇区):

           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   EB 52 90 4E 54 46 53 20 20 20 20                 ëR?NTFS

攻击命令。用powerhell运行! 需要提升权限(如root或admin)。

$buffer = New-Object byte[] 11
$handle = New-Object IO.FileStream "\\.\#{volume}", 'Open', 'Read', 'ReadWrite'
$handle.Read($buffer, 0, $buffer.Length)
$handle.Close()
Format-Hex -InputObject $buffer

检测日志

暂无,经过本地复现,Windows安全日志、Powershell操作日志、Sysmon日志未记录到此命令的执行情况。

测试复现

测试1 Read volume boot sector via DOS device path (PowerShell)

PS C:\Windows\system32> $buffer = New-Object byte[] 11
PS C:\Windows\system32>  $handle = New-Object IO.FileStream "\\.\C:", 'Open', 'Read', 'ReadWrite'
PS C:\Windows\system32>   $handle.Read($buffer, 0, $buffer.Length)
11
PS C:\Windows\system32>  $handle.Close()
PS C:\Windows\system32>  Format-Hex -InputObject $buffer


           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   EB 52 90 4E 54 46 53 20 20 20 20                 ëRNTFS


PS C:\Windows\system32>

日志留痕

暂无

检测规则/思路

建议

监控处理由进程打开的驱动器卷,以确定它们何时可以直接访问逻辑驱动器。

监控进程和命令行参数,看是否有可能采取行动从逻辑驱动器复制文件并规避普通文件系统保护。由于这种技术也可能通过PowerShell使用,建议对PowerShell脚本进行额外的记录。

参考推荐

MITRE-ATT&CK-T1006

https://attack.mitre.org/techniques/T1006

Atomic-red-team-T1006

https://github.com/redcanaryco/atomic-red-team/tree/master/atomics/T1006