前言
今天来继续来玄机靶场的Linux日志分析,再开始前先整理下日志分析一般会用到的语句
Linux系统中常见的日志文件包括:
/var/log/syslog 检查最近的系统活动
/var/log/auth.log(或/var/log/secure)检查登录和认证日志
/var/log/messages 检查系统启动和服务日志
/var/log/dmesg 分析内核消息
/var/log/kern.log 检查计划任务
/var/log/daemon.log 检查用户和组的变更
在实战中一般还需要结合安全设备的报错综合来分析,我们先来本次任务看看那些要求
1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割
2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割
3.爆破用户名字典是什么?如果有多个使用","分割
4.登陆成功的IP共爆破了多少次
5.黑客登陆主机后新建了一个后门用户,用户名是多少
正文
cat /var/log/auth.log.1 | less
确认日志格式和成功登录条目的具体字段位置
我们是可以看到ip在第11位
1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割 小到大排序 例如flag{192.168.200.1,192.168.200.2}
cat /var/log/auth.log.1 | grep -a "Accepted " | awk '{print $11}' | sort | uniq -c | sort -nr | more
2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割
cat /var/log/auth.log.1 | grep -a "Accepted " | awk '{print $11}' | sort | uniq -c | sort -nr | more
3.爆破用户名字典是什么?如果有多个使用","分割
cat /var/log/auth.log.1 | grep -a "Failed password" | perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}' | uniq -c | sort -nr
perl -e 'while($_=<>){ /for(.\*?) from/; print "$1\n";}'
:
- 这部分使用Perl脚本来进一步处理过滤后的日志行。具体解释如下:
while($_=<>){ ... }
:逐行读取输入。/for(.*?) from/
:使用正则表达式匹配“for … from”模式,并捕获“for”和“from”之间的内容。可以看看上面原始日志的内容对比以下就能理解print "$1\n";
:打印捕获的内容(即用户名)。
4.成功登录 root 用户的 ip 一共爆破了多少次
直接看第一个
5.黑客登陆主机后新建了一个后门用户,用户名是多少
我们可以用这个指令也可以直接看passwd
cat /var/log/auth.log.1 |grep -a "new user"
or
cat /etc/passwd
总结
这一部分我们主要分析的是与登录相关的日志auth.log.1 ,常见的语法还是那些,但是今天还学到了**perl -e 'while($_=<>){ /for(.\*?) from/; print "$1\n";}'
**:来处理日志