电子数据取证之宝塔面板

  • Post author:
  • Post category:其他


一、宝塔面板介绍


1、官网bt.com,是提升运维效率的服务器管理软件,支持一键WAMP/LAMP/LNMP等100多项服务器管理功能;是跨平台的软件,同时支持Windows和Linux。开源永久免费。提高工作效率,对小白比较友好。

2、怎么看服务器中有没有宝塔。

宝塔6.0以前需要输入的命令是:bt default;这个命令适用于全版本;

6.0以后的版本使用的命令是:bt。然后可以调出宝塔面板命令行,有很多功能可以选择;

3、如果是Windows服务器的话看看进程,有没有宝塔服务,看看快捷方式。

4、目前宝塔最新的版本是7.9.9。

二、网站搭建


1、centos 7.X > debian 10>ubuntu 20.04>centos8;

宝塔适配centos7最稳定;

2、不同版本的安装命令,详细可以查看宝塔的官网;

3、ping命令,ping不通,也不代表网站不存在;也有可能是开启了禁ping ;不要简单的通过ping命令下结论。

三、取证思路


1、如果打不开网站,可以查看宝塔服务是否开启了,没有开启的话开启

检测:netstat -anpt 如果没有8888端口,可以确定宝塔的服务没有开启;

开启命令:service bt start ;

2、用Linux命令搜索文件的方法:

举例:find 目录 -name ‘*.php’ | xargs grep “mysql”

以上命令是搜索含有关键词:mysql 的文件;

四、宝塔面板浅析


宝塔面板本身就是一个站点,那么用服务器取证的思路对宝塔面板进行分析,找到宝塔面板的登录密码保存位置,和加密方式,并且弄清楚面板重置密码的方法。

1、通过面板登录窗口,点击忘记密码,可以进入到宝塔面板的BBS,里面有介绍到一条执行命令:cd /www/server/panel && btpython tools.py panel testpasswd

可以发现命令中提到了tools.py文件,这个文件应该是入手点,找到它进行分析。


2、宝塔面板的文件位置:/www/server/panel,在这个目录下找到tools.py文件。

3、tools.py文件解析:

发现在重置面板密码时,用户输入了密码,密码经过set_panel_pwd函数处理,下一步找到这个函数;

4、搜索找到后,发现password首先被md5函数处理一次,然后被password_salt函数处理了一次,两个函授都来自文件public。


5、继续搜索,在目录/www/server/panel/class中,找到public.py文件;在该文件中搜索找到md5函数;发现md5函数,就是简单的对密码进行了md5加密计算;

6、找到函数password_salt;发现密码被加入字符_bt.cn计算md5,然后加salt,在计算MD5;



7、下一步要找到salt是什么,它的值是多少?在该文件中搜索salt,找到。发现salt是一个12位的随机数,在这个函数中调用了数据库,将salt存放到了数据库中,用到M方法;

8、下面找打M方法:搜索 def M;找到后发现了数据库文件的位置:data/default.db,

9、下面找打这个数据库,下载打开查看。使用sqlite打开后,选择查看数据,在user表中找到salt的值。 通过以上分析,发现宝塔面板的密码是经过三次加密计算。

10、宝塔账号中手机号码显示全,在如下路径中可以找到:

路径:/www/server/panel/data/userinfo.json 。



版权声明:本文为weixin_47401101原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。