**
HackTheBox-windows-Sizzle-Walkthrough
**
靶机地址:https://www.hackthebox.eu/home/machines/profile/169
靶机难度:中级(5.0/10)
靶机发布日期:2019年5月8日
靶机描述:
Sizzle is an “Insane” difficulty WIndows box with an Active Directory environment. A writable directory in an SMB share allows to steal NTLM hashes which can be cracked to access the Certificate Services Portal. A self signed certificate can be created using the CA and used for PSRemoting. A SPN associated with a user allows a kerberoast attack on the box. The user is found to have Replication rights which can be abused to get Administrator hashes via DCSync.
作者:大余
时间:2020-03-30
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
可以看到靶机的IP是10.10.10.103…
Nmap发现该域为HTB.LOCAL,3389ldap的sslcert还存在sizzle.htb.local域名,允许匿名ftp登录,http和https都在运行IIS,445端口,5985的WinRm端口…等等端口服务…
访问80,真香的烤肉图片…
http这边目前没发现什么…FTP看看
FTP是空目录…
这有两个部门存在,Department和Operations…CertEnroll 是默认的ADCS share(这里存在证书服务共享,发现了http://10.10.10.103/certsrv)…另外两个本地share
可以看到需要密匙,先放放
Department Shares是guest用户可读的,进去看看…
空口令进来了,存在很多目录,users感兴趣
存在Public目录…通常应该users/Public是可以上传文件的…试试
测试是可写入的…可以进行scf文件攻击…
可以参考,开始进行scf攻击
创建好了@dayu.scf…@符号会将dayu.scf放置在共享驱动器的顶部
开启responder 对TUN0接口…
用户会几分钟左右浏览该目录,浏览后都会自动尝试通过出发@dayu.scf然后连接到我的smb,利用responder抓流量哈希即可…
等待几分钟…抓到了…
通过john爆破哈希,获得了账号密码…
在此站点中,有不同的选项来管理证书,要做的就是单击“ 请求证书”,请求一个新的证书,然后提交高级证书请求即可.
命令:openssl req -new -newkey rsa:2048 -nodes -keyout caca.key -out dayussl.csr
这里用openssl生成一个证书…
这里选择Usercert作为模板…
将证书下载即可…
前面nmap就知道WinRm端口是开放的…
Windows远程管理(WinRM)是WS-Management Protocol的Microsoft实现,WS-Management Protocol是基于标准的简单对象访问协议(SOAP)的,防火墙友好的协议,允许来自不同供应商的硬件和操作系统进行互操作。
而WinRM正在运行Windows远程管理,该服务允许通过接口连接远程计算机,SOAP并且可以通过证书进行身份验证…
这里准备使用WinRm进行登录…
可以看到5985端口在使用http,5986使用https…
这里需要简单编写下EXP即可登陆…参考WinRm
下面还有很多方式方法,自行查看…
记得下载git clone https://github.com/WinRb/WinRM.git gem install -r winrm
成功登陆…
检查了下,没什么特别信息…这里的思路是上传shell提权即可…
上传报错了…目前处于受限语言模式下,模式禁用了许多Powershell功能…
smb共享开启也报错…
继续一个一个试…
方法1:
wget成功上传了…
需要执行激活…报错了…
利用powershell V2来绕过了报错限制…成功执行了nishang的shell…
可以看到,通过尝试收集信息…在system32下存在file.txt文件…保存了NTLM哈希值…
这里破解了mrlky:1603:aad3b435b51404eeaad3b435b51404ee:bceef4f6fe9c026d1d8dec8dce48adef:::
mrlky用户密码…
administrator哈希值破解不了,估计是错误的…
这里利用/impacket/examples/secretsdump.py对mrlky继续获取administrator的NTLM哈希…
又获取了一个哈希值…
这里我尝试破解还是不对…
我利用了smb的hash访问administrator…成功进了…
成功获得了user和root信息…
这里应该是取巧获得了user和root信息…如果没用NTML哈希,继续思考还能怎么提权…
方法2:
https://www.blackhillsinfosec.com/a-toast-to-kerberoast/
利用Kerberoast进行攻击,需要利用msf
在shellcode部分中,将用MSFvenom替换要生成的代码,将其编码为100,以避免被防病毒软件检测到…
配合https://raw.githubusercontent.com/3gstudent/msbuild-inline-task/master/executes%20shellcode.xml
生成EXP即可…
可以看到,上传了xml文件,但是转换成了.bin文件,这不要紧…
命令:mv .\c53d75a50e089ebe3e39214838d75b04e56324a0.bin dayushell2.csproj
命令:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Msbuild.exe dayushell2.csproj
通过将bin文件修改回csproj即可…然后利用Msbuild执行csproj的shellcode…成功获得了反向外壳…
https://www.blackhillsinfosec.com/a-toast-to-kerberoast/
这里将利用kerberoasting进行提权…
有了一个meterpreter会话后,可以添加路由并设置代理,然后使用代理GetUserSPNs.py并查看是否有任何用户可以使用kerberoastable…
配置proxychains为使用端口8080,route add 10.10.10.0 255.255.255.0 1这将添加整个内部子网的路由,其中1为会话号…
命令:proxychains GetUserSPNs.py -request -dc-ip 10.10.10.103 HTB.LOCAL/amanda:Ashare1972
然后获得了mrlky的哈希值…john破解后,继续和方法1一样,获得user和root…
或者使用wmiexec.py进行hashes哈希值登陆也能获得信息…
还可以利用Invoke-Mimikatz.ps1直接获取管理员权限…等等
这里方法非常多…只要肯深挖…加油!!
很好的一台靶机!
由于我们已经成功得到root权限查看user.txt和root.txt,因此完成这台中等的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。