可疑 DLL 加载用于持久化或权限提升

编辑

可疑 DLL 加载用于持久化或权限提升

编辑

识别加载未经 Microsoft 签名的 DLL,此 DLL 在默认 Windows 安装中不存在(幽灵 DLL),或者可以被本机 Windows 进程从其他位置加载。这可能被滥用于通过特权文件写入漏洞来实现持久化或提升权限。

规则类型: eql

规则索引:

  • winlogbeat-*
  • logs-endpoint.events.library*
  • logs-windows.sysmon_operational-*
  • endgame-*

严重性: 高

风险评分: 73

每隔: 5 分钟

搜索索引自: now-9m (日期数学格式,另请参见 额外回溯时间)

每次执行的最大告警数: 100

参考资料:

标签:

  • 领域:端点
  • 操作系统:Windows
  • 用例:威胁检测
  • 策略:持久化
  • 策略:权限提升
  • 策略:防御规避
  • 资源:调查指南
  • 数据来源:Elastic Endgame
  • 数据来源:Elastic Defend
  • 数据来源:Sysmon

版本: 213

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查可疑 DLL 加载用于持久化或权限提升

攻击者可以通过滥用进程尝试加载的缺失模块来执行恶意代码,从而提升权限或获得持久性。此规则识别加载未经 Microsoft 签名的 DLL,此 DLL 在默认 Windows 安装中不存在,或者可以被本机 Windows 进程从其他位置加载。

可能的调查步骤

  • 检查 DLL 签名并识别创建它的进程。
  • 调查该进程的任何异常行为,例如网络连接、注册表或文件修改以及任何生成的子进程。
  • 调查过去 48 小时内与用户/主机相关的其他告警。
  • 检索 DLL 并确定它是否是恶意的
  • 使用私有沙盒化恶意软件分析系统进行分析。
  • 观察并收集有关以下活动的信息
  • 尝试联系外部域和地址。
  • 文件和注册表访问、修改和创建活动。
  • 服务创建和启动活动。
  • 计划任务创建。
  • 使用 PowerShell Get-FileHash cmdlet 获取文件的 SHA-256 哈希值。
  • 在 VirusTotal、Hybrid-Analysis、CISCO Talos、Any.run 等资源中搜索哈希的存在性和信誉。

误报分析

  • 此活动不太可能合法发生。安全团队必须监控触发警报且本身并非恶意的任何活动。

响应和补救

  • 根据分类的结果启动事件响应流程。
  • 隔离相关主机以防止进一步的入侵后行为。
  • 如果分类确定存在恶意软件,请搜索环境中是否有其他受感染的主机。
  • 实施临时网络规则、程序和分段以遏制恶意软件。
  • 停止可疑进程。
  • 立即阻止已识别的入侵指标 (IOC)。
  • 检查受影响的系统是否存在其他恶意软件后门,例如反向 shell、反向代理或攻击者可能用来重新感染系统的 dropper。
  • 删除并阻止在分类期间识别的恶意工件。
  • 运行完整的反恶意软件扫描。这可能会发现系统中留下的其他工件、持久性机制和恶意软件组件。
  • 调查受感染系统或攻击者使用的系统上的凭据泄露,以确保识别所有受感染的帐户。重置这些帐户和其他可能受感染的凭据(例如电子邮件、业务系统和 Web 服务)的密码。
  • 确定攻击者滥用的初始媒介,并采取措施防止通过同一媒介再次感染。
  • 使用事件响应数据,更新日志记录和审核策略以改进平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

设置

编辑

设置

如果在版本 <8.2 的非 elastic-agent 索引(例如 beats)上启用 EQL 规则,则事件将不会定义 event.ingested,并且直到 8.2 版本才添加 EQL 规则的默认回退。因此,为了使此规则有效运行,用户需要添加自定义摄取管道以将 event.ingested 填充到 @timestamp。有关添加自定义摄取管道的更多详细信息,请参阅 - https://elastic.ac.cn/guide/en/fleet/current/data-streams-pipeline-tutorial.html

规则查询

编辑
any where host.os.type == "windows" and
(event.category : ("driver", "library") or (event.category == "process" and event.action : "Image loaded*")) and
(
  /* compatible with Elastic Endpoint Library Events */
  (
    ?dll.name : (
        "wlbsctrl.dll", "wbemcomn.dll", "WptsExtensions.dll", "Tsmsisrv.dll", "TSVIPSrv.dll", "Msfte.dll",
        "wow64log.dll", "WindowsCoreDeviceInfo.dll", "Ualapi.dll", "wlanhlp.dll", "phoneinfo.dll", "EdgeGdi.dll",
        "cdpsgshims.dll", "windowsperformancerecordercontrol.dll", "diagtrack_win.dll", "TPPCOIPW32.dll",
        "tpgenlic.dll", "thinmon.dll", "fxsst.dll", "msTracer.dll"
    )
    and (
      ?dll.code_signature.trusted != true or
      ?dll.code_signature.exists != true or
      (
        dll.code_signature.trusted == true and
          not dll.code_signature.subject_name : ("Microsoft Windows", "Microsoft Corporation", "Microsoft Windows Publisher")
      )
  ) or
   /* oci.dll is too noisy due to unsigned Oracle related DLL loaded from random dirs */
  (
   (?dll.path : "?:\\Windows\\*\\oci.dll" and process.executable : "?:\\Windows\\*.exe" and
    (?dll.code_signature.trusted != true or ?dll.code_signature.exists != true)) or

   (file.path : "?:\\Windows\\*\\oci.dll" and not file.code_signature.status == "Valid" and process.executable : "?:\\Windows\\*.exe")
   ) or

  /* compatible with Sysmon EventID 7 - Image Load */
  (file.name : ("wlbsctrl.dll", "wbemcomn.dll", "WptsExtensions.dll", "Tsmsisrv.dll", "TSVIPSrv.dll", "Msfte.dll",
               "wow64log.dll", "WindowsCoreDeviceInfo.dll", "Ualapi.dll", "wlanhlp.dll", "phoneinfo.dll", "EdgeGdi.dll",
               "cdpsgshims.dll", "windowsperformancerecordercontrol.dll", "diagtrack_win.dll", "TPPCOIPW32.dll",
               "tpgenlic.dll", "thinmon.dll", "fxsst.dll", "msTracer.dll") and
   not file.hash.sha256 :
            ("6e837794fc282446906c36d681958f2f6212043fc117c716936920be166a700f",
             "b14e4954e8cca060ffeb57f2458b6a3a39c7d2f27e94391cbcea5387652f21a4",
             "c258d90acd006fa109dc6b748008edbb196d6168bc75ace0de0de54a4db46662") and
   not file.code_signature.status == "Valid")
  ) and
  not
  (
    ?dll.path : (
      "?:\\Windows\\System32\\wbemcomn.dll",
      "?:\\Windows\\SysWOW64\\wbemcomn.dll",
      "?:\\Windows\\System32\\windowsperformancerecordercontrol.dll",
      "?:\\Windows\\System32\\wlanhlp.dll",
      "\\Device\\HarddiskVolume?\\Windows\\SysWOW64\\wbemcomn.dll",
      "\\Device\\HarddiskVolume?\\Windows\\System32\\wbemcomn.dll",
      "\\Device\\HarddiskVolume?\\Windows\\SysWOW64\\wlanhlp.dll",
      "\\Device\\HarddiskVolume?\\Windows\\System32\\wlanhlp.dll",
      "\\Device\\HarddiskVolume?\\Windows\\SysWOW64\\windowsperformancerecordercontrol.dll",
      "\\Device\\HarddiskVolume?\\Windows\\System32\\windowsperformancerecordercontrol.dll",
      "C:\\ProgramData\\docker\\windowsfilter\\*\\Files\\Windows\\System32\\windowsperformancerecordercontrol.dll",
      "C:\\ProgramData\\docker\\windowsfilter\\*\\Files\\Windows\\System32\\windowsperformancerecordercontrol.dll",
      "\\Device\\vmsmb\\VSMB-{*}\\os\\windows\\system32\\*.dll"
    ) or
    file.path : (
      "?:\\Windows\\System32\\wbemcomn.dll",
      "?:\\Windows\\SysWOW64\\wbemcomn.dll",
      "?:\\Windows\\System32\\windowsperformancerecordercontrol.dll",
      "?:\\Windows\\System32\\wlanhlp.dll",
      "C:\\ProgramData\\docker\\windowsfilter\\*\\Files\\Windows\\System32\\windowsperformancerecordercontrol.dll",
      "C:\\ProgramData\\docker\\windowsfilter\\*\\Files\\Windows\\System32\\wbemcomn.dll",
      "\\Device\\vmsmb\\VSMB-{*}\\os\\windows\\system32\\*.dll"
    )
  )
)

框架: MITRE ATT&CKTM