域渗透基本概念
字数 3705 2025-08-15 21:32:28
域渗透基础知识详解
0x01 内网基础概念
内网(LAN)
- 内网即局域网,内部机器IP通常为192.168.x.x等私有地址
- 内网机器通过NAT访问外网时,对外显示同一公网IP
工作组(Workgroup)
- 局域网中的逻辑分组,用于对主机和用户进行分类管理
- 工作组凭证存储在本地,可通过"此电脑"属性查看和修改
- 适用于小型网络环境,管理分散
0x02 域(Domain)基础
域的定义
- 域是Windows网络中独立运行的安全单位
- 域之间通过信任关系(Trust Relation)实现资源共享
- 域是Windows网络操作系统的逻辑组织单元和安全边界
域与工作组的区别
| 特性 | 工作组 | 域 |
|---|---|---|
| 管理方式 | 分散管理 | 集中管理 |
| 认证方式 | 本地SAM验证 | 域控制器Kerberos验证 |
| 策略设置 | 本地设置 | 域控制器统一设置 |
| 账号管理 | 本地管理 | 域内任意计算机可登录 |
0x03 域控制器(Domain Controller, DC)
域控制器功能
- 负责验证域内计算机和用户的合法性
- 存储域账户、密码、计算机等信息构成的数据库
- 拒绝非法登录,保护网络资源安全
域控制器特点
- 安装活动目录(AD)的计算机成为域控制器
- 一个域可有多台域控制器,通常配置主辅域控
- 域控是活动目录的存储位置
0x04 活动目录(Active Directory, AD)
AD基本概念
- 基于DNS的树状结构目录服务
- 存储域内所有网络对象信息(用户、组、计算机等)
- 包含域用户和计算机账户的密码哈希值
AD功能
- 提供基础网络服务(DNS/DHCP等)
- 集中管理计算机、用户、资源
- 支持桌面配置和应用系统
AD数据库
- 数据库文件: ntds.dit
- 存储位置: c:\windows\system32\ntds\ntds.dit
0x05 域逻辑结构
域(Domain)
- 安全的最小边界
- 实现对网络资源的集中统一管理
域树(Domain Tree)
- 由一组具有连续命名空间的域组成
- 例如: contoso.com(根域) → gsd.contoso.com(子域) → dev.gsd.contoso.com(子子域)
林(Forest)
- 由一棵或多棵域树组成
- 每棵域树有独立命名空间
- 第一棵域树的根域也是林的根域
组织单元(OU)
- 容器对象,可包含用户、计算机等对象
- 也可包含其他OU,实现层级管理
0x06 安全账户管理器(SAM)
SAM概述
- 存储Windows本地账户密码的数据库文件
- 存储密码的Hash值(LM Hash和NTLM Hash)
- 文件位置: c:/windows/system32/config/SAM
SAM安全特性
- 后期Windows系统使用SYSKEY加密SAM文件
- 类似于Linux的/etc/shadow文件
Hash获取方法
- 导出SAM文件配合SYSKEY
- 使用mimikatz等工具读取进程内存
- 通过PE系统替换SAM文件(老版本系统)
Hash破解工具
- LM Hash: john/hashcat -m 3000
- NTLM Hash: john/hashcat -m 1000
- Net-NTLMv1: john/hashcat -m 5500
- Net-NTLMv2: john/hashcat -m 5600
0x07 Kerberos协议
Kerberos角色
- 客户端(Client)
- 服务端(Server)
- 密钥分发中心(KDC)
Kerberos认证流程
- AS_REQ: 客户端向KDC发起认证请求
- AS_REP: KDC验证身份后返回TGT
- TGS_REQ: 客户端用TGT请求服务票据
- TGS_REP: KDC返回服务票据(ST)
- AP_REQ: 客户端用ST请求服务
- AP_REP: 服务端验证客户端身份
关键概念
- TGT(Ticket Granting Ticket): 认证票据
- ST(Service Ticket): 服务票据
- PAC(Privilege Attribute Certificate): 特权属性证书,用于权限判断
0x08 NTLM协议
NTLM认证流程
- 客户端发送明文用户名
- 服务器返回Challenge(挑战值)
- 客户端用密码Hash加密Challenge并返回
- 服务器向DC验证响应
- DC返回验证结果
NTLM Hash类型
- NTLM Hash: SAM或ntds.dit中存储的Hash
- 生成流程: 16进制 → unicode → MD4
- Net-NTLM Hash: 认证过程中服务器返回的Hash
- 包含用户名、IP、加密算法等信息
NTLM Hash获取方式
- 导出SAM文件
- 使用mimikatz读取内存(受版本限制)
- NTLM哈希传递攻击
Net-NTLM Hash获取
- 使用Responder或Inveigh等工具进行中间人攻击
0x09 SMB协议
SMB概述
- 服务器消息块(Server Message Block)
- 又称网络文件共享系统(CIFS)
- 用于共享文件、打印机、串口等资源
SMB端口
- 直接运行在TCP 445端口
- 通过NetBIOS API:
- UDP 137, 138
- TCP 137, 139
0x0A IPC$
IPC$基础
- 进程间通信(Inter-Process Communication)
- 通过命名管道实现远程管理和资源共享
- 基于SMB和NetBIOS,使用139/445端口
IPC$操作命令
- 建立空连接:
net use \\ip\ipc$ "" /user:"" - 删除连接:
net use \\ip\ipc$ /del - 查看共享:
net view \\ip - 映射磁盘:
net use z: \\ip\c$
IPC$安全
- 所有操作都会在日志中留下记录
- 现代系统已限制空连接的权限
0x0B NetBIOS
NetBIOS服务
- 名称服务(NetBIOS-NS): UDP 137
- 数据报服务: UDP 138
- 会话服务: TCP 139
NetBIOS发现工具
nbtstat -A ip: 获取目标MAC地址nbtscan: 扫描网段主机名和共享
0x0C WMI
WMI概述
- Windows管理规范(Windows Management Instrumentation)
- 提供访问操作系统构成单元的公共接口
- 默认使用135端口(DCOM)
WMI用途
- 本地和远程计算机管理
- 渗透测试中常用于远程执行操作
- 相关工具: WMIC、Invoke-WmiCommand等
0x0D Windows访问令牌
令牌类型
- 主令牌: 与进程关联
- 模拟令牌: 与线程关联
令牌特点
- 包含登录会话的安全信息(SID等)
- 用户注销后主令牌转为模拟令牌
- 只有重启系统才会清除令牌
0x0E SID
SID概述
- 安全标识符(Security Identifier)
- 唯一标识用户、组和计算机账户
- 账户创建时分配,永不更改
0x0F 虚拟安全域
安全域划分
- DMZ区: 对外提供服务的服务器(Web、邮件等)
- 内网区:
- 办公区: 普通员工区域
- 核心区: 运维和IT主管区域
安全域隔离
- 通过防火墙设备实现区域隔离
- 不同区域配置不同安全策略
0x10 堡垒机
堡垒机功能
- 限制登录入口
- 集中权限账号管理
- 命令阻断和审计
- 操作记录和追责
与防火墙区别
- 防火墙: 外网↔DMZ↔内网
- 堡垒机: 运维人员↔内网
0x11 域中计算机分类
- 域控制器: 安装AD的服务器
- 成员服务器: 加入域但未安装AD(如Web服务器)
- 独立服务器: 未加入域也未安装AD
- 客户机: 使用资源的计算机
0x12 域内权限
域内置组类型
- 域本地组: 规定域内资源访问权限
- 全局组: 用于组织相同安全需求的用户
- 通用组: 林范围内跨域访问资源
A-G-DL-P策略
- A(Account): 用户账号
- G(Global Group): 全局组
- DL(Domain Local Group): 域本地组
- P(Permission): 资源权限
重要域本地组
- Administrators: 最高权限
- Remote Desktop Users: 远程登录权限
- Print Operators: 管理打印机,可登录域控
- Account Operators: 创建管理用户和组
- Server Operators: 管理域服务器
- Backup Operators: 备份还原操作
重要全局/通用组
- Domain Admins: 域管理员,默认加入每台域成员计算机管理员组
- Enterprise Admins: 企业系统管理员,域森林每个域的管理员
- Schema Admins: 架构管理员,可修改AD和域森林模式
- Domain Users: 所有域成员所在组