前言
通常,我们拿到一台服务器后使用338端口远程桌面登录windows系统,使用22端口ssh登录linux系统。如果隔一段时间稍微留意一下爆破日志,通常能够看到来自全球各地的ip在爆破我们的登录账号密码。
爆破日志
前言中说到的爆破日志,我们可以通过查看Windows的日志id:4625查看登录失败的日志(登录成功日志id:4624)。Linux的登录失败日志,centos在/var/log/secure,ubuntu在/var/log/auth.log。我们也可以使用以下命令查看登录失败的ip账号密码。
登录失败用户
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
grep "Failed password" /var/log/auth.log|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
root错误登录密码
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
登录失败ip
grep "Failed password" /var/log/secure | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
grep "Failed password" /var/log/auth.log | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
当然,以上命令在笔者的应急响应脚本均已包含,有兴趣的可以使用笔者的应急脚本跑一遍然后分析输出结果。