Easy Domain penetration

/ 0评 / 0

出题思路

感觉 CTF 目前有点太偏离实战了,所以出了一个简单的域渗透的题目。考点都蛮常见的 都是红队基本常识(x

WEB

GetShell

拿到手发现是kuicms最新版本 附件给了源码
Google后发现没有什么好玩的洞。所以得自己审计
然后大家拿到源码发现似乎有混淆,很恶心,自己又很菜,审计不出来前台rce
本地搭环境后发现后台可以完成rce

image-20210314224120336

发现在后台用模板注入可以直接插入php代码。但是有本身的waf导致不能直接插入类似eval($_POST[1])这样的语句。这里提供了多种方法用来写shell

  1. 使用拼接 例如 sys.tem(ls);
  2. 使用file_put_contents();
  3. 因为WEB在windows下。可以通过windows下载命令完成shell写入

那么问题来了。我怎么知道后台密码?
来自出题人的话:

大家一定会去审计源码,然后审不出来,骂一句出题人是卡比吧
其实呢 你试试admin admin登录就完事了嘛

拿到shell以后就可以上线CS/MSF了(预期这里还加了某六零,但是好像没人绕过去 就删除了)所以这里讨论目前的情况

提权

本题目本来是想考察对于杀毒的bypass 没有安装任何补丁。所以使用常见提权都可以。

image-20210314224754385

SYSTEM就无脑上线了

image-20210314224818563

然后进行域信息收集

域内机器 - Weblogic

对内网扫描后发现IP为10.233.71.130的windows10机器中开放了weblogic
socks 代理直接打开

image-20210314225020827

可以收集到版本信息
百度下exp,可以用市面上很多打通,我这里使用的是CVE-2020-14882打回显
这台机器预期也是不出网的,但是好像选手们不太清楚,所以后来改成出网了

image-20210314225520448

无脑命令回显以后,就可以拿shell了
愉快的上线cs

image-20210314230948001

这里可以不用提权(这机器除了msi那个提权或者0day好像提不上去了)
或者你可以用下面的约束委派

域内机器 - HA1

对 VNctf 用户进行信息收集

image-20210314232219093

发现此用户对于HA1机器有完全的控制权限

image-20210314232514426

可以看到vnctf这个用户对HA1这个计算机账户拥有GenericAll权限
在域中有一个属性MachineAccountQuota,允许用户在域中创建的计算机机器帐户,默认为10
而计算机账户默认是注册RestrictedKrbHost/domainHOST/domain这两个SPN的
所以这里刚好符合我们要求
使用powermad创建机器用户

image-20210314232818761

查询objectsid:

image-20210314233646047

添加权限

image-20210314233912155

确认权限

image-20210314234028927

利用配置好的资源约束委派,使用ha1c9on$模拟administrator拿到一张票据并用psexec提权

image-20210315000535633

用bind_tcp去打
拿到shell
hashdump 发现了vnctf的ntml

域控 - DC

信息收集

beacon> shell powershell -ep bypass Import-Module

发现vnctf还对DC可以委派
使用vnctf模拟administrator拿到一张票据

image-20210315005314887

getTGT.py ha1c9on.org/vnctf@DC -dc-ip 10.233.71.10 -hashes f65c21a7a7988c169ad3406750201976:f65c21a7a7988c169ad3406750201976

psexec提权

ha1c9on@ha1c9ondeMacBook-Pro ~ % export KRB5CCNAME=administrator.ccache
ha1c9on@ha1c9ondeMacBook-Pro ~ % psexec.py ha1c9on/administrator@DC -k -no-pass -dc-ip 10.233.71.10
Impacket v0.9.22.dev1 - Copyright 2020 SecureAuth Corporation
[*] Requesting shares on DC.....
[*] Found writable share ADMIN$
[*] Uploading file mUZEGJSy.exe
[*] Opening SVCManager on DC.....
[*] Creating service qEFC on DC.....
[*] Starting service qEFC.....
[!] Press help for extra shell commands
Microsoft Windows [Version 10.0.17763.1518]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32>hostname
dc
C:\Windows\system32>type c:\\users\administrator\\desktop\\flag.txt
VNCTF{krbtgt?_nonononono}

非预期

题目只有一个解 ,来自用户[Alphabug]
原因是我在WEB机器卸载360时候输入了域控密码。导致可以直接mimikatz得到 而在环境配置过程中忘记了system可以绕过组策略的 禁止用户调试 导致可以直接做票据到域控
就成了 这样

image-20210315010006624

后记

本题出的十分仓促,没有经过多次测试,导致了非预期的情况以及各位师傅不好的体验,这里道歉了
由于出题时间不足,本来还想考个exchange和weblogic站库分离 以及bypass某巴斯某 dump 内存的
这题目在内部赛四台机器分了四个flag文件。公开赛只用了域控
希望能给各位师傅一些帮助
 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注