逛公众号的时候看到了大佬提供的靶场,闲来无事正好拿来练练手学习一下, 感谢大佬的无私分享。感兴趣的同学可以去原文章中找一下环境地址,这里就不外放了,尊重作者版权。
目标设定
一台出网主机,三台域内机器,获取域控桌面下的flag即为完成任务
weblogic反序列化,powershell上线CS
-
已知服务器地址为192.168.92.137,开放7001端口,扫描发现存在weblogic反序列化漏洞CVE_2020_2551
-
tasklist无杀软,administrator权限
-
内网信息收集
ipconfig /all可以看到是域内机器,ping该域名可获得域控IP地址 10.10.10.8
利用GPP获取域控administrator密码
什么是 GPP
GPP是指组策略首选项(Group Policy Preference),GPP通过操作组策略对象GPO(Group Policy Object)对域中的资源进行管理。
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端口
-
shell net use \10.10.10.8ipc$ "Admin12345" /user:redteam.redadministrator
-
至此可以接管域控,以administrator权限执行命令。
-
访问域控上的资源,获取 flag.txt
总结
域内提供了三台主机,还有一台ms17010的主机没有用上,当然目前的环境跟实战环境也是有一些出入,比如按个人习惯cs上线后肯定是先想办法看能不能开3389以及如何规避杀软,这里知道环境网络结构直接奔着目标去了,所以一切比较顺利。根据靶场描述,使用其他思路比如约束委派或者非约束委派都可接管域控,感兴趣的可以尝试下。另外再次感谢作者提供的靶场。
原文链接
本文作者:TideSec
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/174956.html