• 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快速扫描全端口,发现开启的端口非常多,如图:

    有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服务时花的时间比较多。

  • 相关阅读:
    [linux]Linux下的log
    [WDT]内部看门狗和外部看门狗
    [misc]printf/fprintf/sprintf/snprintf函数
    [Linux]read/write和fread/fwrite有什么区别
    移动端图片操作(二)——预览、旋转、合成
    移动端图片操作(一)——上传
    实现tap的多种方式
    Hammer.js分析(四)——recognizer.js
    Hammer.js分析(三)——input.js
    Hammer.js分析(二)——manager.js
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302340.html
Copyright © 2020-2023  润新知