宝塔清理操作日志+后门用户

  • A+
所属分类:安全文章
旧文重发:更新一下清理痕迹的思路。
 宝塔清理操作日志+后门用户
0x00 前言
分享一下在最近项目中总结的经验:
(1)隐藏痕迹:如何在登陆宝塔后台后清除操作日志。
(2)权限维持:如何添加宝塔后门管理员用户。

0x01 清除操作日志
宝塔的后台登陆后会记录一条登陆日志:
宝塔清理操作日志+后门用户

做一些修改操作或者误点了终端功能也会记录操作日志:
宝塔清理操作日志+后门用户

虽然宝塔提供了清空日志的功能,但只能全部清空,实在太招摇。空日志可能比一两条异常日志更容易惊动管理员。
宝塔清理操作日志+后门用户

那如何按条清除一些特定的操作日志呢,宝塔的日志记录在/www/server/panel/data/default.db文件中,用宝塔的文件管理功能把这个文件下载回来。
宝塔清理操作日志+后门用户

这是个SQLite数据文件,在本地用数据库管理工具(如navicat)打开,在logs表中可以看到全部的操作日志。
宝塔清理操作日志+后门用户

删除你想要删除的指定条目的日志,这里删除第43条用户登录的日志,然后保存。在/www/server/panel/data/目录下上传修改后的default.db文件覆盖(注意备份原文件)。
宝塔清理操作日志+后门用户

再看操作日志,发现登陆日志已经被清除了。但是产生了两个新的问题:
(1)修改后的日志序号不连续,从42直接跳到了43。
(2)最后一步上传覆盖原数据文件的操作会被记录下来。
宝塔清理操作日志+后门用户
如果要求不严格的话,这样子就可以了,操作还是比较方便的。接下来只要注意退出宝塔直接关闭页面即可,不要点击左侧的退出按钮,否则会记录登出日志
宝塔清理操作日志+后门用户
宝塔清理操作日志+后门用户

如果要求严格,想解决上面的两个问题,则需要增加或修改一些步骤如下。

0x02 解决序号不连续问题
之前的方案是把【数据导出—按原结构重建表—重新导入数据】。但这样操作麻烦,且部分情况无法恢复到与之前的日志序号完全一致。

因为大部分情况我们清除的都是最后几条日志,所以只需要重置自动递增值即可,无需对之前没碰到的日志再进行修改。基于此想法这里分享另外一套解决方案:

使用navicat,右键logs表,点击设计表

宝塔清理操作日志+后门用户


在选项一栏里修改自动递增值为当前日志序号最大值,然后点击左上角的保存。

宝塔清理操作日志+后门用户


再次覆盖上传后,发现新产生的日志已经序号连续。
宝塔清理操作日志+后门用户
宝塔清理操作日志+后门用户

如果不使用navicat的图形化界面,则可以执行下面的sql语句达成同样的修改效果:
UPDATE "main"."sqlite_sequence" SET seq = 42 WHERE name = 'logs';

0x03 解决覆盖产生新记录问题
这个问题有一个很简单的解决方案,就是如果你有目标服务器的权限,或者宝塔开了终端管理功能,则先用文件管理把功能把default.db传上去,然后登陆终端去覆盖日志即可。

终端内的操作是不会被宝塔的操作日志记录的。当然最后别忘了清除ssh登陆日志和history命令执行日志。
宝塔清理操作日志+后门用户

但有时,我们没有拿到服务器权限,同时宝塔也没有开终端功能,这种情况怎么避免产生那最新一条日志呢。
宝塔清理操作日志+后门用户

直接用宝塔的计划任务反弹个shell出来就好了,在自己的vps上用nc -lvp监听。

宝塔清理操作日志+后门用户


添加后手动执行一次
宝塔清理操作日志+后门用户

然后依次执行:
(1)删除刚加的计划任务。
(2)通过文件管理上传default.db到另一个目录。
(3)通过反弹回来的shell执行mv覆盖动作。
(4)history -c、kill -9 $$。
可以完美清除指定的操作日志。
宝塔清理操作日志+后门用户

如果想再完美一点,也可以在终端退出前去清一下计划任务产生的日志,centos系统是在/var/log/cron文件里,不过一般没有这个必要,因为实在是不显眼并且看不出到底执行了什么。

0x04 后门用户
清除日志时,在default.db数据文件中发现还有宝塔的用户表
宝塔清理操作日志+后门用户

添加一行新用户即可,密码加密算法如下:
md5(md5(md5(password) + '_bt.cn')+salt)
不过都能登陆后台了,说明你是知道原用户的密码的,那直接拿它的来用就好了,这样就不用费力去构造md5了。注意修改id字段不能和原用户相同。
宝塔清理操作日志+后门用户
宝塔清理操作日志+后门用户

把修改好的default.db覆盖上传后,就可以使用后门用户登陆后台了。因宝塔没有用户管理功能,所以这个后门用户很隐蔽,不过要注意清理操作日志。
宝塔清理操作日志+后门用户

0x05 后记
宝塔清理操作日志+后门用户
VX公众号:《小黑的安全笔记》

总结一下要点:

(1)宝塔数据文件位置:

/www/server/panel/data/default.db

(2)该数据文件中记录着宝塔后台的操作日志管理用户的信息。

(3)清理日志时注意序号不连续最新一条日志问题。

(4)宝塔的日志不会记录在终端里的操作,但是系统日志会记录。


END.


喵,点个赞再走吧~

本文始发于微信公众号(小黑的安全笔记):宝塔清理操作日志+后门用户

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: