Hack The Box——Monteverde

目录

简介

信息收集

端口扫描与服务识别

枚举域信息

漏洞发现

暴力破解弱口令

漏洞利用

获得域用户密码

权限提升

总结


简介

该靶机又是一台简单的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_第1张图片

Hack The Box——Monteverde_第2张图片

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

枚举域信息

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

Hack The Box——Monteverde_第3张图片

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

Hack The Box——Monteverde_第4张图片

Hack The Box——Monteverde_第5张图片

Hack The Box——Monteverde_第6张图片

Hack The Box——Monteverde_第7张图片

Hack The Box——Monteverde_第8张图片

Hack The Box——Monteverde_第9张图片

漏洞发现

将域内用户保存到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,后成功发现弱口令,如图:

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

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

漏洞利用

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

Hack The Box——Monteverde_第13张图片

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

Hack The Box——Monteverde_第14张图片

获得域用户密码

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

Hack The Box——Monteverde_第15张图片

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

Hack The Box——Monteverde_第16张图片

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

Hack The Box——Monteverde_第17张图片

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

Hack The Box——Monteverde_第18张图片

权限提升

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

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

Hack The Box——Monteverde_第19张图片

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

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

Hack The Box——Monteverde_第20张图片

且在本地监听了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在解密时仍然会发生错误,如图:

Hack The Box——Monteverde_第21张图片

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

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

总结

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

你可能感兴趣的:(渗透测试)