有了webshell之后应该怎么拿下BT宝塔面板?

发布于:2022-12-06 ⋅ 阅读:(1015) ⋅ 点赞:(0)

前言

前段时间锤了好几个相同或类似模板的钓鱼站点,发现都用了宝塔(真的是"助纣为虐"啊),这些站点即便拿到了webshell,也不能顺利拿下宝塔,因为宝塔的登录入口地址是随机的、密码是加盐的,都几乎爆破不出来。

下面分享一个sao思路来解决这个问题~~

前置步骤

获得机器权限,如获得一枚webshell

提权至root,如使用cve-2021-4034进行提权

img

总结宝塔常见敏感文件路径

获取root权限之后,就可以尝试读取宝塔常见的敏感路径和文件了:

默认入口:/www/server/panel/data/admin_path.pl
默认密码:/www/server/panel/default.pl
默认账号:python /www/server/panel/tools.py username
账号数据库:/www/server/panel/data/default.db
public.password_salt:/www/server/panel/class/public.py

获取登录入口地址

img

查看默认用户名和密码

img

尝试登录,一般都是失败的hhh,因为管理员会修改默认密码

img

一种新的思路

宝塔的密码是经过多重加密的,即便你拿到宝塔的 default.db 数据,也解不出明文密码

下面介绍一种新的思路::

下载原数据库文件,在user表新增一条记录,即自定义用户名和密码来新增一个用户。然后重新上传修改后的数据库文件,覆盖原数据库文件即可。经过实测,不需要重启宝塔服务即可生效。

其中最重要的是password字段的加密方式,直接把结论放在这里了:

宝塔后台密码的默认加密方式为:
md5(md5(md5(password)+'_bt.cn')+salt)

懒的话可以借助cmd5这个网站逐步生成密文:

https://cmd5.com/hash.aspx?s=123456

img

在原数据库新增一条数据

img

然后上传覆盖即可,不需要重启服务

cp /tmp/default.db /www/server/panel/data/

尝试登录后台面板,地址为http://IP:8888/[登录入口地址]

img

成功登录面板

img

小结

宝塔默认创建的用户的密码经过多重加密,即便拿到了数据库文件也很难获取到明文。此时我们可以通过webshell等途径拿到机器权限后,提权至root权限,下载原有数据库文件并新增一条登录用户数据,再次上传覆盖,即可成功登录宝塔后台。


本文仅用于学习和交流,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,文章作者不为此承担任何责任。

文章首发于公众号:安道实验室,随缘更新但篇篇干货。新号求关注、点赞、收藏和转发!!!


网站公告

今日签到

点亮在社区的每一天
去签到