ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

红队渗透测试实战复盘:从入口突破到内网横向的完整攻击链拆解

红队渗透测试实战复盘:从入口突破到内网横向的完整攻击链拆解 红队测试这行干久了你会发现一个有意思的现象很多企业觉得自己的安全防护做得不错等真正被红队模拟真实攻击者打一轮往往撑不过两周。我印象最深的一次项目目标是互联网上一家成熟的软件公司防守方部署了终端检测与响应、下一代防火墙、主机安全类产品理论上覆盖很全。结果是红队渗透测试切入的入口既不是主站也不是办公系统而是有人从云上拉起来的一个临时影印服务弱口令加未授权访问一天不到就成了跳板。接着就是内网横向最终在域环境里拿到了目标系统的控制权限。这篇文章我想把一次比较完整的红队渗透测试链路拆开讲从入口突破、权限建立到内网横向的关键动作和路径选择同时结合防守方告警信息的视角复盘哪些操作容易暴露、哪些时机适合冲锋。内容适合三类人看正在做红队方向的安全工程师、需要理解攻击链条的蓝队防御人员以及想评估自身安全水位、搞清楚红队到底是干什么的企业安全负责人。写的东西不求大而全只讲实战中真实管用的那部分。1. 红队项目启动前先搞清楚游戏规则1.1 红队测试和普通渗透测试的本质差异很多刚入行的朋友容易把红队渗透测试和普通的漏洞扫描、渗透测试混为一谈这个认知偏差会在项目里吃大亏。普通渗透测试更像一次合规体检范围固定、目标明确、时间窗口短大家按Checklist逐项验证找到中高危漏洞就交差。红队测试完全不同它的核心是模拟真实攻击者的完整行为链不预设“这里有漏洞你去挖”而是从攻击者视角重新审视整个企业哪些资产被遗忘、哪些人容易上钩、哪些安全设备形同虚设。举个例子普通渗透测试里你拿到一个后台弱口令上报“弱口令风险”可能就算完事。但红队拿到这个弱口令后会继续思考能不能登录后台、后台里有没有上传点、能否借助这个点拿到服务器权限、这台服务器能不能通内网、内网里能不能找到更高价值的系统。这就是单点和链路的区别。红队考验的不只是技术水平更是对攻击全局的掌控力以及面对真实网络环境时随机应变的经验。另外红队项目通常有时间跨度可能是两三周甚至更久需要把“持续对抗”这个因素考虑进去。防守方不是木头你今天扫了一波端口明天可能就被封了IP你今天挂了一个免杀马后天可能就被终端安全软件提特征。所以红队打法里天然包含节奏控制和路线调整这也是为什么红队测试对人员的要求比普通渗透测试高不少。1.2 授权范围决定了打法的边界红线必须画清楚不管外界把红队描述得多玄乎实际操作上第一件事永远是确认授权范围。合法的红队项目必须有明确的合同、授权书和具体的测试范围这是所有后续动作的前提。作为红队工程师应当在项目启动会上就问清楚几个问题测试目标是否有明确的资产列表允许使用的攻击手法边界在哪里哪些系统属于绝对不能碰的核心业务是否允许社工钓鱼时间窗口和每日测试时间段有没有限制我见过一些新人拿到授权后兴奋过头顺手测了范围外的资产结果引发客户投诉甚至法律风险。红队的“红”不代表可以无边界行动恰恰相反红队人员必须对授权边界极度敏感。有些客户会明确在范围外标注某些系统即使这些系统看起来明显存在漏洞也不能去碰。这种纪律性不是保守而是行业生存的基本素养。除了合法的攻击预算红队在开始前还需要和客户确认防守方的介入时机。有些项目允许全程真刀真枪有些项目要求点到为止发现关键路径即可停止还有些项目会提前通知蓝队有红队入侵但不告诉具体时间。不同的规则会直接影响打法比如需要隐蔽推进时每一步都要考虑会不会触发告警而如果目的是测试防守方的应急响应能力则可以适当高调地制造动静观察蓝队的发现速度和响应流程。1.3 全链路视角下的攻击路径设计红队的价值在于完整链路因此动手前我会习惯画一张攻击路径草图把整个项目的推进逻辑理清楚。一条典型的红队攻击链是外网信息收集、入口突破、权限建立与维持、内网信息收集、横向移动、核心目标控制、影响验证、报告复盘。看上去是老生常谈但很多人做项目时容易陷在局部里忘了最终目标是什么。举个例子有一次项目最终目标是验证能否获取客户核心系统的数据访问权限但客户资产规模很大公网入口足足有上百个。如果每个入口都花时间深入测试一个月都不够用。正确的做法是从目标反推路径核心系统在内网哪个网段能访问它的前置系统有哪些这些前置系统是否暴露在公网有没有运维跳板机从外网打进来后先拿哪台主机再横向到哪个区域最后如何接近目标系统。所有在入口阶段的判断都应该为最终目标服务。这种反推思维在红队项目里至关重要。还有一点容易被忽略的是备选路径设计。真实的红队测试里一条路往往走不通比如你以为某台跳板机可以到达核心网段结果网络策略拦了一道。提前设计两条以上互不依赖的路径可以有效避免项目中期卡死。2. 入口突破从外网资产梳理到拿下一台主机2.1 攻击面收敛先画一张资产地图红队项目启动后第一个动作不是去某个IP上扫端口而是做资产测绘。把目标企业暴露在网络上的资产全部摸一遍才能真正找到突破口。这一步做得细不细直接决定后面是轻松还是硬啃。我会优先用空间测绘工具搜索目标主体的IP段、域名和证书信息再结合子域名接口、证书透明日志、主域名解析记录做交叉验证。这些工具在安全圈里都很常见关键是会搜索。很多人拿了一个主域名就开扫扫了半天发现都是同一个CDN节点真正有用的做法是顺着证书、子域名、历史解析、邮箱头、移动App包、甚至GitHub泄露的配置等多维度去扩展资产范围。资产地图画完后我会对每个资产打标签是否暴露管理后台、是否采用了常见框架和组件、是否使用了默认端口、是否关联核心业务。打标签的过程其实是排序的过程后面决定先打哪个目标依据就在这张表上。我见过不少红队项目前期资产测绘花了整个项目1/3的时间看起来进展缓慢实际上后续每一步都走得很顺因为目标已经足够清晰。2.2 入口点的筛选验证同一个入口后续成本完全不同红队视角下入口分为三六九等。同样是拿下一台主机入口类型决定了后续横向的难易程度、暴露风险和操作成本。我通常从四个维度评估一个入口的“质量”稳定性、权限深度、隐蔽性、连接复杂度。先说稳定性。有些入口是通过漏洞利用拿下的比如一个远程命令执行漏洞如果目标系统补丁周期很短可能第二天漏洞就被修复入口随即失效。相比之下通过弱口令进入的系统往往更稳定除非管理员主动改密码。再说权限深度拿到系统权限和普通用户权限在后面的内网操作里是天壤之别。系统权限意味着能加载驱动、抓取内存中的凭据、读取敏感文件普通用户权限则要绕很多弯路。隐蔽性也很关键。使用公开的漏洞利用框架去攻击目标容易产生明显特征而利用业务系统自身的合法功能去操作就隐蔽得多。连接复杂度则是指拿到入口后能否方便地继续访问内网比如某些系统有严格的外连策略即使你拿到了权限也没法从目标机器主动往外连这会极大限制后续操作。综合这些维度我在项目中会优先寻找以下几类入口一是互联网上暴露的管理后台相关弱口令二是历史遗留或未知的组件和代码漏洞三是不需要认证就能操作的数据接口或未授权访问四是运维相关人员复用办公密码的情况。每一类入口在实际项目中都有对应的验证思路红队工程师要根据现场情况动态调整优先级。2.3 从单点漏洞到系统权限中间还有几步硬活假设你已经找到一个入口接下来要做的事情远不止“弹个shell”这么简单。从入口到稳固的系统权限中间涉及几个关键动作每一步都有讲究。第一步是权限落地。通过漏洞或弱口令进入系统后你需要确认当前账户的权限级别。比如通过后台弱口令登录可能只拿到了一个Web应用层的账号需要进一步利用文件上传、命令注入、模板注入等方式提升到操作系统层。这一步我在项目里常用的是先看目标系统运行的应用中间件版本再确认服务器操作系统类型然后选择合适的利用方式和权限提升手段。第二步是权限维持。红队项目周期往往不止一天入口打通后如果第二天就丢了后半段没法打。常见的权限维持方式包括建立远程管理通道、创建隐蔽账号、植入计划任务、注册服务等。但我不建议一股脑全上因为埋点越多暴露面越大。很多时候一个可靠的通道加一个备用方式足够支撑整个项目周期。第三步是信息收集与数据传输。入口机器的角色、网络配置、本机口令、远程桌面连接记录、浏览器保存的密码、部署脚本里的数据库凭据这些信息收集得越充分后续内网横向就越有底气。红队实战里经常出现靠一台入口机的信息收集直接就拿到了域管理员的凭据根本不需要复杂的内网攻击手段。整个入口突破阶段我个人最深的体会是不要爱上一台主机不要耗在单一技术上。如果某个入口超过预期时间仍未突破果断切换方向效率在红队项目里比“死磕精神”重要得多。3. 内网横向从立足点到目标系统的移动路线3.1 横向开始前内网信息收集到底优先看什么拿到第一台内网主机后很多新手会急着东点点西看看实际上应该冷静下来先回答几个关键问题这台主机在哪个网段当前运行的操作系统版本、域环境还是工作组本机有没有域管理员或高权限账号的凭据缓存这台机器可以访问哪些网段和主机有哪些共享资源对外开放当前账户属于哪些本地组或域组回答这些问题的过程就是内网信息收集的核心。说得直白一点红队的横向移动本质上就是“拿着钥匙开锁”的过程而信息收集的使命就是找到钥匙和对应的锁。我常用的命令都很基础ipconfig /all 看网络配置和DNS后缀route print 看路由表net user 和 net group 看账号与组关系netstat -ano 看当前网络连接arp -a 看最近的邻居缓存。这些命令单独看没什么组合起来能帮你在短时间内拼出内网的基本拓扑。除了命令采集我还会关注文件系统里的那份“宝藏”工作目录里的运维文档、连接记录文件、密码本、数据库连接配置文件、远程桌面客户端里的历史连接、云厂商的安全凭据文件等。这些文件往往是比命令输出更加可靠的信息来源因为它们是业务人员在日常工作中留下的真实痕迹红队可以直接站在业务人员的视角理解整个内网的结构。3.2 横向移动的常用手法与适用场景对照内网横向前提是拿到了目标机器的账号密码或哈希横向手法本质上就是“用凭据去远程执行命令或访问资源”。我整理了一下红队和攻击者在内网横向阶段最常用的手段以及它们适用的场景供大家评估自己的防护水位时参考远程桌面协议RDP是最直观的一种横向方式。拿到目标机器的账号密码后直接远程登录操作体验好但流量特征明显容易在登录日志里留下大量审计记录。WMI远程执行和计划任务远程执行这两种方式不需要开额外端口利用系统自带的135端口和计划任务服务适合快速执行单条命令。SMB远程执行和PsExec类工具这两者本质上都是通过SMB的进程管理服务实现远程命令执行适合批量操作但会创建相应的远程服务日志防守方如果关注该服务创建行为很容易定位。还有一类是面向域环境的攻击方式比如Kerberoast、AS-REP Roasting等获取服务账号口令的方式以及通过域控卷影副本提取域内账号哈希的方式。这类手法的共同特点是目标直指域控或高权限账号成功后可以直接控制整个域环境但触发告警的风险也很高。不同横向手法的选择要结合目标环境的系统版本、网络连通性、端口开放情况和现有权限灵活决定。有一点特别值得强调横向移动不是越复杂越好。能用系统自带命令完成的事情尽量不用外部工具能用现成的合法管理工具完成的事情不要引入带有明显特征的攻击工具。红队操作的精髓是“藏在合法流量里”比如管理员平时用远程桌面登录服务器你也用远程桌面管理员用计划任务部署脚本你也用计划任务执行命令这样就能最大程度降低被安全设备识别的概率。3.3 路径决策拿哪台、走哪条、为什么内网里目标主机往往成百上千但红队的横向路径绝不应该是遍地开花。无头苍蝇式地横冲直撞一方面容易被防守方发现另一方面会消耗大量时间和精力。正确的做法是根据最终目标倒推路径哪台主机距离目标最近、哪台主机拥有通往目标区域的网络权限就走哪条路。路径选择时我会考虑三个因素网络区域可达性、账号凭据复用率和主机价值。网络区域可达性是指当前持有的主机能否访问目标网段如果中间有防火墙隔离就需要找一台同时能访问两个区域的跳板主机账号凭据复用率是指当前掌握的口令能否在多台主机上使用实际内网环境里普遍存在口令复用问题一个办公网管理员账号可能同时能登录运维区的跳板机这种复用关系就是天然的横向路径主机价值则是指目标的身份比如域控、核心数据库服务器、运维堡垒机、邮件服务器等价值最高。实际项目里我常用的策略是先收集当前域内账号和组信息找到高权限账号所属的组再看这些账号在哪里登录过然后沿着账号登录过的机器一步步移动。这样一来路径清晰可追溯每一步都有理由写报告的时候也能把攻击链路讲得很透彻。这个思路总结起来就是“站在管理员的角度思考”因为管理员怎么操作横向路径就是怎样的。4. 从告警信息反推横向渗透的检测与对抗4.1 横向渗透会触发哪些典型告警特征很多人一谈到红队就只关注攻击手法忽略了对防守方告警信息的理解。事实上一名优秀的红队工程师必须懂蓝队的检测思路否则在真实对抗中活不过三天。这里我把横向渗透过程中最容易触发告警的特征点列出来这既是给蓝队朋友做检测参考也是给红队朋友提个醒。先说Windows事件日志层面的典型告警。横向移动中常见的远程登录行为对应的安全日志是登录事件类型3如果在短时间内出现大量来自同一来源主机对多台目标主机的该类型登录记录这就是很标准的横向移动信号。另一个高价值日志是计划任务创建事件攻击者通过远程方式在目标上创建计划任务执行命令时会产生相应审计日志。还有服务创建事件PsExec类工具需要在远程机器上创建服务这个动作同样会被记录。域控上的Kerberos服务票据请求日志是多类域攻击的共同信号尤其是短时间内出现大量服务票据请求时极可能有人在批量获取服务账号哈希。除了主机日志网络层面的告警也值得关注。内网主机之间突然出现的低频大量连接某个主机短时间内尝试访问多台主机的445、3389等管理端口或者出现使用了可疑远程服务访问工具的网络流量特征都可能是横向渗透的前兆。一个成熟的安全团队通常会把“主机日志分析”和“网络流量分析”结合起来单独看某一层的告警都很容易被绕过合起来看就能形成交叉验证。4.2 红队如何通过控制节奏降低暴露风险理解了告警特征之后红队就可以针对性地控制攻击节奏避免在横向移动阶段被快速发现。这其实是一个攻防博弈的过程红队的操作越接近正常运维行为被发现的概率就越低。第一点是控制扫描和连接的速度与规模。不要一次性对几十台主机跑大范围扫描而是把目标收敛到特定网段、特定主机逐台验证。内网扫描的速度要比外网扫描慢得多道理很简单外网扫描可以解释为互联网上的噪音内网里的异常扫描往往会被当成明确的攻击信号。第二点是减少非常规工具的落地痕迹。持久化工具、提权工具、横向工具尽量走内存加载或白名单程序不要在内网机器上留下一堆文件安全团队查杀可疑文件时落盘本身就是高风险行为。第三点是利用合法的运维时间窗口。如果目标企业的运维团队习惯在夜间批量部署补丁和重启服务红队选择在这个时间窗口操作被注意到的概率会低不少。当然这些操作不是让红队去教攻击者如何躲避检测而是从防御测试的角度还原真实攻击者的行为模式。真实攻击者在一个内网环境里待得越久留下的痕迹就越多红队要做的是在没有被防守方发现之前完成测试目标这是红队测试的基本要求。4.3 攻防双方的博弈复盘告警信息如何反向指导横向操作我通常会在红队项目的中期做一次“攻防视角切换”的复盘。操作一段时间后主动站到防守方的视角模拟蓝队在事件监控后台会看到什么当前有哪些已经触发或者可能触发的告警哪些操作如果在日志里被串联起来会形成一条清晰的可疑链路如果蓝队已经开始调查他们会优先排查哪些机器这个复盘能帮红队纠正很多隐蔽性不足的问题。有一次项目就是这个复盘救了整个后半程。我们前期通过入口机器在内网里连续操作已经拿下了两台主机正准备向域控方向推进。切换视角一看发现那两台主机在短时间内都出现过非正常时间段的登录事件而且是同一账号。如果蓝队按照账号关联去查几乎等于直接找到了我们。后来我们马上调整策略改用另一条路径绕过这个账号才没有提前暴露。这个复盘的价值不在于“教红队怎么躲”而在于验证当前操作是否符合一个真实攻击者长时间潜伏的特征如果不符就说明打法需要调整。对蓝队来说这个视角同样有启发意义。不要只盯着单个告警要把多个看似无关的告警串起来看比如“异常登录事件计划任务创建多台主机同时出站连接”这样的组合才更像真实的攻击链路。5. 实战避坑入口和横向阶段容易踩的坑5.1 入口明明已经拿下了却连不上内网这是项目中出现频率极高的一类问题。外部入口拿下后发现目标机器并不能主动访问内网或者虽然能访问但在入口机上无法执行后续命令整个链路卡在原地。出现这个问题的原因通常有几个目标机器存在严格的外联访问控制策略入口机器被限制在隔离区网段只能访问特定的白名单地址或者你拿到的入口权限不是操作系统的完整权限而是一个受限的应用权限只能在Web容器内操作。解决思路是先摸清入口机当前的网络访问能力确认它到内网哪些网段是通的。然后用入口机做跳板把内部流量转发出来在本地分析后再决定下一步。如果入口机确实无法访问目标内网也不要硬扛回到资产列表继续找其他入口。红队项目里经常出现“第一入口只起到了侦察作用真正进入内网靠的是第二入口”的情况这很正常。5.2 横向工具被安全软件拦截怎么办内网里几乎都有终端安全产品红队植入的横向工具很容易被杀软拦截或者触发行为告警。面对这种情况千万不要在目标机器上一个接一个地换工具硬试那是找死。我会先检查目标机器的安全软件类型和拦截日志了解它到底拦了什么特征然后调整方案要么改用目标机器上已有的合法管理工具要么把工具做内存加载要么放弃工具的“通用姿势”改用更贴合目标环境的方式执行命令。很多时候比工具本身更重要的是执行命令的方式。比如你可以通过计划任务调用系统的脚本程序或者利用系统自带的远程管理接口执行命令这些动作和正常运维行为差别很小安全软件很难一概拦截。另外要记住一个原则能不往目标机器传文件就不要传文件。红队横向阶段的操作尽量做到“命令来、结果回”文件只存在于内存里这样攻击面就小很多。5.3 权限丢失后的快速恢复策略权限维持做得再好也有翻车的时候。管理员改了密码、安全产品清除了后门、防火墙调整导致通道中断这些都是红队项目中的家常便饭。遇到权限丢失我的建议是不要慌张也不要马上用同一个手法重新尝试那样容易被防守方守株待兔。先检查权限丢失的原因是账号被禁用、密码被修改还是网络通道被断开。如果是账号问题回到收集到的凭据库里寻找备用账号或者利用之前建立的备用持久化通道如果是网络问题调整转发方式换端口、换协议重新建立连接。如果整个入口都失效了那就回到最初的资产地图从其他入口重新开始。红队项目里没有“不可失去”的主机只有“还没想到的路径”。有一回项目就是在最后阶段丢了内网主力机器的权限当时已经接近交付节点。我们冷静下来沿着之前收集到的运维人员习惯在另一台很少被安全团队关注的文件服务器里找到了新的凭据绕了个弯重新回到了目标网络。那次经历让我彻底相信红队真正的核心竞争力不是单一技术的熟练度而是面对意外时的路径重构能力。从我个人做了这么多年红队项目的体会来看最容易被低估的往往不是技术难度而是对整个攻击生命周期的掌控力和对防守方动作的敏感度。一个红队项目做到最后考验的是你在海量信息里找关键路径的能力是你在意外频出时保持冷静的素质也是你在报告里能否把一条攻击链讲得让防守方心服口服的沟通水平。红队渗透测试这件事技术一定是基础但比技术更值钱的是那些由时间和踩坑沉淀下来的“项目手感”。如果你正准备入行红队或者在做防守方想提升对攻击链路的理解你可以从拆解一个简单的攻击闭环开始比如从一台外网弱口令主机到内网文件服务器的完整路径。不要一上来就追求复杂的域渗透手法先把基础链路走通、走熟再逐步增加变量和对抗场景。这个内容后面还可以继续扩展的方向包括域环境下不同攻击路径的日志关联分析、红队报告里攻击路径的可视化表达以及对特定行业比如金融、制造业差异化攻击面的专项研究。每个方向都够写好几篇后面有机会再慢慢展开。
返回列表