一、宝塔面板介绍
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 。