该靶机又是一台简单的Windows Azure Active Directory域控主机。通过枚举域用户smb服务发现弱口令,进一步通过共享文件夹泄漏的域用户mhope的密码登录域控主机,接着利用Azure Admins组的权限查询SQLServer中存储的域管理员的密码,进而获得域管理员权限。
信息收集端口扫描与服务识别
使用nmap 10.10.10.172 --min-rate 10000 -T5 -p1-65535 -A -sC快速扫描全端口,发现开启的端口非常多,如图:
有53,88,389,3268端口,看来是台Windows域控主机,且域是MEGABANK.LOCAL。
枚举域信息
先枚举445端口的共享文件,未发现任何信息,如图:
然后使用enum4linux继续枚举,发现域名和域内用户等信息,如图:
漏洞发现将域内用户保存到user.txt文件中,然后添加MEGABANK.LOCAL到/etc/hosts文件中,使用然后使用impacket中的GetNPUsers.py枚举配置不当的用户的Hash值,未成功,如图:
暴力破解弱口令
使用hydra和medusa枚举smb服务用户名密码未成功(经过搜索发现hydra和medusa貌似都不支持smb2),使用Nmap也未成功,如图:
然后使用kerbrute枚举用户密码也未成功,如图:
使用强大的crackmapexec进行枚举,执行crackmapexec smb 10.10.10.172 -u user.txt -p user.txt,后成功发现弱口令,如图:
后来在Google找到了smbv2的暴力破解项目:smbv2attack,如图:
但是该ruby程序使用单线程,速度较慢。
漏洞利用然后使用获取到的弱口令利用5985端口登录目标主机,但是认证失败,如图:
尝试利用445端口获得sehll失败,如图:
获得域用户密码
然后枚举用户SABatchJobs的共享文件,发现可读文件夹,如图:
然后递归查看文件夹,发现xml文件,如图:
然后将users$/mhope/azure.xml文件下载到本地并查看,发现一个域用户密码,如图:
由于在mhope目录下,因此尝试使用用户名mhope和该密码通过5985端口登录主机,成功获得用户mhope的shell,如图:
权限提升查看系统版本发现是Windows Server 2019,如图:
尝试使用certutil上传提权辅助工具发现被杀毒软件阻止了,如图:
直接使用upload命令上传成功,如图:
运行程序之后发现没有可修改的服务和注册表,但发现用户mhope在Azure Admins组,如图:
且在本地监听了1434端口,如图:
经过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在解密时仍然会发生错误,如图:
然后尝试使用旧版PoC,在修改PoC中数据库连接信息后,成功获得administrator用户的密码,如图:
然后通过5985端口登录,如图:
总结该靶机是我第二次对AD域控主机渗透的学习,相比第一次边学边做,这次思路清晰了很多。该靶机也是比较简单,只是在枚举smb服务时花的时间比较多。