红日靶场实战:从零构建内网渗透实验环境的完整指南
第一次接触内网渗透时,我花了整整三天时间才把实验环境跑通。各种网络配置问题、系统兼容性错误、服务启动失败接踵而至,那种挫败感至今记忆犹新。现在,我将把这些踩坑经验转化为一套可复现的标准化搭建流程,帮助初学者快速构建红日靶场环境。
1. 环境规划与网络拓扑设计
搭建内网渗透环境前,清晰的网络架构规划能避免80%的后续问题。红日靶场采用典型的三层结构:外网DMZ区、内网普通域成员和核心域控制器。以下是经过验证的网络配置方案:
推荐网络参数配置表:
| 设备角色 | 网络适配器类型 | IP地址段 | 对应VMnet | 必需服务 |
|---|---|---|---|---|
| Kali攻击机 | NAT模式 | 192.168.50.0/24 | VMnet8 | Metasploit、Nmap、Hydra |
| Win7边缘主机 | 双网卡 | 外网:50.133 | VMnet8 | IIS、PHPStudy |
| 内网:52.143 | VMnet1 | |||
| Win2003成员机 | 仅主机模式 | 192.168.52.141 | VMnet1 | SMB服务、远程桌面 |
| Win2008域控 | 仅主机模式 | 192.168.52.138 | VMnet1 | Active Directory、DNS |
关键提示:VMware网卡顺序直接影响网络连通性。务必确保Win7的内网网卡(VMnet1)在适配器列表中位于外网网卡之前,否则会导致路由异常。
常见配置错误及解决方案:
- 问题1:虚拟机间无法ping通
- 检查各主机防火墙状态:
netsh advfirewall set allprofiles state off - 验证VMnet1子网配置是否一致:
ipconfig /all查看默认网关
- 检查各主机防火墙状态:
- 问题2:域控与成员机时间不同步
- 在域控执行:
w32tm /config /syncfromflags:domhier /update - 成员机强制同步:
net time \\OWA /set /y
- 在域控执行:
2. 系统初始化与域环境部署
2.1 操作系统基础配置
所有Windows主机安装完成后,需进行以下标准化操作:
# 关闭UAC(需重启生效) REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f # 启用经典共享模式 REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 1 /f # 关闭密码复杂度策略(仅限实验环境) secedit /export /cfg C:\secpol.cfg (Get-Content C:\secpol.cfg).replace("PasswordComplexity = 1", "PasswordComplexity = 0") | Out-File C:\secpol.cfg secedit /configure /db C:\Windows\security\local.sdb /cfg C:\secpol.cfg /areas SECURITYPOLICY2.2 Active Directory域服务搭建
在Win2008主机上部署域控制器时,特别注意以下步骤:
- 安装AD域服务角色:
ServerManagerCmd -install AD-Domain-Services - 创建名为
god.org的域:Install-ADDSForest -DomainName god.org -DomainNetbiosName GOD -InstallDns - 添加测试用户(密码统一设为
hongrisec@2019):New-ADUser -Name "liukaifeng01" -AccountPassword (ConvertTo-SecureString "hongrisec@2019" -AsPlainText -Force) -Enabled $true
域环境验证命令清单:
- 检查域加入状态:
nltest /domain_trusts - 查看域管理员组:
net group "Domain Admins" /domain - 测试域用户认证:
runas /user:god\liukaifeng01 cmd.exe
3. 漏洞服务配置与加固
3.1 PHPStudy安全缺陷模拟
在Win7主机部署漏洞环境时,采用以下配置确保实验可复现:
- 安装PHPStudy 2016版本(已知存在多个漏洞)
- 配置MySQL弱口令:
UPDATE mysql.user SET authentication_string=PASSWORD('root') WHERE User='root'; FLUSH PRIVILEGES; - 部署YXCMS漏洞系统:
- 修改
/data/config/db.php中的数据库连接信息 - 保留默认后台密码
admin/123456
- 修改
操作技巧:使用VMware快照功能保存初始状态,每次实验前还原到干净环境。
3.2 永恒之蓝漏洞环境准备
为Win2003成员机配置漏洞环境:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters] "SMB1"=dword:00000001 "AllowInsecureGuestAuth"=dword:00000001应用补丁检查命令:
systeminfo | findstr KB4012598若未显示该补丁编号,则表示系统存在MS17-010漏洞
4. 渗透测试工具链配置
4.1 Kali Linux优化设置
更新APT源后安装必备工具:
# 替换为中科大源 sed -i 's/http:\/\/http.kali.org/https:\/\/mirrors.ustc.edu.cn\/kali/g' /etc/apt/sources.list # 安装增强工具包 apt update && apt install -y \ metasploit-framework \ seclists \ responder \ bloodhound \ crackmapexec配置MSF数据库连接:
systemctl start postgresql msfdb init msfconsole -x "db_status; workspace create redteam; workspace redteam"4.2 Cobalt Strike团队服务器部署
CS4.5安装后的关键配置步骤:
- 修改监听器配置:
# /opt/cobaltstrike/profile set sleeptime "5000"; set jitter "20"; set useragent "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0"; - 生成免杀Payload:
./agscript 192.168.50.130 50050 attacker password ArtifactKit
流量伪装技巧:
- 使用CDN域前置技术:
set host_stage "false" - 启用SSL加密:
./c2lint redteam.profile
5. 典型问题排查手册
5.1 网络连通性故障
现象:Kali无法访问Win7的Web服务
- 排查步骤:
- 验证NAT网络配置:
vmware-netcfg - 检查Win7防火墙规则:
netsh firewall show state - 测试端口连通性:
nc -zv 192.168.50.133 80
- 验证NAT网络配置:
解决方案:
# Win7执行端口开放 New-NetFirewallRule -DisplayName "AllowHTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow5.2 域认证失败处理
错误提示:"The trust relationship between this workstation and the primary domain failed"
- 修复命令:
Test-ComputerSecureChannel -Repair -Credential (Get-Credential) - 备用方案:
- 退出域:
Remove-Computer -UnjoinDomaincredential GOD\Administrator -PassThru -Verbose - 重新加域:
Add-Computer -DomainName god.org -Credential GOD\Administrator
- 退出域:
实验过程中遇到奇怪问题时,不妨先检查这三处:
- 所有主机时钟偏差是否在5分钟内
- DNS解析是否正常:
nslookup owa.god.org - 网络适配器是否启用"混杂模式"