AI驱动的威胁狩猎落地案例

1. 引入

对zero-detection的样本,进行分析后,发现高影响力的恶意软件,就是威胁狩猎的过程。

但这个过程通常是比较难的,因为VT漏报的样本是海量的。特别的,当这个样本是新的家族,互联网上缺少相关分析文档,是从头开始开发(没有引用已知恶意家族库)时,要逃脱杀软检测,也是比较常见的。

而且threat actor为了让恶意软件逃脱检测,也会精心构造,比如

(1)多阶段攻击的架构:开始没有恶意性,随后才下载恶意payload

(2)加密通信过程

这都加大了威胁狩猎的难度,能否借助AI来降低人工分析/狩猎的难度呢?

参考1文章提供了一个非常值得借鉴且能落地的威胁狩猎案例,笔者把主要步骤摘取过来,根据笔者经验进行一些解读。

2. 狩猎步骤

  1. 收集样本进行处理

从已知攻击报告中,收集大量恶意样本,并从中提取关键信息:

(1)字符串

(2)API

(3)函数名

(4)变量名

(5)常量

所有收集到的数据都存储在结构化数据库中。

之后,对样本进行标记和分类,以便更轻松地进行搜索和比较。

  1. 构建VT的搜索规则

人工从步骤1中,进行分析,(根据人工分析的经验)提取一些特征(比如某些敏感字符串"rm -rf"),利用提取的特征,创建VT的搜索规则。比如构建含有某个字符串,且VT检出为0的样本。

一旦发现潜在候选样本,就将其传递到分析阶段。

  1. 特征提取与分析

(1)二进制文件被发送至 IDA Pro(Hex-Rays)进行反编译和进一步的特征提取。比如提取字符串、函数名等。

(2)利用CAPA 识别特定功能(根据第1阶段收集到的特征生成了自定义规则),根据CAPA的规则提取出更高层次的特征。

(3)非二进制文件,如脚本或代码,则直接传递给特征提取器进行特征提取。这个步骤可以用LLM生成行为描述,以及提取敏感字符串等特征。

特征提取器随后为每个文件生成统一的 JSON 格式特征文件,然后将其传递至分析的下一阶段。

  1. AI快速审查

审查在分析阶段创建的 JSON 配置文件。

它会对该工件进行分析、打分,并确定文件是否为恶意文件。

低于阈值的文件会被列入监控列表以供后续审查,而高于阈值并被标记为恶意的文件则会进入下一阶段。

  1. Agent

Agent会对超过阈值并被标记为恶意的文件进行更深入的分析。

它会根据反编译代码以及在分析阶段创建的元数据为文件生成详细的分析报告。

该代理会审查文件配置文件,并生成代码分析报告,其中包括:

(1)样本分析总结

(2)已识别的行为

(3)代码执行流程

(4)技术分析

(5)MITRE ATT&CK 框架映射

  1. 脱壳与混淆

如果样本经过加壳或混淆处理,YARA 扫描器和 AI 模型通常能够检测到这种情况并进行标记。

如果您有用于脱壳的自动化脚本,可以设置一个 MCP 服务器,将这些文件路由到您的脱壳流水线,以进行动态、静态或手动脱壳。

简单的混淆和脱壳过程通常可以直接由 AI 处理(通过 AI 解析器或 AI 生成的反混淆/拓客脚本),但复杂的混淆则应通过外部自动化、自定义脚本或人工操作来处理。

3. AI辅助的流程

  1. 在2.3步骤中,IDA反编译后,可以用LLM对逆向后的代码,进行优化,比如

(1)函数名恢复

(2)增加代码注释

(3)生成代码总结

(4)标识符恢复

(5)增加tag

(6)网络通信模式分析

然后,再把优化后的代码,送给 CAPA, FLOSS, YARA进行分析。

  1. 第一阶段的YARA狩猎规则

原文给出了一个 Linux 恶意软件检测规则,专门针对具备反向 Shell、系统信息收集、数据加密特征的 ELF 格式恶意程序。具体如下所示:

yara 复制代码
rule suspicious_linux_malware_indicators {
    meta:
        description = "Detects indicators of Linux malware (reverse shell, system info collection, encryption)"
        author = "Extracted from provided image"
        date = "2026-01-20"
    
    strings:
        $str1 = "execve" nocase wide ascii
        $str2 = "execv" nocase wide ascii
        $str3 = "execvp" nocase wide ascii
        $str4 = "fork" nocase wide ascii
        $str5 = "popen" nocase wide ascii
        $str6 = "system" nocase wide ascii
        $str7 = "socket" nocase wide ascii
        $str8 = "sendto" nocase wide ascii
        $str9 = "recvfrom" nocase wide ascii
        $str10 = "/proc/self/exe" nocase wide ascii
        $str11 = "/bin/sh" nocase wide ascii
        $str12 = "/bin/bash" nocase wide ascii
        $str13 = "curl" nocase wide ascii

    condition:
        5 of them and
        vt.metadata.file_type == vt.FileType.ELF and
        vt.metadata.file_size < 300KB and
        vt.metadata.analysis_stats.malicious < 3 and
        (for any sig in vt.behaviour.signature_matches : (sig.name == "create reverse shell on linux")) and
        (for any t in vt.behaviour.mitre_attack_techniques : 
            (t.signature_description == "get system information on linux" or
             t.signature_description == "get current user on linux" or
             t.signature_description == "get kernel version" or
             t.signature_description == "get hostname" or
             t.signature_description == "get networking interfaces")
        ) and
        (
            (for any mbc in vt.behaviour.mbc : (mbc.behavior == "Encrypt Data")) or
            (for any te in vt.behaviour.mitre_attack_techniques : 
                (te.signature_description == "encrypt data using AES" or
                 te.signature_description == "encode data using Base64" or
                 te.signature_description == "encode data using XOR")
            ) or
            (for any sig2 in vt.behaviour.signature_matches : 
                (sig2.name == "encrypt data using RC4 PRGA" or
                 sig2.name == "encrypt data using RC4 KSA" or
                 sig2.name == "encrypt data using RC6" or
                 sig2.name == "encrypt data using Salsa20 or ChaCha")
            )
        )
}

规则核心结构拆解

(1)元数据(meta)

  • 明确规则的检测目标:聚焦Linux恶意软件的三大核心行为(反向Shell、系统信息收集、数据加密);
  • 仅用于标识规则基础信息,不影响检测逻辑。

(2)特征字符串(strings)

  • 核心特征 :覆盖Linux恶意程序最常见的三类字符串:
    • 进程/命令执行类:execve/system/popen(反向Shell必备);
    • 网络交互类:socket/sendto/recvfrom(C2通信必备);
    • 基础环境类:/bin/sh/curl(恶意程序常用执行载体);
  • 匹配规则nocase(不区分大小写)、wide+ascii(同时匹配宽字符和ASCII编码),降低逃逸概率。

(3)检测条件(condition)

这是规则的核心,采用多层级组合条件,只有全部满足才会命中,具体拆解:

条件层级 具体逻辑 设计目的
基础字符串条件 5 of them 至少匹配5个特征字符串,避免单字符串误报
文件属性条件 vt.metadata.file_type == vt.FileType.ELF vt.metadata.file_size < 300KB 限定检测范围:仅Linux可执行文件(ELF),且体积较小(恶意程序通常轻量化)
误报过滤条件 vt.metadata.analysis_stats.malicious < 3 过滤已有高恶意评分的文件(聚焦"低检出率"的隐蔽恶意程序)
核心行为条件 for any sig in vt.behaviour.signature_matches : (sig.name == "create reverse shell on linux") 必须检测到"创建Linux反向Shell"行为(核心恶意特征)
辅助行为条件 匹配"获取系统信息/当前用户/内核版本/主机名/网络接口"等行为 补充恶意程序的信息收集特征,提升准确性
加密行为条件 匹配"AES加密/Base64编码/XOR编码/RC4/RC6/Salsa20"等加密行为 覆盖恶意程序的流量/数据加密特征,针对有反检测能力的样本
  1. AI快速审查

原文给出了一个 2.4 AI快速审查 的结果样例如下:

  • 使用模型:gemini-3-pro
  • 恶意阈值:75%
文件名 判定结果 置信度 标签列表 描述内容
Libwg-quick.c 安全(CLEAN) 0% #wireguard#android#vpn#network_tool#clean 该二进制文件是命令行工具,用于管理Android系统的WireGuard VPN接口,实现wg-quick功能: 1. 处理网络接口生命周期、IP/路由表/DNS配置; 2. 通过iptables配置防火墙,借助ndc管理网络; 3. 支持Binder IPC解析DNS、包名映射UID实现拆分隧道。
system.c 恶意(MALICIOUS) 100% #linux_rat#backdoor#rc5_encryption#remote_shell#persistence#crontab#udp_c2 该二进制文件是Linux远程访问木马(RAT),伪装成系统进程: 1. 通过UDP连接C2服务器,用RC5加密流量; 2. 多线程架构,支持心跳、数据传输、远程执行; 3. 包含完整远程Shell与文件系统操控能力。
  1. Agent分析结果

原文给出了输出结果的大纲:

  • Malware Analysis Report
    • Executive Code Summary
    • CAPA AI Analysis
      • MBC Objective & Behavior Mapping
    • Malware Capabilities
      • Code Intent
      • Capabilities
        • Core Functionality & Lifecycle Management
        • Networking & Communication
        • Command & Control Capabilities
        • Information Gathering
        • Encryption
    • Code Execution Flow
    • Technical Analysis
      • Initial Setup
      • Singleton Enforcement
      • Connection & C2 Initialization
      • Session Establishment
      • Registration Phase
      • Heartbeat & Data Sender Threads
      • Task Handling Overview
      • Remote Shell Implementation
      • File & Directory Operation Capabilities
      • Offline Command & Self-Deletion
    • MITRE ATT&CK Framework Mapping

也给出了输出结果的总结:

The binary is a Backdoor that targets the Linux platform. The malware collects system information including IP address, gateway, OS version, hostname, and username, and sends it to a command and control (C2) server during a registration phase. It then receives and executes commands from the C2. Supported commands allow the malware to provide a remote shell via /bin/sh and perform file and directory operations including creating, deleting, renaming, reading, writing files, modifying file timestamps, and searching for files by extension.

All C2 communication occurs over UDP. The malware first requests a 16-byte session ID from the server, which is subsequently used as the key for an RC5 encryption algorithm to protect all traffic. The malware sends periodic heartbeats to maintain its connection. To prevent multiple instances from running, it creates a file named .temp in the user's home directory containing its process ID.

对输出进行理解如下:

(1)报告结构:覆盖恶意软件分析全维度

这是一份标准化的恶意软件分析报告,结构清晰且专业,包含5个核心模块:

  • 执行代码摘要:快速概括恶意软件的核心功能(相当于"报告总览");
  • CAPA AI分析:通过自动化工具(CAPA)映射恶意软件的行为目标(MBC框架);
  • 恶意软件能力:拆解其技术能力(如生命周期管理、C2通信、加密等);
  • 代码执行流程:详细描述恶意软件的运行步骤(从初始化到执行命令);
  • MITRE ATT&CK映射:关联行业通用的攻击技术框架,便于溯源和防御。

(2)恶意软件核心特征:典型Linux后门的完整能力

从"执行代码摘要"可以看出,这是一个功能完整的Linux后门,具备恶意软件的核心恶意行为:

  • 目标与信息收集

    • 仅针对Linux系统;
    • 收集IP、网关、系统版本、主机名、用户名等核心系统信息,并发送给C2服务器。
  • C2通信与加密

    • 用UDP协议与C2通信;
    • 先从服务器获取16字节的会话ID,作为RC5加密算法的密钥(保护通信流量,避免被拦截分析);
    • 定期发送"心跳包"维持与C2的连接(保证持续控制)。
  • 远程控制能力

    • 提供/bin/sh远程Shell(攻击者可直接操作目标机器);
    • 支持文件/目录操作:创建、删除、重命名、读写文件,修改文件时间戳,按扩展名搜索文件。
  • 自我保护机制

    • 在用户主目录创建.temp文件,写入自身进程ID,防止多实例运行(避免暴露痕迹)。

(3)总结

这是一个功能成熟、隐蔽性较强的Linux后门,符合典型的远程控制木马(RAT)特征,既能收集信息、又能远程操控目标机器,且通过加密和单实例机制提升了存活能力。报告的结构也体现了专业恶意软件分析的标准思路------从总览到细节,从能力到流程,便于防御方理解其威胁并制定应对策略。

4. 总结

参考1文章提供了一个非常值得借鉴且能落地的威胁狩猎案例,笔者把主要步骤摘取过来,根据笔者经验进行一些解读

5. 参考

  1. https://www.trendmicro.com/en_us/research/25/l/ghostpenguin.html
相关推荐
SAP工博科技2 小时前
SAP ERP 公有云 AI / 机器学习落地指南:技术架构、业务场景与实施路径
人工智能
Aurora@Hui2 小时前
FactorAnalysisTool 因子分析工具
人工智能·算法·机器学习
SmartBrain2 小时前
Agent 技术在医疗场景的应用研究
人工智能·语言模型·aigc
羊仔AI探索2 小时前
AI心理学导师测评,智能体商单案例
ide·人工智能·ai·aigc
victory04312 小时前
medicalgpt项目深入发掘方向
人工智能·深度学习
123_不打狼2 小时前
自然语言处理(NLP)学习路线
人工智能·学习·自然语言处理
guslegend2 小时前
2. Ollama REST API - api/generate 接口详
人工智能
GISer_Jing2 小时前
大语言模型Agent入门指南
前端·数据库·人工智能
aiguangyuan2 小时前
词向量的艺术:从Word2Vec到GloVe的完整实践指南
人工智能·python·nlp