HTB-Cascade
靶机ip:10.10.10.182
知识点
- TightVNC密码破解
- AD Recycle Bin滥用权限提升
信息收集
nmap扫描
nmap -sS -sV -sC -p- 10.10.10.182
1 | Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-22 11:27 CST |
从上述结果中可以发现,主机为windows_server_2008
,域名是cascade.local
,开启的服务有DNS
服务、Kerberos
服务、rpc
服务、ldap
服务、SMB
服务、在1433
端口上运行着SQL Server
、在8080
端口也有服务,但是大多数服务都被防火墙过滤了
SMB
直接测试smb能不能匿名登录
smbclient -N -L //10.10.10.182
能成功登录但是获得不了什么重要的信息
rpc
rpc
看看能不能获取一些信息
rpcclient -U "" -N 10.10.10.182
发现能获得一些用户名
1 | CascGuest |
ldap
用ldapsearch
测试一下
ldapsearch -x -b "dc=cascade,dc=local" -H ldap://10.10.10.182
找到Ryan Thompson
在Cascade
上的用户名是r.thompson
,这个名字之前rpc
枚举出来过,同时发现在``Ryan Thompson用户的最后一个数据项中有cascadeLegacyPwd
数据,将其值clk0bjVldmE=
进行解码
得到解密后的数据rY4n5eva
,疑似r.thompson
的密码
提交后发现这真是Ryan Thompson
的密码
测试能不能连接
crackmapexec smb 10.10.10.182 -u r.thompson -p rY4n5eva
r.thompson-SMB
发现可以进行smb
连接,用smbmap
连接一下
smbmap -H 10.10.10.182 -u r.thompson -p rY4n5eva
通过 smbmap
可以看到,我们只对 Data
目录具有可读权限,尝试连接
smbclient \\\\10.10.10.182\\Data -U r.thompson
测试后发现只对IT
目录有访问权限,将文件下载到本地进行观察
1 | smb: \> mask "" |
共享文件夹Data分析
破解TightVNC密码
在查找文件时,发现在IT/Temp/s.smith
目录的Install.reg
文件中找到了一个vnc密码
"Password"=hex:6b,cf,2a,4b,6e,5a,ca,0f
正常的hex
解密是解不出来的,去网上找一下vnc
解密的工具
解密完成,发现明文密码sT333ve2
,猜测是s.smith
用户的
临时账户TempAdmin
在/Data/IT/Email Archives/
目录下找到个文件Meeting_Notes_June_2018.html
从邮件中,可以获取到的有效信息是,环境迁移时会使用临时账户TempAdmin
,并且密码与常规admin
密码相同,当环境迁移结束后会删除临时账户。
在/Data/IT/Logs/Ark AD Recycle Bin
目录下发现ArkAdRecycleBin.log
日志文件
从日志中我们发现TempAdmin
帐户已移至回收站
横向移动
登录s.smith用户
先利用crackmapexec
测试能否通过evil-winrm
登录s.smith
用户
crackmapexec winrm 10.10.10.182 -u s.smith -p sT333ve2
测试发现的确可以使用密码:sT333ve2
通过winRM
用s.smith
账号进行远程登录
evil-winrm -u s.smith -p 'sT333ve2' -i 10.10.10.182
成功登录
在s.smith
的Desktop
目录找到user.txt
同时发现一个可疑的软链接文件WinDirStat.lnk
查看一下该用户所在组信息
发现该用户并不在权限组中,但是发现该用户属于Audit Share
组,接下来就可以访问Audit
目录下的文件进行查看
s.smith-SMB
访问Audit
目录
smbclient \\\\10.10.10.182\\Audit$ -U s.smith
登陆成功,还是老办法,将文件下载到本地查看
1 | smb: \> mask "" |
下载完成
Audit.db
首先就是在DB
目录下找到数据库,试试能不能获取一些有用的信息
sqlite3 Audit.db
只能从Ldap
表中找到Arksvc
用户名,密码破解不了
CascAudit.exe文件分析
继续看Audit
目录下的文件,先看那个.bat
文件
cat RunAudit.bat
发现CascAudit.exe
以 db
文件作为参数运行,查看一下CascAudit.exe
发现这是一个.NET
的文件,利用工具调试一下
把所属文件夹dump
下来丢进dnspy
动调一下,把断点打在断开数据库连接的地方想劫持一下password
但是这块儿可能是我的dnspy
有问题,一直卡在一个报错上了
索性直接逆,按照它的逻辑去找password
加密的地方,双击跟进这个加密
明显的AES
加密,给了秘钥和iv
直接找个在线网站解了(注意先用base64
解码)
这样我们就拿到了Arksvc
的密码w3lc0meFr31nd
拿到用户名密码,测试一下能不能winrm
登录
crackmapexec winrm 10.10.10.182 -u Arksvc -p w3lc0meFr31nd
可以登录,拿evil-winrm
登录
evil-winrm -i 10.10.10.182 -u Arksvc -p w3lc0meFr31nd
登陆成功
AD Recycle Bin滥用权限提升
先看Arksvc
用户有没有什么可以利用的权限
发现该用户属于 AD Recycle Bin
组下
该组是用于恢复被删除的用户,组以及OU等对象的,这些对象在
AD Recycle Bin
中时保持其所有属性不变,这使得它们可以在任何时候被恢复。
前面已经知道两个重要信息,一个是管理员用户和TempAdmin
密码一致,另一个是TempAdmin被移到了回收站
这里可以使用Get-ADObject
枚举AD
回收站中的对象,并过滤具有isDeleted
属性的已删除对象即可
1 | Get-ADObject -filter 'isDeleted -eq $true -and name -ne "Deleted Objects"' -includeDeletedObjects |
发现最后一条数据是我们之前提到的TempAdmin
,获取该帐户的所有详细信息
Get-ADObject -filter { SAMAccountName -eq "TempAdmin" } -includeDeletedObjects -property *
注意到密码值很可能是base64
编码,解码一下
获取TempAdmin
的明文密码:baCT3r1aN00dles
因为之前提到过TempAdmin
的密码跟正常管理员密码一样,所以我们直接测试能否使用这个密码远程登陆Administrator
crackmapexec winrm 10.10.10.182 -u Administrator -p baCT3r1aN00dles
发现可以登录,我们直接登录Administrator
evil-winrm -i 10.10.10.182 -u Administrator -p baCT3r1aN00dles
登陆成功!
最后在Desktop
目录找到root.txt