zl程序教程

您现在的位置是:首页 >  Java

当前栏目

宝塔后渗透-添加用户|反弹shell

2023-02-18 16:39:18 时间

✎ 阅读须知

乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!

本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!

更新时间:2022年11月21日

本文首发t00ls: https://www.t00ls.com/viewthread.php?tid=67920

1. 背景介绍

对于想拿到bt后台来说,非常的艰难:无非是通过bypass之后提权,直接拿到服务器的root权限,然后再去宝塔后台。

当然,还有一种运气十分爆棚的方法:发现了bt的账密信息,可以直接登陆了bt后台(这种情况确实在实战中遇到过) 所以在这里就有了两个方向:

  • • 直接拿到了bt的后台,想去服务器上大有可为
  • • 拿到了服务器的权限,执行bt命令之后,利用原来的账密发现无法登录bt后台,但是又想去bt的后台上逛逛。

针对以上两种情况来说,在这里一一进行学习分析。

2. 有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

3. 添加BT用户

在大部分情况下,我们得到的都是一个root权限的shell(没有root的请先提权到root),此时我们想去访问bt的话,只需要在命令行里面输入命令:bt,再输入14即可:

image.png

此时就会出现默认的bt初始账号密码,但是大部分情况下,你去登录的话,会发现密码已经被修改过了:

image.png

此时如果重置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文件,不用写密码:

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文件,直接访问,利用新的账密即可登录成功。

4. 注意事项

在新增bt用户的过程中,一定要记得备份原来的default.db文件,防止出现异常。。。