实战复盘:我是如何用CobaltStrike的Socks4代理+Proxychains穿透内网扫描的

张开发
2026/4/21 1:54:54 15 分钟阅读

分享文章

实战复盘:我是如何用CobaltStrike的Socks4代理+Proxychains穿透内网扫描的
内网渗透实战CobaltStrike代理与Proxychains的协同作战那天下午咖啡已经凉了第三回。我盯着屏幕上那个孤零零的Beacon会话知道真正的挑战才刚刚开始。作为渗透测试人员最兴奋的时刻莫过于拿到第一个内网入口但最头疼的问题也随之而来——如何在这个狭小的立足点上撬开整个内网的大门1. 从单点突破到内网漫游当我们在渗透测试中获得第一台内网主机的控制权时常会遇到一个尴尬局面这台机器就像孤岛虽然能连通外网却无法直接访问其他内网资源。此时隧道技术就成了打通任督二脉的关键。为什么选择Socks4代理相比其他隧道方案它有三大优势轻量级几乎不增加额外流量负担兼容性好支持绝大多数扫描工具配置简单一条命令即可启动在本次案例中我们控制的是一台Windows Server 2008 R2主机暂称JumpBox而真正的目标——域控制器位于完全隔离的10.0.0.0/24网段。传统扫描工具在这里完全失效必须建立代理通道。2. CobaltStrike代理服务搭建实战2.1 初始化代理环境首先确保Beacon处于交互模式这是代理稳定运行的前提beacon sleep 0 # 切换为即时响应模式启动Socks4a代理服务端口可自定义beacon socks 8888常见踩坑点如果忘记切换交互模式代理流量会出现严重延迟导致扫描结果不完整。我曾在一个项目中因此漏掉了关键的业务系统。2.2 代理状态监控在CobaltStrike的View → Proxy Pivots界面可以实时观察活跃代理连接数数据传输量异常断开情况重要指标当传输量突然激增但无新连接时可能触发了内网IDS的检测机制。3. 工具链的代理集成方案3.1 Metasploit与代理的完美配合在MSF中全局设置代理参数msf6 setg Proxies socks4:192.168.1.100:8888 msf6 setg ReverseAllowProxy true进行内网扫描的实战示例use auxiliary/scanner/smb/smb_version set RHOSTS 10.0.0.0/24 set THREADS 32 # 根据代理带宽调整 run性能调优建议线程数并非越高越好我通常先设10逐步增加到代理开始丢包时的80%值。3.2 Proxychains的魔法改造对于不支持原生代理的工具如Nmap需要修改/etc/proxychains.conf[ProxyList] socks4 192.168.1.100 8888扫描命令示例proxychains nmap -sT -Pn -n 10.0.0.2 -p 80,443,445 --open参数解析-sT全连接扫描必须-Pn跳过主机发现-n禁用DNS解析4. 典型问题排查手册4.1 连接失败诊断流程检查Beacon是否在线验证代理端口是否监听beacon netstat测试本地代理连通性proxychains curl -v http://10.0.0.14.2 性能优化技巧流量压缩在带宽受限环境中beacon socks 8888 gzip心跳调整适当延长sleep时间beacon sleep 605. 安全防护与痕迹清理5.1 规避检测的实用方法使用非常用端口如53/tcp定期更换代理端口混合使用TCP和DNS隧道5.2 善后工作清单停止代理服务beacon socks stop清除MSF代理设置msf6 unsetg Proxies恢复原始sleep间隔beacon sleep 60那次渗透最终持续了三天。当域控的旗帜终于出现在CobaltStrike界面时凌晨四点的阳光正透过窗帘缝隙照进来。技术文档永远不会告诉你的是真正耗时的往往不是漏洞利用本身而是如何在那条狭窄的代理隧道里小心翼翼地运送你的侦察兵。

更多文章