简介

该靶机又是一台简单的Windows Azure Active Directory域控主机。通过枚举域用户smb服务发现弱口令,进一步通过共享文件夹泄漏的域用户mhope的密码登录域控主机,接着利用Azure Admins组的权限查询SQLServer中存储的域管理员的密码,进而获得域管理员权限。

信息收集

端口扫描与服务识别

使用nmap 10.10.10.172 --min-rate 10000 -T5 -p1-65535 -A -sC快速扫描全端口,发现开启的端口非常多,如图:

Hack The Box——Monteverde_共享文件

Hack The Box——Monteverde_用户名_02

有53,88,389,3268端口,看来是台Windows域控主机,且域是MEGABANK.LOCAL。

枚举域信息

先枚举445端口的共享文件,未发现任何信息,如图:

Hack The Box——Monteverde_上传_03

然后使用enum4linux继续枚举,发现域名和域内用户等信息,如图:

Hack The Box——Monteverde_上传_04

Hack The Box——Monteverde_用户名_05

Hack The Box——Monteverde_共享文件_06

Hack The Box——Monteverde_上传_07

Hack The Box——Monteverde_上传_08

Hack The Box——Monteverde_共享文件_09

漏洞发现

将域内用户保存到user.txt文件中,然后添加MEGABANK.LOCAL到/etc/hosts文件中,使用然后使用impacket中的​​GetNPUsers.py​​枚举配置不当的用户的Hash值,未成功,如图:

Hack The Box——Monteverde_上传_10

暴力破解弱口令

使用hydra和medusa枚举smb服务用户名密码未成功(经过搜索发现hydra和medusa貌似都不支持smb2),使用Nmap也未成功,如图:

Hack The Box——Monteverde_用户名_11

然后使用kerbrute枚举用户密码也未成功,如图:

Hack The Box——Monteverde_共享文件_12

使用强大的crackmapexec进行枚举,执行crackmapexec smb 10.10.10.172 -u user.txt -p user.txt,后成功发现弱口令,如图:

Hack The Box——Monteverde_用户名_13

后来在Google找到了smbv2的暴力破解项目:​​smbv2attack​​,如图:

Hack The Box——Monteverde_上传_14

但是该ruby程序使用单线程,速度较慢。

漏洞利用

然后使用获取到的弱口令利用5985端口登录目标主机,但是认证失败,如图:

Hack The Box——Monteverde_上传_15

尝试利用445端口获得sehll失败,如图:

Hack The Box——Monteverde_共享文件_16

获得域用户密码

然后枚举用户SABatchJobs的共享文件,发现可读文件夹,如图:

Hack The Box——Monteverde_用户名_17

然后递归查看文件夹,发现xml文件,如图:

Hack The Box——Monteverde_共享文件_18

然后将users$/mhope/azure.xml文件下载到本地并查看,发现一个域用户密码,如图:

Hack The Box——Monteverde_sql_19

由于在mhope目录下,因此尝试使用用户名mhope和该密码通过5985端口登录主机,成功获得用户mhope的shell,如图:

Hack The Box——Monteverde_sql_20

权限提升

查看系统版本发现是Windows Server 2019,如图:

Hack The Box——Monteverde_sql_21

尝试使用certutil上传提权辅助工具发现被杀毒软件阻止了,如图:

Hack The Box——Monteverde_上传_22

直接使用upload命令上传成功,如图:

Hack The Box——Monteverde_共享文件_23

运行程序之后发现没有可修改的服务和注册表,但发现用户mhope在Azure Admins组,如图:

Hack The Box——Monteverde_共享文件_24

且在本地监听了1434端口,如图:

Hack The Box——Monteverde_用户名_25

经过Google搜索发现可以利用​​Azure连接SQLServer提取密码​​,从而提升权限。这里我选择了​​PowerShell版本的PoC​​,但是无法直接使用,需要修改连接信息:将$client = new-object System.Data.SqlClient.SqlConnection -ArgumentList "Data Source=(localdb)\.\ADSync;Initial Catalog=ADSync"改为$client = new-object System.Data.SqlClient.SqlConnection -ArgumentList "Server=127.0.0.1;Database=ADSync;Integrated Security=True",尽管如此,新版PoC在解密时仍然会发生错误,如图:

Hack The Box——Monteverde_共享文件_26

然后尝试使用旧版PoC,在修改PoC中数据库连接信息后,成功获得administrator用户的密码,如图:

Hack The Box——Monteverde_sql_27

然后通过5985端口登录,如图:

Hack The Box——Monteverde_用户名_28

总结

该靶机是我第二次对AD域控主机渗透的学习,相比第一次边学边做,这次思路清晰了很多。该靶机也是比较简单,只是在枚举smb服务时花的时间比较多。