发布于22小时前22小时 背景与情报结论2025 年 1 月,Ivanti 披露 Connect Secure、Policy Secure 及 Neurons for ZTA 网关中的 CVE-2025-0282。该漏洞属于未认证栈缓冲区溢出,攻击者可在无需登录的情况下取得设备代码执行能力。CISA 随后将其纳入已知被利用漏洞目录,Mandiant 公布的事件调查还观察到 SPAWNANT、SPAWNMOLE、SPAWNSNAIL 等针对边界设备的持久化组件。这类事件的重点不是简单扫描版本号。SSL VPN 位于身份入口,通常能够访问 LDAP、RADIUS、内部 DNS、运维网和业务网。一旦设备被控制,风险会沿着认证凭据、已有 VPN 会话和设备信任关系向内网扩散。以下步骤用于已获授权的资产核查和事件响应,不包含漏洞利用载荷。生产设备不建议直接运行公开 PoC,因为崩溃、配置损坏和业务中断都可能破坏后续取证。受影响面与问题定位厂商公告给出的修复基线包括 Connect Secure 22.7R2.5、Policy Secure 22.7R1.2 和 Neurons for ZTA gateways 22.7R2.3。具体型号、支持状态及后续补丁变化仍应以 Ivanti 当前安全公告为准,不能只依赖历史版本表。排查时建议先建立资产清单,至少确认以下信息:公网入口域名、实际后端设备和高可用节点,避免只检查负载均衡器。当前版本、升级时间、最近一次重启及 Integrity Checker Tool 检查结果。设备可访问的 LDAP、RADIUS、DNS、NTP、Syslog、API 和内部业务地址。绑定账号权限、管理员账号、客户端证书及现有 VPN 会话的失效策略。日志是否已实时发送到设备之外。仅保存在 VPN 本机的日志不能作为完整证据。授权环境中的低影响验证外部验证阶段只确认资产归属、服务暴露和证书信息,不发送畸形请求。下面的命令适合在变更窗口内对自有域名执行:export TARGET='vpn.example.com' # 记录 DNS 与证书信息,便于确认实际节点 getent ahosts "$TARGET" openssl s_client -connect "$TARGET:443" -servername "$TARGET" </dev/null 2>/dev/null \ | openssl x509 -noout -subject -issuer -serial -dates -fingerprint -sha256 # 低速率识别 HTTPS 服务,不运行漏洞利用脚本 nmap -Pn -sV -p443 --script ssl-cert,http-title --max-rate 5 "$TARGET" # 只获取响应头,检查代理、跳转和缓存层 curl -kIsS --connect-timeout 5 --max-time 10 " CVE-2025-0282。版本信息可能被隐藏,公网入口也可能由 WAF、CDN 或反向代理终止 TLS。最终判断应结合管理界面版本、节点清单和厂商检查工具。日志与主机侧排查优先从独立 Syslog、SIEM、DNS、代理、防火墙和身份系统取证。边界设备若已经失陷,本机日志可能被删除或篡改。建议将调查时间窗至少向补丁安装前回溯 30 天,并统一转换为 UTC。对已导出的日志副本,可以先进行哈希固定,再检索与配置变化、异常重启、完整性告警和管理员操作有关的事件:mkdir -p /evidence/work find /evidence/vpn-export -type f -print0 \ | sort -z \ | xargs -0 sha256sum > /evidence/work/SHA256SUMS.txt zgrep -Eai \ 'admin|administrator|configuration|integrity|restart|reboot|segfault|core dump|authentication|login|certificate|web process' \ /evidence/vpn-export/*.log* \ > /evidence/work/triage_hits.txt # 单独提取失败认证和管理员来源地址,字段需按实际日志格式调整 awk 'BEGIN{IGNORECASE=1} /failed|denied|admin|configuration/ {print}' \ /evidence/work/triage_hits.txt \ | sort | uniq -c | sort -nr \ > /evidence/work/event_frequency.txt如果日志已进入 Splunk,可从设备管理地址的异常出站连接开始。正常情况下,SSL VPN 设备的出站目标应相对固定:index=network earliest=-30d src_ip=<VPN管理或节点地址> | stats count min(_time) as first_seen max(_time) as last_seen values(dest_port) as ports values(action) as actions by src_ip dest_ip | sort -count需要重点核对的信号包括:VPN 节点主动访问此前未出现的公网 IP、动态 DNS 域名或非常用高位端口。Web、认证或管理进程异常退出后自动重启,且时间上与外部请求峰值接近。Integrity Checker Tool 报告文件不一致、未知文件或关键组件修改。出现非变更窗口内的管理员登录、配置导出、证书替换、账号创建和日志设置变更。同一用户在短时间内从不可能同时出现的地理位置或 ASN 建立 VPN 会话。VPN 地址池中的终端绕过正常跳板机,直接访问域控、虚拟化平台、备份系统或运维接口。内网攻防链路分析在实际事件中,应将边界设备失陷和后续横向活动分开验证,不能因为版本受影响就直接认定域环境已被攻破,也不能因为设备补丁成功就终止调查。常见链路是:公网未认证入口取得设备权限,读取配置或会话材料,复用 LDAP/RADIUS 绑定关系或用户会话,再从 VPN 地址段访问内部高价值服务。建议围绕以下权限边界进行关联:检查 LDAP 绑定账号是否仅有目录查询权限。若账号属于高权限组,应按凭据泄露处理。查询 RADIUS、MFA 和身份提供商日志,确认是否存在推送轰炸、异常设备注册或已撤销用户继续登录。在域控日志中检索来自 VPN 节点和地址池的 4624、4625、4648、4672 等事件,并重点查看登录类型、目标主机和特权分配。检查 VPN 地址池访问 SMB、WinRM、RDP、SSH、vCenter、备份平台和密码库的记录,识别与日常基线不符的连接。若设备能够读取内部 DNS,检查其是否进行大规模主机枚举,或查询域控、证书服务和管理平台名称。# 示例:在已导出的 Windows EVTX 上使用 Chainsaw 做时间窗筛选 chainsaw hunt /evidence/windows/*.evtx \ --sigma /opt/sigma/rules \ --mapping /opt/chainsaw/mappings/sigma-event-logs-all.yml \ --from '2025-01-01T00:00:00Z' \ --to '2025-01-31T23:59:59Z' \ --json > /evidence/work/windows_hunt.json # 对结果进一步查找 VPN 地址段,示例网段需替换 rg '10\.40\.(1[6-9]|2[0-9]|3[01])\.' /evidence/work/windows_hunt.json处置与修复建议若只是确认版本受影响但尚无入侵迹象,应尽快升级至厂商支持的修复版本,同时保留升级前日志、配置摘要和 ICT 报告。若 ICT 异常、存在未知管理员活动或设备出现可疑出站连接,应按已失陷设备处理,而不是仅覆盖安装补丁。先隔离公网入口或将业务切换到已确认干净的节点,避免攻击者继续操作。保存外部日志、支持包、配置、ICT 输出和时间信息,并计算 SHA-256。不要为了“清理”而先删除文件。按照厂商事件响应流程执行外部 ICT;存在异常时进行设备重置或干净重建,再安装修复版本。使所有现有 VPN 会话失效,轮换本地管理员、LDAP/RADIUS 绑定账号、API 密钥及自动化系统保存的凭据。若设备私钥或证书可能被读取,应重新签发并撤销旧证书,而不是只修改管理员密码。限制设备出站访问,仅允许明确需要的 DNS、NTP、Syslog、认证和更新目标;管理面只允许从独立跳板网段访问。将 VPN 用户按角色映射到最小网络区域,不要让普通远程用户默认访问域控、备份、虚拟化和运维网。补丁完成后继续监控至少一个凭据轮换周期,防止攻击者使用此前获取的账号或会话材料重新进入。总结CVE-2025-0282 的新闻价值不只在于“又一个高危 VPN 漏洞”,而在于它再次说明边界设备已经成为身份与内网信任链的集中攻击点。有效验证应包含资产确认、厂商完整性检查、独立日志关联、异常出站分析和内网权限边界复核。修复也不能停留在升级版本:一旦存在失陷迹象,干净重建、会话失效、凭据轮换和横向活动排查应作为同一处置流程执行。 安全动态、影响面和处置建议示意 服务器、云资产与权限边界梳理示意
21小时前21小时 这类事件建议把“版本验证”和“是否已被利用”分开处理。仅确认已升级到修复版本,不能证明此前没有入侵;如果设备在修复前暴露于公网,最好按已失陷设备做一次取证和凭据轮换。 1. 先固定证据,再重启或重置设备 记录设备版本、节点、管理地址、互联网暴露时间和最后一次升级时间,统一换算为 UTC。 先导出配置、审计日志、VPN 会话日志、管理员登录日志、系统支持包。不要为了“清理”直接恢复出厂或删除日志。 按 Ivanti 官方说明运行对应版本的 Integrity Checker/支持工具。该检查结果应连同工具版本、执行时间和设备序列号留档;不要在不受支持的 appliance shell 里自行删除文件或执行清理脚本。 2. 重点看哪些日志 时间范围不要只看最近 24 小时,至少覆盖首次公网暴露到修复前后 7 天。重点关联以下事件: 异常管理员登录、管理角色变更、来源 IP 变化,以及同一管理员短时间内跨地域登录; VPN 用户、认证源、LDAP/RADIUS、证书、SAML、书签和分流策略被修改; 异常的 VPN 会话建立、会话持续时间、分配地址和访问目标; 设备向非必要公网地址发起的出站连接,尤其是此前从未出现过的 DNS、HTTP/HTTPS 连接; 补丁前后配置哈希、管理员账户列表和证书指纹的变化。 如果日志已转发到 SIEM,可以先用类似下面的思路筛选“VPN 登录后立即横向访问”的链路,再回看原始日志确认: index=vpn OR index=firewall | eval t=_time | stats min(t) as first_seen max(t) as last_seen values(src_ip) as src_ip values(user) as user values(dest_ip) as dest_ip values(dest_port) as dest_port by session_id | where mvcount(dest_ip) > 1 实际字段名需要按日志格式调整。尤其不要只按固定恶意 IP 或文件名检索,相关利用和后续操作可能使用临时基础设施。 3. 内网排查的优先级 先从 VPN 分配地址反查 DHCP、NDR、EDR 和防火墙日志,建立“用户/会话 → 内网主机 → 身份凭据”的时间线。优先关注: VPN 会话建立后访问过的域控、跳板机、文件服务器和虚拟化管理平台; 非管理员账号突然执行远程服务、计划任务、PowerShell、WMI、WinRM 或 SMB 管理操作; 域控上的异常 Kerberos 服务票据、LDAP 查询、组成员变更和新建账户; 终端出现 LSASS 访问、凭据转储工具、临时压缩包、异常 RDP/SSH 连接等行为。 例如在 Microsoft Defender 环境中,可以先按 VPN 会话时间窗口做关联: DeviceNetworkEvents | where Timestamp between (datetime(2025-01-01) .. datetime(2025-02-01)) | where RemotePort in (445, 3389, 5985, 5986, 22, 389, 636, 88) | summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp), Destinations=dcount(RemoteIP), Users=make_set(InitiatingProcessAccountName, 20) by DeviceName, RemoteIP, RemotePort | order by FirstSeen asc 这条查询本身不能证明入侵,只适合找异常访问面。最终应把结果和 VPN 分配地址、用户登录、进程树及服务器侧审计日志对齐。 4. 凭据处置不要遗漏 如果无法排除设备被利用,至少轮换:ICS 管理员账号、LDAP/RADIUS/SAML 相关密钥、设备上的服务账号、导入的客户端/服务器证书及私钥,并检查是否存在长期有效的 VPN 用户会话。轮换顺序建议先隔离可疑会话,再处理身份源和高权限账号,避免攻击者继续利用旧凭据回连。 最后,补丁应升级到 Ivanti 针对 CVE-2025-0282 发布的修复版本,并确认集群节点、备用节点和离线维护节点没有遗漏。修复、重启或重建之后仍应保留原始检查结果和日志,否则后续很难区分“补丁后的正常变更”和“补丁前已经存在的持久化行为”。