首页 > 其他分享 >登录宝塔面板反被溯源IP?教你擦除痕迹!

登录宝塔面板反被溯源IP?教你擦除痕迹!

时间:2022-09-27 14:45:48浏览次数:75  
标签:logs 登录 记录 IP 擦除 日志 面板 溯源

前言

书接上文。还没有看过的小伙伴可以关注公众号,翻翻历史文章:有了webshell之后应该怎么拿下宝塔?

我们对宝塔进行渗透的过程会产生很多入侵痕迹,比如:

  • 正常访问目标站点的日志;
  • 没找到正确的面板入口地址,产生的面板访问日志;
  • 登录失败的日志,会记录显示操作时间和登录账户、来源IP;
  • 成功登录的日志,会记录显示操作时间和登录账户、来源IP;
  • 其他操作日志,如在面板上传和下载文件、清空面板操作日志(没错,清空操作本身也会产生日志...);
  • 其他日志,如修改防火墙、升级软件、修改数据库等等。

这些痕迹都是要在我们完成测试之后要清除的,否则一不小心就被溯源了。尤其是新增的账户的登入登出日志,陌生账号的登录记录很容易引起管理员注意!

清除宝塔面板操作日志

基本思路

成功和失败的登录,宝塔都会有记录

img

基本思路是下载/www/server/panel/data/default.db这个数据库文件,修改后再次上传覆盖源文件

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

到这里又有一个问题,实测发现如果直接修改数据库,删除某条记录,上传覆盖后会导致面板新的日志序号不连续,管理员可明显看出数据异样

img

如下图,45号日志的下一条日志序号为47,而不是46,原因是登出前会有登入,原本记录46就是一条成功登入的日志

img

我们观察DDL可知id是自增关键字,因此即便我们删除了原来的46号记录,但由于此时logs表的id值为46,下一条记录的序号自然是47,导致不连续

img

解决序号不连续问题

我找到的方法是,导出原logs表数据后,删除原表,再次生成表、导入原数据,使id值为45

(1)在修改完logs表后,先把修改后的数据导出
img

(2)记住logs表的结构,删除原logs表,新建一个和原表结构一样的logs表。

drop table if exists "logs";
CREATE TABLE logs (
    id       INTEGER PRIMARY KEY AUTOINCREMENT,
    type     TEXT,
    log      TEXT,
    addtime  TEXT,
    uid      INTEGER DEFAULT '1',
    username TEXT    DEFAULT 'system'
);

(3)然后把刚才导出的数据导入

img

注意编码使用UTF-8

此时id值为45

(4)再次覆盖上传后,发现新产生的日志序号已经连续

img

此时浏览器再次打开面板地址,登录状态还在,同时面板记录不会有隐藏账户的登录日志

img

如何正确退出面板

注意此时不能点击左边的“退出”,否则会再次生成一条登出记录

img

直接关闭页面,等待登录状态失效即可

清除服务器日志(Linux)

一般管理员在面板看不出异样,就不会去查看日志

但如果想完全擦除自己的痕迹,避免被溯源,就要清除访问日志和登录失败日志,主要是access.log和error.log

日志目录如下:

img

删除含个人IP的行,其他关键词和文件也可参考

sed -i -e '/[YOUR_IP]/d' /www/wwwlogs/access.log

img

最后清除命令行记录即可。

# 将目前 shell 中的所有 history 命令消除。对命令历史文件没有影响
history -c
# 完全清空.bash_history文件,并不是很建议使用
echo > ~/.bash_history

往期推荐文章

【点击头像翻看历史文章】有了webshell之后应该怎么拿下宝塔?


本文仅用于学习和交流,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,文章作者不为此承担任何责任。

文章首发于公众号:安道实验室,随缘更新但篇篇干货。新号求关注、点赞、收藏和转发!!!

标签:logs,登录,记录,IP,擦除,日志,面板,溯源
From: https://www.cnblogs.com/andao/p/16734489.html

相关文章

  • Pipeline 责任链
    publicclassMain{publicstaticvoidmain(String[]args){Pipelinep=newPipeline();p.addLast(newHandler1());p.addLast(new......
  • JavaScript DOM
    APIAPI(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,......
  • IPython的%魔术命令
    %magic显示所有魔术命令%hist 显示IPython命令的输入历史%pdb 异常发生后自动进入调试器%reset 删除当前命名空间中的全部变量或名称%who 显示IPython当前命......
  • aardio + VBScript 混合开发
    aardio与VBScript可以直接混合编程,VBScript属于Windows系统自带组件——可以方便地生成独立EXE程序。▶快速入门首先创建VBScript解释器,aardio代码示例:i......
  • 免费综合网络研讨会:如何优化 JavaScript 应用程序的方法
    免费综合网络研讨会:如何优化JavaScript应用程序的方法您是否考虑过提高JavaScript应用程序的性能?加入DmytroMezhenskyi,开发专家解码前端,上2022年9月30......
  • NetCoreWebApi3.0-------MiniProfiler使用教程
    参考博客:ASP.NETCoreWebAPI中的分析工具MiniProfiler-LamondLu-博客园(cnblogs.com) 注意事项:1.不要盲目copy别人的代码varhtml=MiniProfiler.Current.Re......
  • JavaScript入门到精通
    JavaScript参考文章:https://www.yuque.com/u21195183/phhed3https://developer.mozilla.org/zh-CN/docs/Learn/JavaScripthttps://www.w3school.com.cn/js/index.asp......
  • Linux防火墙firewall只允许特定IP访问
    1、https://blog.csdn.net/haoqi9999/article/details/125988881一、概述1、目的服务A使用端口9001,只有允许的应用才可以访问,其它未经允许服务无法正常访问(即默认应用无......
  • on the IPv6 loopback interface: 'Cannot assign requested address'
    .netcore+docker  需要修改两个地方Dockerfile添加 ENVASPNETCORE_URLS=http://+:44303  FROMmcr.microsoft.com/dotnet/aspnet:6.0ASbaseENVASPNETCORE......
  • WINZIP命令行
    来自:https://www.cnblogs.com/nieyj/archive/2009/08/18/1548727.htmlWINZIP命令行在WinZip安装包中没有包含命令行工具,但在其官方站点上有单独提供下载,所以如需要WinZi......