发布于昨天 22:111天前 背景最近几轮国际威胁情报里,VPN、SSL 网关、边界防火墙管理面仍然是高频入口。比较典型的路径是:攻击者拿到边界设备会话或凭据后,不一定马上投放明显木马,而是先做账号枚举、内网资产探测、Kerberos/SMB 横向尝试,再利用合法远程管理工具维持访问。这类事件在授权渗透测试和应急复盘中很常见,难点不在单个漏洞复现,而在于确认:入口是否真实存在、权限边界有没有被突破、内网链路走到哪一步、日志里还能留下哪些可验证证据。本文只讨论授权场景下的验证、排查和修复。涉及命令均以自有实验环境或客户授权环境为前提。问题定位:从边界设备异常登录开始近期案例里,最先暴露的问题通常不是主机告警,而是 VPN 或网关侧出现异常登录特征:非办公时段登录成功,源 IP 来自异常地区或云厂商地址段。同一账号短时间内从多个地理位置登录。VPN 登录后访问的内网目标集中在域控、堡垒机、文件服务器、运维网段。边界设备管理后台出现配置导出、账号新增、策略调整等操作。排查时不要只看“登录失败爆破”。很多真实入侵是有效凭据登录,失败记录很少。更应该关注登录成功后的访问路径。技术分析:常见攻防链路在授权测试中,边界设备突破后的链路大致可以拆成几段:入口确认:验证 VPN 账号、证书、MFA 策略、设备管理面是否存在弱配置或已知漏洞。权限边界验证:确认 VPN 用户进入后能访问哪些网段,是否存在过宽的 Any-Any 策略。内网探测:通过 DNS、LDAP、SMB、RDP、WinRM 等协议识别域环境与关键资产。横向尝试:利用已授权账号测试最小权限原则是否生效,例如普通 VPN 用户是否能访问域控管理端口。日志留痕:关联 VPN 日志、AD 登录事件、防火墙流量、EDR 告警,构建时间线。这里最容易被忽略的是“权限边界”。不少环境把 VPN 用户放进了一个大网段,ACL 只做了入口认证,没有细分访问控制。攻击者拿到一个普通账号后,可以直接访问 445、3389、5985、389、636 等端口,这会把一个边界账号问题放大成内网问题。操作步骤:授权验证思路建议按下面顺序做,避免一上来就大范围扫描导致业务误报或日志噪声过大。第一步:确认 VPN 分配地址。记录登录后的客户端 IP、路由表、DNS 后缀。第二步:验证访问边界。只对授权目标网段做端口连通性测试,优先检查域控、跳板机、文件服务器。第三步:检查账号权限。确认普通 VPN 用户是否能访问管理协议,例如 RDP、WinRM、SSH、数据库端口。第四步:关联日志。把 VPN 登录时间和内网主机安全日志按时间线对齐。第五步:输出修复项。重点写清楚哪些策略过宽、哪些日志缺失、哪些账号存在异常权限。代码/命令示例:日志与连通性排查下面是一个常用的排查片段,用于在授权 Windows 环境中按时间筛选远程登录事件。重点关注 4624 成功登录中的 LogonType 3、10,以及来源地址是否来自 VPN 地址池。PowerShell -ExecutionPolicy Bypass$start = Get-Date "2025-01-01 00:00:00" $end = Get-Date "2025-01-02 00:00:00" $vpnPoolPattern = "10.20.30." Get-WinEvent -FilterHashtable @{ LogName = 'Security' Id = 4624 StartTime = $start EndTime = $end } | ForEach-Object { $xml = [xml]$_.ToXml() $data = @{} foreach ($d in $xml.Event.EventData.Data) { $data[$d.Name] = $d.'#text' } if ($data['IpAddress'] -like "$vpnPoolPattern*") { [PSCustomObject]@{ TimeCreated = $_.TimeCreated TargetUser = $data['TargetUserName'] Domain = $data['TargetDomainName'] LogonType = $data['LogonType'] SourceIP = $data['IpAddress'] Workstation = $data['WorkstationName'] Process = $data['ProcessName'] } } } | Sort-Object TimeCreated | Format-Table -AutoSize如果需要快速验证 VPN 用户进入后的最小访问边界,可以在授权客户端上做低频连通性测试。注意只测授权网段和关键端口,不做全端口高速扫描。# Linux/macOS 客户端示例:验证关键资产端口是否被过度开放 for host in 10.10.1.10 10.10.1.20 10.10.2.15; do for port in 53 88 135 389 445 3389 5985; do timeout 2 bash -c "cat < /dev/null > /dev/tcp/$host/$port" 2>/dev/null \ && echo "$host:$port open" done done关键日志点位置重点事件排查价值VPN/SSL 网关登录成功、会话建立、源 IP、分配地址、策略命中确认入口账号、来源和内网访问起点域控4624、4625、4768、4769、4776确认 Kerberos/NTLM 认证行为和账号使用轨迹Windows 服务器4624 LogonType 3/10、7045、4688确认远程登录、服务创建、进程执行防火墙VPN 地址池到服务器区流量确认横向访问范围和策略是否过宽EDR/终端异常 PowerShell、远程管理工具、凭据访问告警确认是否进入执行和持久化阶段风险与修复建议收敛 VPN 访问范围:不要让 VPN 地址池直接访问整个办公网或服务器区。按角色划分 ACL,例如普通员工只允许访问业务入口,运维账号只允许访问堡垒机。强制 MFA 与设备绑定:对 VPN、边界设备管理后台、堡垒机都应开启 MFA。仅对密码加复杂度不足以抵御凭据泄露。禁用公网管理面:边界设备管理后台不要直接暴露公网,建议限制到固定运维 IP 或通过独立管理 VPN 访问。分离普通账号和运维账号:禁止普通办公账号同时具备 VPN 登录和服务器管理权限。开启关键日志:Windows 建议开启命令行审计、PowerShell Script Block Logging、账户登录审计。VPN 日志至少保留 180 天,便于回溯。检测 VPN 地址池异常行为:对 VPN 地址池访问域控 445/3389/5985、批量认证失败、短时间多主机连接建立告警规则。一个比较实用的防火墙策略基线是:VPN 用户默认拒绝访问服务器区,只显式放行业务端口;运维 VPN 只能访问堡垒机;堡垒机再按审批访问目标服务器。这样即使单个 VPN 账号泄露,也不至于直接进入横向移动阶段。总结近期边界设备相关威胁的重点不只是“有没有漏洞”,而是漏洞或凭据被利用后,内网权限边界是否足够清晰。授权测试时应把验证重点放在 VPN 地址池访问范围、域认证日志、管理协议暴露和日志留存质量上。如果只能做一项改动,优先收敛 VPN 到服务器区的访问策略;如果只能补一类日志,优先补齐 VPN 登录日志和域控认证日志。入口问题不可避免,但清晰的权限边界和可追溯日志能显著降低后续处置成本。 服务器、云资产与权限边界梳理示意
昨天 23:021天前 这类事件排查建议不要从“某台内网主机是否中招”开始,而是先把 VPN/边界设备登录、身份认证、东西向流量和主机进程按同一时间线串起来。实际处置中,最容易漏的是:攻击者拿到 VPN 账号后使用合法登录进入内网,后续横向行为看起来并不像传统扫描。 1. 先固定边界设备和认证日志 保留 VPN 登录成功/失败、分配的虚拟地址、账号、认证方式、客户端指纹、源公网 IP、会话建立和断开时间。 同时导出 MFA、LDAP/AD、RADIUS、SSO 日志,不能只看 VPN 设备本地日志。重点核对“VPN 登录成功但 MFA 失败”“同一账号短时间来自多个国家/ASN”“登录后立即访问不常用网段”等情况。 确认设备日志是否存在时间偏差,尤其是设备升级、重启或日志转发中断的时间段。 # Linux/SIEM 主机上先按账号和源地址做粗筛,字段名按实际日志调整 grep -Ei 'vpn|sslvpn|ipsec|login|authentication|radius' /var/log/* 2>/dev/null \ | grep -E 'Accepted|success|Success|failed|Failed' \ | awk '{print $1,$2,$3,$0}' | sort # 查看设备或日志服务器最近是否出现过时间跳变、转发中断 journalctl --since "2026-10-01 00:00:00" --until "2026-10-02 00:00:00" \ | grep -Ei 'ntp|time|chrony|rsyslog|forward|connection refused' 2. 用 VPN 分配地址反查内网活动 比单纯按公网 IP 搜索更有效的是拿 VPN 分配的虚拟地址去查 DHCP、NetFlow、交换机流量、DNS、代理和防火墙日志。重点看登录后 5~30 分钟内是否出现: 访问域控的 88、389、445、135、139、3268/3269 端口; 访问大量服务器的 445、3389、5985/5986、22; 突然查询大量内部 DNS 记录或枚举 LDAP; 代理、跳板机、文件服务器出现同一账号的首次访问。 如果 VPN 地址池和办公终端地址池混用,建议尽快拆分,并在防火墙上限制 VPN 用户到服务器网段的默认访问权限,只放行业务所需网段和端口。 3. Windows 侧不要只搜 4624 建议以 VPN 登录时间为起点,关联以下事件: 4624:重点看 LogonType 3(网络登录)、10(远程交互登录),以及 Source Network Address; 4672:账号是否获得高权限令牌; 4648:是否显式使用其他凭据; 4688 和 PowerShell 4103/4104:是否出现 net、nltest、whoami、quser、ipconfig、ад、PowerShell 下载或远程执行; 7045、4697:是否新建服务; 5140/5145:是否访问 ADMIN$、C$、SYSVOL、NETLOGON; 4768/4769/4771:Kerberos 请求是否突然异常,特别是非工作站或 VPN 地址发起的票据请求。 # Windows:按时间和来源地址筛选登录成功事件 Get-WinEvent -FilterHashtable @{ LogName='Security' Id=4624 StartTime=(Get-Date '2026-10-01 00:00:00') EndTime=(Get-Date '2026-10-02 00:00:00') } | ForEach-Object { $x = [xml]$_.ToXml() $d = @{} $x.Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_.'#text' } [pscustomobject]@{ Time=$_.TimeCreated User="$($d.TargetDomainName)\$($d.TargetUserName)" LogonType=$d.LogonType SourceIP=$d.IpAddress Workstation=$d.WorkstationName Auth=$d.AuthenticationPackageName } } | Where-Object { $_.LogonType -in '3','10' -and $_.SourceIP -and $_.SourceIP -ne '-' } | Sort-Object Time 如果启用了 Sysmon,可以再用事件 1、3、10、11 关联进程创建、网络连接、进程访问和文件落地。对于 VPN 用户直接触达服务器的场景,优先检查目标主机上是否出现来自 VPN 地址池的 wmiprvse.exe、svchost.exe、powershell.exe、cmd.exe、rundll32.exe 异常子进程。 4. Linux 和网络设备主机容易被漏查 边界设备被利用后,攻击者有时会把配置备份、密钥或 SNMP 凭据带到 Linux 跳板机。建议检查: # SSH、sudo、提权和持久化线索 journalctl --since "2026-10-01" --until "2026-10-02" \ | grep -Ei 'sshd|sudo|su:|authentication failure|accepted|failed' last -ai lastb -ai 2>/dev/null find /etc/cron* /var/spool/cron -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' 2>/dev/null find /tmp /var/tmp /dev/shm -type f -mtime -3 -ls 2>/dev/null ss -plant 网络设备本身还要核对配置变更记录、管理员账号新增、管理面是否暴露到互联网、是否出现异常导出配置或固件文件读取。若设备支持,立即把管理面限制到管理网,并将配置变更和管理员登录转发到独立日志服务器,避免设备被入侵后本地日志被清理。 5. 处置顺序比“先重装一台主机”更重要 先对 VPN/边界设备做配置和日志留存,记录当前连接、管理员会话、账号和策略变更; 禁用或重置疑似账号、撤销现有 VPN 会话和令牌,轮换可能暴露的 LDAP、RADIUS、SNMP、设备管理凭据; 按 VPN 虚拟地址、账号和时间段定位最早访问的内网主机; 保留目标主机内存、EDR 时间线、Windows 日志和关键文件时间戳后,再进行隔离和清理; 最后才是恢复业务,并用最小权限、分区访问和强制 MFA 验证是否还存在同样的路径。 判断“是否只是账号泄露”时,不能只看有没有恶意文件。只要出现 VPN 登录后对域控、文件服务器或多台主机的异常访问,就应该按凭据泄露和横向活动处理,至少完成相关账号的密码、令牌、服务凭据和缓存凭据轮换。