本文章为Atomic Red Team系列文章,本篇文章内容为T1006-直接卷访问、T1007-系统服务发现。本文的目的旨在帮助安全团队开展安全测试,发现安全问题,切勿将本文中提到的技术用作攻击行为,请切实遵守国家法律法规。
重要声明: 本文档中的信息和工具仅用于授权的安全测试和研究目的。未经授权使用这些工具进行攻击或数据提取是非法的,并可能导致严重的法律后果。使用本文档中的任何内容时,请确保您遵守所有适用的法律法规,并获得适当的授权。
T1006 - 直接卷访问
-
本页内容 -
原子测试#1 - 通过DOS设备路径读取卷引导扇区(PowerShell) -
来自ATT&CK的描述 -
原子测试
来自ATT&CK的描述
攻击者可能会直接访问卷,以绕过文件访问控制和文件系统监控。Windows允许程序直接访问逻辑卷。具有直接访问权限的程序可以通过分析文件系统数据结构,直接从驱动器读取和写入文件。这种技术可能会绕过Windows文件访问控制以及文件系统监控工具。(引用:Hakobyan 2009)
存在一些工具,如NinjaCopy,可在PowerShell中执行这些操作。(引用:Github PowerSploit Ninjacopy)攻击者也可能使用内置或第三方工具(如vssadmin、wbadmin和esentutl)从系统卷创建数据的卷影副本或备份。(引用:LOLBAS Esentutl)
原子测试
原子测试#1 - 通过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
- 支持的平台
Windows - 自动生成的GUID
88f6327e - 51ec - 4bbf - b2e8 - 3fea534eab8b - 输入参数
|
|
|
|
---|---|---|---|
|
|
|
|
- 攻击命令
使用 powershell
运行!需要提升权限(例如root或管理员权限)
$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
T1007 - 系统服务发现
T1007 - 系统服务发现
来自ATT&CK的描述
攻击者可能会试图收集有关已注册的本地系统服务的信息。他们可能会使用工具以及操作系统实用命令来获取服务相关信息,例如sc query
、tasklist /svc
、systemctl --type=service
和net start
。
攻击者在自动发现过程中,可能会利用系统服务发现获取的信息来规划后续行为,包括是否完全入侵目标系统以及是否尝试执行特定操作。
原子测试
-
原子测试#1 - 系统服务发现 -
原子测试#2 - 系统服务发现 - net.exe -
原子测试#3 - 系统服务发现 - systemctl/service -
原子测试#4 - 获取服务执行信息
原子测试#1 - 系统服务发现
识别系统服务。
执行成功后,cmd.exe将执行服务命令,并将预期结果输出到标准输出。
- 支持的平台
Windows - 自动生成的GUID
89676ba1 - b1f8 - 47ee - b940 - 2e1a113ebc71 - 攻击命令
使用 command_prompt
运行!需要提升权限(例如root或管理员权限)
tasklist.exe
sc query
sc query state= all
原子测试#2 - 系统服务发现 - net.exe
使用net.exe枚举已启动的系统服务,并将其写入文件。这种技术已被多个威胁行为者使用。
执行成功后,cmd.exe将运行net.exe来查询服务。预期输出会写入临时目录中名为service - list.txt的文本文件。
- 支持的平台
Windows - 自动生成的GUID
5f864a3f - 8ce9 - 45c0 - 812c - bdf7d8aeacc3 - 输入参数:
|
|
|
|
---|---|---|---|
|
|
|
|
- 攻击命令
使用 command_prompt
运行!
net.exe start >> #{output_file}
- 清理命令
del /f /q /s #{output_file} >nul 2>&1
原子测试#3 - 系统服务发现 - systemctl/service
使用systemctl/service枚举系统服务。
- 支持的平台
Linux - 自动生成的GUID
f4b26bce - 4c2c - 46c0 - bcc5 - fce062d38bef - 攻击命令
使用 bash
运行!
if [ "$(uname)" = 'FreeBSD' ]; then service -e; else systemctl --type=service; fi;
原子测试#4 - 获取服务执行信息
执行Get - Service cmdlet来收集代表本地系统上所有服务的对象。
- 支持的平台
Windows - 自动生成的GUID
51f17016 - d8fa - 4360 - 888a - df4bf92c4a04 - 攻击命令
使用 command_prompt
运行!
powershell.exe Get-Service
原文始发于微信公众号(网空安全手札):T1006 - 直接卷访问、T1007-系统服务发现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论