在Linux系统中“普通场景”下隐匿操作痕迹

在Linux系统中"普通场景"下隐匿操作痕迹

echo $HISTFILE​ 通过这个命令可以知道当前系统是哪个文件保存了命令历史,通常就是~/.bash_history文件。

如果需要删除的更彻底还需要注意以下几点:

  1. 当前会话的历史记录仍存在 :Bash 会在内存中维护当前会话的历史记录,即便 ~/.bash_history​ 被删除,当前会话中输入的命令仍可以通过 history​ 命令查看。只有当你退出 shell 时,当前会话的历史才会尝试写回到 HISTFILE​ 文件。

  2. 退出时写入新文件 :当你删除 ~/.bash_history​ 后,当前会话结束时,Bash 会创建一个新的 ~/.bash_history​ 文件,并将当前会话的命令写入其中。

  3. 彻底清除当前会话的历史记录:如果你希望不仅删除历史文件,还清除当前会话中的历史记录,可以执行以下命令:

    • 清除当前会话的历史:history -c
    • 清除历史文件内容(如果文件已重新创建):cat /dev/null > ~/.bash_history,或者你可以选择直接删除这个文件。
    • 退出会话时不保存当前历史:unset HISTFILE

这些步骤可以确保 Bash 不再保存你的命令历史记录,但并不意味着所有操作记录都被彻底清除。还需考虑以下几点因素:

  1. 系统日志

许多 Linux 发行版会将系统操作记录在日志文件中,特别是通过 sudo​ 执行的命令通常会记录在 /var/log/auth.log​(Debian/Ubuntu)或 /var/log/secure​(CentOS/RHEL)中。这些日志记录可能包含你执行的命令、操作时间、使用的用户等信息。

清除日志

php 复制代码
sudo sh -c '> /var/log/auth.log'  # Debian/Ubuntu
sudo sh -c '> /var/log/secure'    # CentOS/RHEL
  1. last 和 lastlog 命令:

​**last​ 命令显示用户登录的历史记录, lastlog**​ 显示用户的最后登录时间。如果你想要隐匿登录记录,你需要清除这些信息:

php 复制代码
sudo sh -c '> /var/log/wtmp'  # 清除 last 记录
sudo sh -c '> /var/log/btmp'  # 清除失败的登录尝试记录
sudo sh -c '> /var/log/lastlog'  # 清除 lastlog 记录
  1. 命令行别名或环境变量:

一些系统可能会通过 HISTCONTROL​ 环境变量或别名跟踪命令历史。检查 ~/.bashrc​ 中是否有配置,并考虑以下变量:

php 复制代码
export HISTCONTROL=ignoreboth  # 忽略空命令和重复命令
export HISTIGNORE="ls:cd:pwd"  # 忽略特定命令
  1. 高权限命令的痕迹:

​**sudo**​:每次使用 sudo​ 命令,都会在日志文件中记录操作。如果你使用 sudo​,即使删除 Bash 历史记录,系统仍然会保存日志。清除 /var/log/auth.log​ 或 /var/log/secure​ 可以删除这些记录

上述操作能在 普通场景 下隐匿你在系统上的操作记录,特别是针对 Bash 历史记录的清除。但 系统管理员的日志和记录 (如 /var/log/*​ 文件)可能仍然保存着你的操作痕迹。彻底删除这些痕迹需要高权限。

相关推荐
蜜獾云1 小时前
linux firewalld 命令详解
linux·运维·服务器·网络·windows·网络安全·firewalld
H轨迹H8 小时前
#渗透测试 kioptix level 2靶机通关教程及提权
网络安全·渗透测试·oscp
AirDroid_qs10 小时前
Niushop开源商城(漏洞复现)
android·网络安全·开源
星竹12 小时前
upload-labs-master第21关超详细教程
网络安全
蜜獾云12 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
Clockwiseee1 天前
php伪协议
windows·安全·web安全·网络安全
Lspecialnx_1 天前
文件解析漏洞中间件(iis和Apache)
网络安全·中间件
学习溢出1 天前
【网络安全】逆向工程 练习示例
网络·安全·网络安全·渗透测试·逆向工程