记一次Fastadmin后台getshell

admin 2022年5月16日20:04:02安全文章评论18 views3085字阅读10分17秒阅读模式

文章来源:HACK学习呀

1.信息搜集

先来看看目标站点的各种信息

记一次Fastadmin后台getshell

后端PHP,前端使用layui,路由URL规则看起来像ThinkPHP,那自然想到的是ThinkPHP那些年爆发的命令执行了,准备一把梭!然而,尝试了一番,并没有历史漏洞。

那接着继续信息搜集,这里首先使用的是Tide团队的潮汐在线指纹识别,看了下子域名和旁站信息,资产还不少。PS:项目关系,这里截图只截图部分。

这里强烈安利一下潮汐,虽然目前指纹识别方面指纹库不是很全,但其集成了域名信息、子域名、旁站、C段等功能,加上是SaaS的模式不会被封IP,因此在信息搜集初步阶段是神兵利器。

记一次Fastadmin后台getshell

扫描出的信息,含有大量登录窗口且界面UI都很类似,应该是同一家外包公司的产品,源码应该也类似。在查看子域名以及旁站资产的时候,发现了关键信息。

记一次Fastadmin后台getshell

总结 :至此初步信息搜集结束,拿到的信息有ThinkPHP、FastAdmin、宝塔、外包公司、子域名、C段信息等

2.常见漏洞利用

宝塔和FastAdmin,首先FastAdmin印证了是ThinkPHP的猜测,有宝塔可以尝试利用宝塔的phpmyAdmin未授权访问漏洞进行利用。

7.4.2(Linux)、7.5.13(Linux)版本的宝塔面板存在未授权访问phpmyAdmin的漏洞,通过访问ip:888/pma则可无需任何登录操作直接进入phpmyAdmin

访问宝塔没有响应,因此将重点放在了FastAdmin上面,FastAdmin在2020年有一个前台Getshell漏洞,漏洞分析可参见http://www.cnpanda.net/codeaudit/777.html,该漏洞利用时,需要目标站点开启注册和前台登录功能。

访问FastAdmin站点,眼前一亮,祖师爷赏饭吃啊,基本是默认的FastAdmin Demo页面,开启了注册。于是上传图片马,访问/fastadmin/public/index/user/_empty?name=../../public/uploads/20210116/4a91d432904c0042bcd038ea96ad4947.jpg,emm,当时僵硬了0.5秒,访问后并不是自己的小马,而是DEBUG页面,这站居然是调试模式。。。

虽然FastAdmin的漏洞没利用成功,但是根据DEBUG页面拿到了数据库的连接信息。

记一次Fastadmin后台getshell

总结:我们依据信息搜集到的内容,对常见的漏洞进行了利用尝试,最终虽然没有利用成功的历史漏洞,但依据DEBUG信息拿到了一台RDS数据库的权限。

3.权限放大

拿到的数据库为阿里云RDS,使用Navicat连接数据库,查看admin表,系统拥有两个admin账户,表中含有密码和盐字段。这里百度了一下FastAdmin忘记密码,根据帖子内容添加了一个账户。

https://ask.fastadmin.net/article/43.html

数据库修改fa_admin表的两个字段
密码(password):c13f62012fd6a8fdf06b3452a94430e5
密码盐(salt):rpR6Bv
登录密码是 123456

记一次Fastadmin后台getshell

使用添加的账号登录后,发现没有权限访问后台

记一次Fastadmin后台getshell

这里没有提示账号密码错误,添加账户应该是成功了,于是翻看数据库,看有没有权限表之类的。找到了三个关键的表信息,auth_group,auth_group_access,auth_rule

记一次Fastadmin后台getshell

于是将添加的用户添加到admin分组内,成功登录,至此看到了后台界面全貌。

记一次Fastadmin后台getshell

FastAdmin后台提供了插件管理的功能,可以通过安装文件管理插件进行Getshell。官方商店的文件管理需要收费,另外之前一个免费的插件也被下架了,还好在Github找到了此插件的源码。

https://github.com/WenchaoLin/Filex            FastAdmin文件管理插件

下载Zip后,在站点=>插件管理=>离线安装安装刚才下载的插件,上传马儿,成功GetShell。

记一次Fastadmin后台getshell

拿到shell后先不急着高兴,先看看能不能旁站跨过去,还是经典的祖师爷赏饭,shell虽然是www用户,但是权限还挺高,可以跨目录。

记一次Fastadmin后台getshell

接着查看一波我们本来的目标,通过站点源码,将数据库信息做一个整理,然后重复前面的操作。

这里站点的数据库不对外开放,监听的本地端口,因此利用哥斯拉的数据库管理功能,连接目标数据库,添加管理员账户。

这里有个小插曲,翻看目标站点源码发现也是FastAdmin,但是通过先前找的忘记密码方法添加上去,提示账号密码错误。于是仔细看了下目标站点的源码,得知其认证方式为 md5(password+salt),和FastAdmin的认证加密方式并不一样,FastAdmin的认证方式为md5(md5(password)+salt);

FastAdmin的认证方式,通过GitHub文件找了一下。

https://github.com/karsonzhang/fastadmin/blob/12a62eaa0512a48ad9e150261170fafa870c3084/application/admin/library/Auth.php#L39

目标站点是Think PHP,因此在application/[module]/controller/Admin.php 就可以找到。

接下来就简单了,php输出一个密码为123456,salt为指定字符串的密文即可。

记一次Fastadmin后台getshell

之后通过哥斯拉,update一下之前创建的账号,将密码更新为刚才输出的密文,成功登录。

记一次Fastadmin后台getshell


总结:通过旁站的数据库权限,成功拿到了目标服务器的后台系统权限。


整体渗透思路:


寻找后台认证加密方式=>添加系统账户=>GetShell=>横向目标=>寻找认证加密方式=>添加系统账户。 


另外由于各个站点之间没有隔离,旁站的shell和目标站点的shell没有差别,无需继续,至此渗透结束。

博客地址:war9.cn;作者:小九如有侵权,请联系删除

【往期推荐】

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

【超详细 | Python】CS免杀-Shellcode Loader原理(python)

【超详细 | Python】CS免杀-分离+混淆免杀思路

【超详细 | 钟馗之眼】ZoomEye-python命令行的使用

【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现

【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞

【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

  记一次HW实战笔记 | 艰难的提权爬坑

【漏洞速递+检测脚本 | CVE-2021-49104】泛微E-Office任意文件上传漏洞

免杀基础教学(上卷)

免杀基础教学(下卷)

走过路过的大佬们留个关注再走呗记一次Fastadmin后台getshell

往期文章有彩蛋哦记一次Fastadmin后台getshell

记一次Fastadmin后台getshell

一如既往的学习,一如既往的整理,一如即往的分享记一次Fastadmin后台getshell

如侵权请私聊公众号删文

推荐阅读↓↓↓

我知道你在看

原文始发于微信公众号(渗透Xiao白帽):记一次Fastadmin后台getshell

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月16日20:04:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  记一次Fastadmin后台getshell http://cn-sec.com/archives/1010371.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: