前言
前段时间锤了好几个相同或类似模板的钓鱼站点,发现都用了宝塔(真的是"助纣为虐"啊),这些站点即便拿到了webshell,也不能顺利拿下宝塔,因为宝塔的登录入口地址是随机的、密码是加盐的,都几乎爆破不出来。
下面分享一个sao思路来解决这个问题~~
前置步骤
获得机器权限,如获得一枚webshell
提权至root,如使用cve-2021-4034进行提权
总结宝塔常见敏感文件路径
获取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
获取登录入口地址
查看默认用户名和密码
尝试登录,一般都是失败的hhh,因为管理员会修改默认密码
一种新的思路
宝塔的密码是经过多重加密的,即便你拿到宝塔的 default.db 数据,也解不出明文密码
下面介绍一种新的思路::
下载原数据库文件,在user表新增一条记录,即自定义用户名和密码来新增一个用户。然后重新上传修改后的数据库文件,覆盖原数据库文件即可。经过实测,不需要重启宝塔服务即可生效。
其中最重要的是password字段的加密方式,直接把结论放在这里了:
宝塔后台密码的默认加密方式为:
md5(md5(md5(password)+'_bt.cn')+salt)
懒的话可以借助cmd5这个网站逐步生成密文:
https://cmd5.com/hash.aspx?s=123456
在原数据库新增一条数据
然后上传覆盖即可,不需要重启服务
cp /tmp/default.db /www/server/panel/data/
尝试登录后台面板,地址为http://IP:8888/[登录入口地址]
成功登录面板
小结
宝塔默认创建的用户的密码经过多重加密,即便拿到了数据库文件也很难获取到明文。此时我们可以通过webshell等途径拿到机器权限后,提权至root权限,下载原有数据库文件并新增一条登录用户数据,再次上传覆盖,即可成功登录宝塔后台。
本文仅用于学习和交流,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,文章作者不为此承担任何责任。
文章首发于公众号:安道实验室,随缘更新但篇篇干货。新号求关注、点赞、收藏和转发!!!