从外网 Weblogic 打进内网接管域控

2022-03-15 7,918

逛公众号的时候看到了大佬提供的靶场,闲来无事正好拿来练练手学习一下, 感谢大佬的无私分享。感兴趣的同学可以去原文章中找一下环境地址,这里就不外放了,尊重作者版权。

目标设定

一台出网主机,三台域内机器,获取域控桌面下的flag即为完成任务

weblogic反序列化,powershell上线CS


  • 已知服务器地址为192.168.92.137,开放7001端口,扫描发现存在weblogic反序列化漏洞CVE_2020_2551



  • tasklist无杀软,administrator权限



  • powershell上线CS

内网信息收集

  • 内网信息收集,发现为双网卡机器


  • 搭frp代理进内网


  • fscan扫内网10段,可以看到有一台ms17010以及mssql弱口令sa&sa


  • 工具连接mssql,服务器低权限,不出网




ipconfig /all可以看到是域内机器,ping该域名可获得域控IP地址 10.10.10.8


利用GPP获取域控administrator密码

什么是 GPP


GPP是指组策略首选项(Group Policy Preference),GPP通过操作组策略对象GPO(Group Policy Object)对域中的资源进行管理。

Freebuf的这篇文章
http://www.freebuf.com/vuls/92016.html讲了GPP的应用场景和与之对应的安全问题。简单来说就是,出于想更新每台主机上本地账户密码的目的,利用GPP可以指定某个域账户为所有计算机的本地计算机管理账户

而这个账号信息存储在

[Domain Controller]SYSVOL[Domain]Policies中的某个Grouop.xml中
其中的cpassword为AES加密值。但在AD中的所有用户都可以读取Group.xml,对于AES的对称加密,在微软的MSDN上可以查到cpassword使用的固定秘钥

利用过程

根据作者描述,靶场存在GPP漏洞,尝试利用一下
使用

dir /s /a \域控IPSYSVOL*.xml

构造如下语句
dir /s /a \redteam.redSYSVOLredteam.redGroups.xml

获取到groups.xml文件,打开获取到cpassword字段
type \redteam.redSYSVOLredteam.redPolicies{B6805F5A-614E-4D32-9C2B-7AC2B6798080}MachinePreferencesGroupsGroups.xml


利用gpprefdecrypt.py获取到域控密码“cpassword”字段,得到
administrator/Admin12345

IPC横向访问域控获取flag

  • IPC横向IPC是专用管道,可以实现对远程计算机的访问,需要使用目标系统用户的账号密码,使用139、445端口
  • 回到weblogic被控主机cs执行以下命令
shell net use \10.10.10.8ipc$ "Admin12345" /user:redteam.redadministrator


  • 至此可以接管域控,以administrator权限执行命令。
  • 访问域控上的资源,获取 flag.txt

总结

域内提供了三台主机,还有一台ms17010的主机没有用上,当然目前的环境跟实战环境也是有一些出入,比如按个人习惯cs上线后肯定是先想办法看能不能开3389以及如何规避杀软,这里知道环境网络结构直接奔着目标去了,所以一切比较顺利。根据靶场描述,使用其他思路比如约束委派或者非约束委派都可接管域控,感兴趣的可以尝试下。另外再次感谢作者提供的靶场。

原文链接

从外网 Weblogic 打进内网,再到约束委派接管域控
https://mp.weixin.qq.com/s/dcYbIfLwN-Aw0Z9XxQSGkQ


E

N

D


本文作者:TideSec

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/174956.html

Tags:
评论  (0)
快来写下你的想法吧!

TideSec

文章数:145 积分: 185

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号