New

The executive guide to generative AI

Read more

通过编译的 HTML 文件建立网络连接

编辑

通过编译的 HTML 文件建立网络连接

编辑

编译的 HTML 文件 (.chm) 通常作为 Microsoft HTML 帮助系统的一部分分发。攻击者可能会将恶意代码隐藏在 CHM 文件中,并将其发送给受害者执行。CHM 内容由 HTML 帮助可执行程序 (hh.exe) 加载。

规则类型: eql

规则索引:

  • winlogbeat-*
  • logs-endpoint.events.process-*
  • logs-endpoint.events.network-*
  • logs-windows.sysmon_operational-*

严重性: 低

风险评分: 21

: 5 分钟运行一次

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

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

参考:

标签:

  • 域: 端点
  • 操作系统: Windows
  • 用例: 威胁检测
  • 策略: 执行
  • 资源: 调查指南
  • 数据源: Elastic Defend
  • 数据源: Sysmon

版本: 208

规则作者:

  • Elastic

规则许可: Elastic License v2

调查指南

编辑

初步分类和分析

调查通过编译的 HTML 文件建立的网络连接

CHM(编译的 HTML)文件是一种在 Windows 上提供在线帮助文件的格式。CHM 文件是各种内容的压缩编译,例如 HTML 文档、图像以及脚本/Web 相关编程语言(如 VBA、JScript、Java 和 ActiveX)。

当用户双击 CHM 文件时,HTML 帮助可执行程序 (hh.exe) 将执行它们。hh.exe 也可用于执行嵌入在这些文件中的代码、PowerShell 脚本和可执行文件。这使得它对攻击者很有用,不仅可以代理通过一个已签名的二进制文件执行恶意负载,从而绕过安全控制,还可以通过社会工程方法获得对环境的初始访问权限。

此规则识别由 hh.exe 完成的网络连接,这可能表明滥用行为,以下载恶意文件或工具,或进行伪装。

注意: 此调查指南使用 Elastic Stack 8.5.0 版本中引入的 Osquery Markdown 插件。旧版本的 Elastic Stack 将在此指南中显示未渲染的 Markdown。

可能的调查步骤

  • 调查过去 48 小时内与用户/主机相关的其他警报。
  • 调查未知进程的进程执行链(父进程树)。检查其可执行文件的普遍性,它们是否位于预期位置,以及它们是否使用有效的数字签名进行签名。
  • 检查命令行的可疑活动。
  • 检索涉及的 .chm.ps1 和其他文件以进行进一步检查。
  • 调查主体进程的任何异常行为,例如网络连接、注册表或文件修改,以及任何产生的子进程。
  • 调查文件数字签名和进程原始文件名,如果可疑,则将其视为潜在的恶意软件。
  • 调查已签名的二进制文件正在与之通信的目标主机。
  • 检查域是否为新注册或意外。
  • 检查域或 IP 地址的信誉。
  • 检查主机是否存在表明可疑活动的衍生工件
  • 使用私有沙盒分析系统分析从系统检索的进程可执行文件、脚本和帮助文件。
  • 观察并收集沙盒和警报主体主机中以下活动的信息
  • 尝试联系外部域和地址。
  • 使用 Elastic Defend 网络事件,通过按进程的 process.entity_id 进行过滤,确定主体进程联系的域和地址。
  • 检查 DNS 缓存中是否存在可疑或异常条目。
  • !{osquery{"label":"Osquery - 检索 DNS 缓存","query":"SELECT * FROM dns_cache"}}
  • 使用 Elastic Defend 注册表事件检查进程树中相关进程访问、修改或创建的注册表项。
  • 检查主机服务中是否存在可疑或异常条目。
  • !{osquery{"label":"Osquery - 检索所有服务","query":"SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services"}}
  • !{osquery{"label":"Osquery - 检索在用户帐户上运行的服务","query":"SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services WHERE\nNOT (user_account LIKE %LocalSystem OR user_account LIKE %LocalService OR user_account LIKE %NetworkService OR\nuser_account == null)\n"}}
  • !{osquery{"label":"Osquery - 检索具有 Virustotal 链接的服务未签名可执行文件","query":"SELECT concat(https://www.virustotal.com/gui/file/, sha1) AS VtLink, name, description, start_type, status, pid,\nservices.path FROM services JOIN authenticode ON services.path = authenticode.path OR services.module_path =\nauthenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.result != trusted\n"}}
  • 使用 PowerShell Get-FileHash cmdlet 检索文件的 SHA-256 哈希值,并在 VirusTotal、Hybrid-Analysis、CISCO Talos、Any.run 等资源中搜索哈希值的存在和信誉。

误报分析

  • 如果此活动在您的环境中是预期和嘈杂的,请考虑添加例外 - 最好结合用户和命令行条件。

响应和补救

  • 根据初步分类的结果启动事件响应流程。
  • 隔离涉及的主机,以防止进一步的入侵后行为。
  • 如果初步分类确定了恶意软件,请在环境中搜索其他受感染的主机。
  • 实施临时网络规则、程序和分段以遏制恶意软件。
  • 停止可疑进程。
  • 立即阻止已识别的入侵指标 (IoC)。
  • 检查受影响的系统是否存在其他恶意软件后门,例如反向 shell、反向代理或投递器,攻击者可以使用这些后门重新感染系统。
  • 如果恶意文件是通过网络钓鱼传递的
  • 阻止电子邮件发件人发送未来的电子邮件。
  • 阻止恶意网页。
  • 从邮箱中删除发件人的电子邮件。
  • 考虑改进安全意识计划。
  • 删除并阻止初步分类期间识别的恶意工件。
  • 运行完整的反恶意软件扫描。这可能会揭示系统中遗留的其他工件、持久性机制和恶意软件组件。
  • 确定攻击者滥用的初始向量,并采取行动以防止通过同一向量再次感染。
  • 使用事件响应数据,更新日志记录和审计策略,以提高平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

规则查询

编辑
sequence by process.entity_id
  [process where host.os.type == "windows" and process.name : "hh.exe" and event.type == "start"]
  [network where host.os.type == "windows" and process.name : "hh.exe" and
     not cidrmatch(destination.ip, "10.0.0.0/8", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24",
       "192.0.0.0/29", "192.0.0.8/32", "192.0.0.9/32", "192.0.0.10/32", "192.0.0.170/32", "192.0.0.171/32",
       "192.0.2.0/24", "192.31.196.0/24", "192.52.193.0/24", "192.168.0.0/16", "192.88.99.0/24", "224.0.0.0/4",
       "100.64.0.0/10", "192.175.48.0/24","198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "240.0.0.0/4", "::1",
       "FE80::/10", "FF00::/8") and
     not dns.question.name : "localhost"]

框架: MITRE ATT&CKTM

Was this helpful?
Feedback