记一次域控探索

前言

前段时间,搞了个红蓝渗透测试,大概整理记录一下那次渗透测试。

正文

1,提供的只有一个公司名称,搞到域名后缀直接鹰图语法检索,直接导出结果,看看有没有vpn、登录、管理等特殊的资产筛选出来。

img

2,访问很多域名发现登录都是有个统一登录认证页面的,测试登录数据包发现工号密码都被加密到一个参数info里面去了。

imgimg

3,因为没有提供工号给我,只能自己找了。打开抖音,搜索【****离职了】,顺利得到工号规则。

img

4,用得到的工号规则,生成一批工号,因为登陆的请求数据包是加密的,不太好用burpsuite爆破,就直接用python Selenium 写了个自动登录爆破的脚本,用生成的工号去撞同一个密码,虽然效率低,好在得到了十多个弱口令工号。

img
img

5,登录后以为能找到个上传口啥的getshell,或者命令执行地方,但是都没有,连SQL注入都没搞到,文件上传限制的死死的!只能上传jpg、xlsx。

img

6,因为近两年疫情办公,vpn、云主机办公比较常见,尝试用这些账号去登录vpn什么的。在导出的web资产里面找到查找vpn相关资产,顺利找到4条vpn资产。https:// .vpn.com、https://*.vpn.com。访问vpn登录时,提示下载vpn,且发现除了密码还需要动态口令,但是这个动态口令在他们自研的办公app上才能拿到。

img

7,另外,也发现2个web资产是Citrix Gateway虚拟桌面。登录也存在这个动态口令,没有办法下手。

img

8,根据vpn安装页面提示下载安装那个手机app,用工号密码登录,但是会进行新设备登录校验,需要这个工号绑定的手机短信验证码。

img

9,其实到这里,我放弃这个动态口令了,转去挖其他相关资产的漏洞了,看能不能找到突破口。但是没有挖到有价值的,又转回来对这个app测试。

10,首先就是看能不能绕过这个新手机登录验证。截取登录请求包,发现返回包有个字段loginType,它的参数值是CHANGE_DEVICE,字面意思就是更换设备。

img

11,使用jadx反编译这个app,然后直接检索关键字·loginType,然后发现关键代码,记录这个参数值NORMAL`。

img

12、app再次重新登录截取数据包,并修改返回包中的loginType参数值为NORMAL,成功绕过了新手机登录验证登录进app。找到动态口令获取的窗口。

img

13,有了动态口令,去尝试登录那个Citrix Gateway虚拟桌面,发现试了几个用户都没有使用的权限,试了十多个账号后,终于搞到一个登录到虚拟桌面了。

imgimg

14,登录虚拟桌面后后先确认了两个事,1.确定能上网,2.安装了卡巴斯基。在google浏览器收藏导航栏发现了内部自研办公oa系统,及堡垒机登录地址(存在动态口令)。用之前撞的工号去登录这个办公系统,都可以登录,但是因为职位不同,看到功能栏略微不同。

img

15、这里不再赘述我对这个oa系统的测试了。直接讲我后续对域控的探索之路。因为这是虚拟桌面,不是真正的办公区网段(在这尝试打了域控,未果),所以我在这个虚拟机器上装了python然后简单开了个web服务,然后登录那个办公app windows版,这里还是用的之前撞的那一批工号,登录后找了个群聊人多点的发了下面这样一句话,把web服务的链接附上,主要的目的是获取真正的办公网段。查看访问记录,获取到十多个C段地址。

imgimg

16、得到了办公地址段,先是用工具扫描了下共享文件夹信息,主要是看有没有开发什么的把业务系统、数据库用户名密码什么的共享出来。

imgimg

18,打开这些共享文件夹,粗略得到以下战果:

19,内部办公oa系统超级管理员权限及源代码。

img

20,办公OA、app数据库权限以及服务器权限,通过提权进入服务器。

img

21、得到Vcenter管理控制台几个管理地址,经过测试发现存在cve-2021-22005,拿到服务器权限。

img

22、后来经过收集到的密码碰撞,碰撞出Vcenter控制台默认用户administrator@vsphere.local的密码,是一个内部人员使用频率比较高的一个弱口令密码。且发现所有Vcenter控制台的超管用户的密码都是这个。

img

23、其实到这一步,我已经拿到了vcenter控制台及服务器权限了,之前也有看过其他大佬发过的文章,拿到vcenter就拿到域控了,文章也就结束了。我这里也确实在vcenter找到了当前域控的机器,但是通过这个vcenter并不能直接登录服务器,还是要输入密码。所以我认为我并没搞到域控,继续深入了。

24、因为之前那个帖子说到在办公网打域控没搞到,所以就也不赘述了。讲下后续拿到域控的过程。

25、之前的帖子提到我利用到了向日葵rce,当时也是在获取到了真正办公网ip段后,想着扫描下,看有没有运维管理人员的向日葵没有升级中招的。先是利用论坛里一个师傅批量扫描工具,扫描了几个C段,然后再利用另外一个师傅的命令执行工具修改办公电脑administrator的密码。这样得到了几十个内部员工办公电脑权限。

imgimg

26、后面晚上22点多通过虚拟桌面去远程这些办公电脑(下班时间,好做事),在一个应该是开发的电脑google浏览器发现了内部代码仓库gitlab地址。

img

27、发现当前这个gitlab存在cve-2021-22205远程命令执行。利用漏洞得到git权限后提权到root(提权这一步走错了,导致告警第二天被安全人员发现了,但是对后面没有大碍)。

imgimgimg

28、执行命令cat /etc/gitlab/gitlab.rb,查看配置信息,获取到数据库地址及用户名密码。

img

29、用数据库管理工具连接这个数据库,连接后在users表中查询root用户的信息,查看到密码的bcrypt加密信息,备份encrypted_password: $***********************(利用完好改回去)。

img

30、12345678的密文值为$2a$10$9sM0WeC3WSDCx9HWwr7z7eV3h3Q/tPxP7G2kvCWxWqdJemid1lICa,执行如下sql命令,修改root用户的密码。

img

31、之后便是使用root/12345678登录gitlab查看所有项目代码,后面查看项目代码名称,想试试看有没有关于域相关的运维脚本代码,搜索【AD域】发现有一个【AD域**系统】的项目,并且在该项目下面发现一个配置文件,得到一个数据库连接信息,并且猜测这个项目代码创建人可能管理域控的运维人员。

imgimg

32、连接这个数据库,进入后翻找得到这个【AD域**系统】项目创建人的工号密码。用他的工号密码去尝试登录之前发现的堡垒机登录地址,堡垒机登录仍然有动态口令限制,继续app绕过验证得到这个工号的动态口令成功登录到堡垒机。

imgimg

33、在他管理的资产中,顺利找到域控机器,登录进机器,至此到了心心念念域控服务器,后续就是进行权限维持了,这里也不在赘述了。

img