SOC Prime Bias: High

22 Oct 2026 10:07 UTC

AI辅助的PaperCut攻击曝光第二个RCE和全球受害者网络

Author Photo
SOC Prime Team linkedin icon 关注
AI辅助的PaperCut攻击曝光第二个RCE和全球受害者网络
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

摘要

一个俄语威胁行为者针对乌克兰基础设施发起了定向攻击,特别是数据交换生态系统和Graylog日志服务器。攻击者使用基于Log4Shell的JNDI注入链实现远程代码执行并部署反向shell。尽管对MikroTik和Fortinet系统尝试了多种漏洞利用,主要成功的访问依赖于可重用的CommonsBeanutils2反序列化链。

调查

调查开始于研究人员发现一个部署在公共IP地址上的操作员暂存目录暴露了大约17小时。分析家恢复了攻击者的工作文件,包括漏洞利用脚本、负载生成器、shell历史和侦察输出。这次暴露使得重建完整的攻击链成为可能,从最初的masscan侦察到成功在Graylog实例上执行代码。

缓解措施

组织应优先修补Graylog部署并确保JNDI查找被禁用或通过适当的Java安全控制严格限制。应执行严格的出口过滤以阻止应用服务器未授权的LDAP和RMI连接。安全团队还应监控由Java服务生成的异常子进程,并在敏感API端点上执行CSRF保护。

响应

当检测到可疑的JNDI活动或来自Web服务的意外子进程时,应立即隔离受影响的主机。审查应用程序日志以发现成功的利用模式,特别注意 /api/system/sessions 端点。进行主机级别的法医分析,以查找未授权的SSH密钥、反向shell或用于横向移动的持久隧道。

攻击流程

我们仍在更新此部分。

检测

Log4j RCE [CVE-2021-44228] 利用后检测模式 (Windows)

SOC Prime 团队, Qualys
2026年10月21日

Log4j RCE [CVE-2021-44228] 利用后检测模式 (Linux)

SOC Prime 团队
2026年10月21日

可能的数据渗漏 / 通过Bash的反向shell (通过命令行)

SOC Prime 团队
2026年10月21日

可疑的Java子进程 [Linux] (通过命令行)

SOC Prime 团队
2026年10月21日

通过标准工具进行的远程文件上传 / 下载 (通过命令行)

SOC Prime 团队
2026年10月21日

IOC (HashSha256) 检测: 解析一个PaperCut攻击者的AI工具包:代理指令、漏洞利用代码、第二个RCE,以及在45个以上国家的受害者

SOC Prime AI 规则
2026年10月21日

IOC (SourceIP) 检测: 解析一个PaperCut攻击者的AI工具包:代理指令、漏洞利用代码、第二个RCE,以及在45个以上国家的受害者

SOC Prime AI 规则
2026年10月21日

IOC (DestinationIP) 检测: 解析一个PaperCut攻击者的AI工具包:代理指令、漏洞利用代码、第二个RCE,以及在45个以上国家的受害者

SOC Prime AI 规则
2026年10月21日

通过MakeCB2.class从Java服务生成的反向shell检测 [Linux进程创建]

SOC Prime AI 规则
2026年10月21日

检测俄语操作员针对乌克兰国家数据交换系统的攻击 [Linux文件事件]

SOC Prime AI 规则
2026年10月21日

模拟执行

  • 攻击叙述与命令: 对手试图利用国家交换Web应用程序中的一个漏洞。为了与管理流量混在一起,他们使用一个特殊的头 X-Requested-By: cli。他们针对会话管理端点 /api/system/sessions 并尝试触发名为 fire3.sh的恶意shell脚本的执行。响应中 UXP Verifier 字符串的存在是该威胁行为者使用的特定工具包已知特征。目标是通过Web服务器获取远程代码执行。

  • 回归测试脚本:

    #!/bin/bash
    # 模拟脚本以触发检测规则
    # 这模拟了一个匹配所有四个检测标准的请求
    
    TARGET_URL="http://localhost/api/system/sessions"
    
    echo "[+] 模拟的攻击请求..."
    
    # 我们使用curl模拟准确的头和请求路径。
    # 注意:由于我们不能轻易控制真实服务器的 'ResponseBody' 
    # 除非托管一个模拟服务器,这个模拟假设日志是 
    # 由拦截代理或返回 'UXP Verifier' 的模拟Web服务生成的。
    
    curl -X POST "$TARGET_URL" 
         -H "X-Requested-By: cli" 
         -H "Content-Type: application/json" 
         -d '{"filename": "fire3.sh", "payload": "echo "UXP Verifier""}' 
         --verbose
    
    echo "[+] 模拟命令已发送。"
  • 清理命令:

    # 系统未进行持久更改,但如果启动了模拟服务器:
    # pkill -f "python3 -m http.server"
    echo "[+] 清理完成。"