更新时间:2022年11月21日
1. 背景介绍
对于想拿到bt
后台来说,非常的艰难:无非是通过bypass
之后提权,直接拿到服务器的root
权限,然后再去宝塔后台。
当然,还有一种运气十分爆棚的方法:发现了bt
的账密信息,可以直接登陆了bt
后台(这种情况确实在实战中遇到过)
所以在这里就有了两个方向:
- 直接拿到了
bt
的后台,想去服务器上大有可为 - 拿到了服务器的权限,执行
bt
命令之后,利用原来的账密发现无法登录bt
后台,但是又想去bt
的后台上逛逛。
针对以上两种情况来说,在这里一一进行学习分析。
2. 有BT后台
这种是拿到bt
的后台之后,想去服务器上逛逛,至于bt
后台如何来的,有很多方法,也有很多的可能,我们只分析如何去服务器上。
在bt
的后台里面可以建一个计划任务进行反弹shell
到你的vps
上:
在计划任务中,可以通过bash
反弹的方式将shell
弹到你的vps
上去,此时先使用你的vps
生成一个反弹的命令:
在任务计划中,选择shell
脚本模式,添加任务名称,自定义执行周期,在收到反弹的shell
之后,停止或者删除任务计划:
在你的vps
上开启监听模式:
此时去执行任务计划,即可收到弹回来的shell
:
3. 添加BT用户
在大部分情况下,我们得到的都是一个root
权限的shell
(没有root
的请先提权到root
),此时我们想去访问bt的话,只需要在命令行里面输入命令:bt
,再输入14
即可:
此时就会出现默认的bt
初始账号密码,但是大部分情况下,你去登录的话,会发现密码已经被修改过了:
此时如果重置bt
的密码的话,会非常容易被发现,我们可以选择利用BT
的数据库给自己添加一个账号密码上去。
3.1 下载宝塔数据库文件
宝塔的数据库文件位置:
bt数据库位置:/www/server/panel/data/default.db
思路是你需要将该文件下载到本地,添加信息之后再将文件上传替换原来的default.db
下载到本地的方法也有很多,可以直接借助bt中的网站,将default.db复制过来之后,将权限修改为777
,防止因为权限问题,无法下载该文件。
在这里注意:直接在bt的机器上利用Python起一个http服务,是无法直接访问的,因为bt对端口的管控比较严格。
3.2 添加用户
下载下来之后,使用navicat
数据库管理工具打开该文件,具体的方法如下:
首先新建一个SQLite
的数据库连接,然后打开这个下载下来的db
文件,不用写密码:
在这里不用自己写密码,后面它会自动填充:
找到users
表,然后添加数据:
因为bt
用户的加密方式为:
password = md5(md5(md5(password) + '' + '_bt.cn') + salt)
所以如果想要自行添加新的用户,可以先把default.db
下载到本地,此时里面有原来的用户密码,再在bt里面操作,选择5,修改用户密码,再下载修改之后的default.db
文件,将修改之后的default.db
中的内容添加到第一个default.db
里面去,即可完成用户的新增:
这个方法是前台可以自己生成,也可以用以前的,记得id
应该不要和第一个重复,不然会报错:
新增之后,将文件保存,然后将bt
端的db
文件备份,再替换掉原来的db
文件,直接访问,利用新的账密即可登录成功。
4. 注意事项
在新增bt
用户的过程中,一定要记得备份原来的default.db
文件,防止出现异常。。。