极光渗透岗面试真题interview question
已知⽬标内⽹有Host若⼲(有且仅有⼀个公⽹IP),当前只知道其域名ainfinity.space。(*要求:尽可能多的获取权限,测试过程请做好记录。)
以下为极光无限渗透测试团队给出的试题答案,四个步骤进行超全解析,手把手教你getshell。
01 资产信息收集
基于已知域名进⾏信息收集,主要关注旁域名,⼦域名,IP,端⼝等资产信息, 以及开源信息。
相关过程属于基操,这⾥使⽤极光猎⼿进⾏信息收集:
域名
端⼝服务
泄漏信息
如上已探测出的3个端⼝中,尝试爆破8000端⼝的basic-auth和61616的SSH⽆果, 进⽽专注到8090的API服务。
02 打点攻击
针对http://test2020.ainfinity.space:8090进⾏渗透测试。
站点⽬录扫描,发现⼏个站点路径,其中存在swagger⽂档。
打开swagger⽂档,可以看到API的各功能点:
参照⽂档说明,对各API功能进⾏测试。
有鉴于不能直接访问/log(提示Unauthorized),故⽽将关注点转移到/user功能上。
用户注册
此处尝试进⾏SQL注⼊测试,未果。
用户登录
此处尝试进⾏SQL注⼊测试,亦未果。
登陆后访问各功能模块,发现⼀些值得关注的信息,如:log中包含⽤户密码; 返回数据疑似数据库表数据。
尝试通过越权和SQL注⼊获取其他⽤户的⽇志失败,推测:后台对⽤户ID做了权限校验,普通⽤户只能获取本⽤户相关⽇志信息。暂时搁置该处。
尝试提取
在修改密码的功能中,提交的字段为userpass,对⽐/user接⼝获取到信息,猜测开发⼈员有可能使⽤⾃动参数绑定,在输⼊中加⼊可能的参数:
再次查看当前⽤户信息,可观察到⽤户信息的字段被修改,⽤户的isadmin字段改成了true。
当前⽤户有了近⼀步的权限后,考虑个别API接⼝的后台逻辑可能与普通⽤户的不同。故重新将关注点转回到/log模块,经测试,发现存在SQL注⼊漏洞。
可以直接⽤Sqlmap跑:
得到账号密码对:biubiu / Ainfinity@2o20; user99 / 123987aa。尝试getshell⽆果后,考虑将现有成果应⽤到其他资产上。
03 成果拓展
尝试使⽤如上账号密码登录8000端⼝的basic-auth及61616的SSH服务。
经测试,biubiu / Ainfinity@2o20为8000端⼝basic-auth的有效凭证。
输⼊凭证后,查看到的⻚⾯如下:
路径探测
python3 dirsearch.py --auth-type=basic --auth="biubiu:Ainfinity@2o20" -u
http://test2020.ainfinity.space:8000/
访问http://test2020.ainfinity.space:8000/jk/,发现这是⼀个docker监控(Glances)。
其中,有若⼲容器,可以猜测这些就是题⽬中提到的“若⼲host”。glances暂⽆可利⽤的漏洞。
鉴于当前路径名称与容器名称⼀致,故尝试把另外⼏个容器名作为路径名。
发现新应⽤:
http://test2020.ainfinity.space:8000/onlinevim/
vim约等于⼀个bash。输⼊:!bash即可开启⼀个交互式shell。
在该容器内进行信息枚举,除一个flag外未发现更多的有用信息。
04 内网拓展
下⼀步主要考虑对内⽹的扫描⼯作,⼀种⽅式是建⽴代理,通过代理扫描;另外⼀种是在⽬标内⽹的⼀台机器上直接扫描。鉴于效率考量,此处在内⽹机器上扫描,发现如下端⼝:
逐⼀访问扫描出来的端⼝,发现http://172.19.217.11:8080,能看到这是⼀个采⽤了shiro框架的应⽤:
为了便于测试,建⽴socks5代理,此处使⽤nps。
socks5代理测试:
通过代理进⾏漏洞扫描:
漏洞利⽤:
此外,也可以爆破tomcat manager账号密码:tomcat / tomcat,然后上传war包以getshell。
来源:freebuf.com 2021-07-19 10:45:04 by: 极光无限SZ
请登录后发表评论
注册