在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/*​ 文件)可能仍然保存着你的操作痕迹。彻底删除这些痕迹需要高权限。

相关推荐
Johny_Zhao19 小时前
Centos8搭建hadoop高可用集群
linux·hadoop·python·网络安全·信息安全·云计算·shell·yum源·系统运维·itsm
落鹜秋水1 天前
Cacti命令执行漏洞分析(CVE-2022-46169)
web安全·网络安全
pencek1 天前
XCTF-crypto-幂数加密
网络安全
会议之眼1 天前
截稿倒计时 TrustCom‘25大会即将召开
网络安全
周先森的怣忈2 天前
渗透高级-----测试复现(第三次作业)
网络安全
MUY09902 天前
OSPF之多区域
网络·网络安全
波吉爱睡觉2 天前
文件解析漏洞大全
web安全·网络安全
青藤云安全2 天前
青藤天睿RASP再次发威!捕获E签宝RCE 0day漏洞
网络安全
pencek3 天前
HakcMyVM-Medusa
网络安全
Whoisshutiao4 天前
网安-SQL注入-sqli-labs
数据库·sql·网络安全