✎ 阅读须知
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!
更新时间:2022年11月21日
本文首发t00ls: https://www.t00ls.com/viewthread.php?tid=67920
对于想拿到bt
后台来说,非常的艰难:无非是通过bypass
之后提权,直接拿到服务器的root
权限,然后再去宝塔后台。
当然,还有一种运气十分爆棚的方法:发现了bt
的账密信息,可以直接登陆了bt
后台(这种情况确实在实战中遇到过)
所以在这里就有了两个方向:
bt
的后台,想去服务器上大有可为bt
命令之后,利用原来的账密发现无法登录bt
后台,但是又想去bt
的后台上逛逛。针对以上两种情况来说,在这里一一进行学习分析。
这种是拿到bt
的后台之后,想去服务器上逛逛,至于bt
后台如何来的,有很多方法,也有很多的可能,我们只分析如何去服务器上。
在bt
的后台里面可以建一个计划任务进行反弹shell
到你的vps
上:
image.png
在计划任务中,可以通过bash
反弹的方式将shell
弹到你的vps
上去,此时先使用你的vps
生成一个反弹的命令:
image.png
在任务计划中,选择shell
脚本模式,添加任务名称,自定义执行周期,在收到反弹的shell
之后,停止或者删除任务计划:
image.png
在你的vps
上开启监听模式:
image.png
此时去执行任务计划,即可收到弹回来的shell
:
image.png
image.png
在大部分情况下,我们得到的都是一个root
权限的shell
(没有root
的请先提权到root
),此时我们想去访问bt的话,只需要在命令行里面输入命令:bt
,再输入14
即可:
image.png
此时就会出现默认的bt
初始账号密码,但是大部分情况下,你去登录的话,会发现密码已经被修改过了:
image.png
此时如果重置bt
的密码的话,会非常容易被发现,我们可以选择利用BT
的数据库给自己添加一个账号密码上去。
宝塔的数据库文件位置: bt数据库位置:
/www/server/panel/data/default.db
思路是你需要将该文件下载到本地,添加信息之后再将文件上传替换原来的default.db
下载到本地的方法也有很多,可以直接借助bt中的网站,将default.db复制过来之后,将权限修改为777
,防止因为权限问题,无法下载该文件。
在这里注意:直接在bt的机器上利用Python
起一个http
服务,是无法直接访问的,因为bt
对端口的管控比较严格。
下载下来之后,使用navicat
数据库管理工具打开该文件,具体的方法如下:
首先新建一个SQLite
的数据库连接,然后打开这个下载下来的db
文件,不用写密码:
image.png
在这里不用自己写密码,后面它会自动填充:
image.png
找到users
表,然后添加数据:
因为bt
用户的加密方式为:
password = md5(md5(md5(password) + '' + '_bt.cn') + salt)
所以如果想要自行添加新的用户,可以先把default.db
下载到本地,此时里面有原来的用户密码,再在bt里面操作,选择5,修改用户密码,再下载修改之后的default.db
文件,将修改之后的default.db
中的内容添加到第一个default.db
里面去,即可完成用户的新增:
这个方法是前台可以自己生成,也可以用以前的,记得id
应该不要和第一个重复,不然会报错:
image.png
新增之后,将文件保存,然后将bt
端的db
文件备份,再替换掉原来的db
文件,直接访问,利用新的账密即可登录成功。
在新增bt
用户的过程中,一定要记得备份原来的default.db
文件,防止出现异常。。。