游客发表
去年冬天,双渗透我在一个做企业安全的双渗透朋友那里看到一份渗透测试报告。报告里有个细节让我盯了很久:攻击者先拿下一个边缘服务器,双渗透没急着横向移动,双渗透而是双渗透把目光投向了那台服务器的上游——它连接着的云管平台。从云管平台再往下,双渗透才是双渗透真正的核心数据库。两条路径,双渗透一明一暗,双渗透像两根针同时扎进同一块布料。双渗透朋友管这个叫“双渗透”。双渗透
传统渗透讲的双渗透是单线突破:找到入口,提权,双渗透横向,双渗透拿数据。双渗透但双渗透的逻辑不一样。它要求攻击者同时在两个层面建立据点——比如一个在应用层,一个在网络层;或者一个在本地,一个在云上。两条线各自独立,又互相掩护。单线被切断,另一条还能继续走。这有点像打仗时正面佯攻加侧翼包抄,但更隐蔽,因为两条线之间可能根本不需要通信。
我见过一个真实案例。某电商平台的订单系统有个反序列化漏洞,攻击者利用它拿到了应用服务器的权限。按常规操作,下一步该扫内网了。但他没动。他转头去分析这台服务器上的运维脚本,发现脚本里硬编码了一个对象存储的临时密钥。这个密钥权限不大,只能读写一个备份桶。可备份桶里存着数据库的每日快照。于是第二条线成立了:从对象存储直接恢复出数据库副本,绕过了所有内网防火墙和数据库审计。第一条线还在应用服务器上挂着,当诱饵。等安全团队发现异常登录、开始封禁IP、排查应用漏洞时,数据已经从备份桶里被拖走了。
双渗透的可怕之处在于,两条线往往不在同一个信任域里。应用服务器属于业务区,对象存储属于基础设施区,安全策略、监控手段、责任人都不一样。业务区的告警响了,基础设施区可能毫无感知。反过来也一样。攻击者利用的就是这种管理上的缝隙。你盯着门,他从窗户进来了;你堵住窗户,他其实已经从地下室挖了条地道。
那怎么防?单点加固没用。你得把两条线之间的“隐形桥梁”找出来。上面那个案例里,桥梁就是运维脚本里的硬编码密钥。很多企业把密钥写在代码里、配置文件里、CI/CD的环境变量里,觉得“反正只有内部能访问”。可一旦应用层被突破,这些密钥就成了第二条渗透路径的起点。所以我现在看一个系统安不安全,不只看它有多少层WAF、多少条防火墙规则,更看它的凭据管理是不是干净——有没有长期不轮换的AK/SK,有没有一个密钥能跨多个信任域,有没有把生产环境的快照权限给到开发测试账号。
另一个观察:双渗透很少是纯技术漏洞驱动的。它更多是架构和流程的产物。比如微服务拆分后,服务间调用靠内部token,token泄露就等于拿到了横向移动的通行证。再比如混合云环境,本地IDC和云上VPC打通了,但两边安全组策略不一致,攻击者就能从云上跳板打回本地。这些都不是某个CVE能概括的,是设计时就埋下的。
我后来自己搭了个小实验环境,模拟双渗透。一条线走Web漏洞拿shell,另一条线走CI/CD的缓存投毒。结果发现,只要两条线的时间差控制好,现有的EDR和NDR几乎不会关联告警。因为它们在两个不同的数据源里,一个看进程行为,一个看网络流量。除非你把它们拼在一起看,否则就是两个孤立的“低危事件”。
所以双渗透与其说是一种攻击技术,不如说是一种视角。它逼着你跳出单点防御的思维,去问:如果攻击者不按我的剧本走呢?如果他同时打两个地方,而这两个地方我恰好没放在同一张图上看呢?答案往往不太好看。
友情链接