玄机——第一章 应急响应-Linux日志分析
简介:
账号root 密码linuxrz
ssh root@IP
1.有多少IP在爆破主机ssh的root帐号,如果有多个使用”,”分割 小到大排序 例如flag{192.168.200.1,192.168.200.2}
2.ssh爆破成功登陆的IP是多少,如果有多个使用”,”分割
3.爆破用户名字典是什么?如果有多个使用”,”分割
4.登陆成功的IP共爆破了多少次
5.黑客登陆主机后新建了一个后门用户,用户名是多少
一、有多少IP在爆破主机ssh的root帐号,如果有多个使用”,”分割 小到大排序 例如flag{192.168.200.1,192.168.200.2}
让我们找出有多少ip在爆破主机ssh的root账号,实际上就是让我们找登录失败的ip:
输入: cat /var/log/auth.log* | grep -a "Failed password for root"
在这段记录中,我们过滤出了登录root失败的记录,只要再将ip输出即可,这里我们用awk列出ip,对它排序并去重计数:
输入: cat /var/log/auth.log* |grep -a "Failed password for root" |awk '{print $(NF-3)}' |sort -n |uniq -c
最终 flag{192.168.200.2,192.168.200.31,192.168.200.32}
二、ssh爆破成功登陆的IP是多少,如果有多个使用”,”分割
让我们找出ssh爆破成功登陆的IP是多少,就是在日志里找 “Accepted password” 这样的记录,因此只需要将第一题命令中的"Failed password for root"替换为”Accepted password“即可:
输入: cat /var/log/auth.log* |grep -a "Accepted password" |awk '{print $(NF-3)}' |sort -n |uniq -c
排除自己登陆的IP,最终 flag{192.168.200.2}
三、爆破用户名字典是什么?如果有多个使用”,”分割
让我们找出爆破用户名,其实就是在日志里找"Failed password"这样的记录,然后再筛选出对应的用户名即可:
输入: cat /var/log/auth.log* |grep -a "Failed password"
发现用户名在for和from之间,因此只要筛选for和from之间的字符串即可:
输入: cat /var/log/auth.log.1|grep -a "Failed password"| grep -o 'for .* from'|sort -nr|uniq -c
将名字段取出即可,root,user,hello,test3,test2,test1,但是本题没有说清楚顺序,官方给出的flag为:flag{user,hello,root,test3,test2,test1}
四、登陆成功的IP共爆破了多少次
让我们找出登陆成功的IP的爆破次数,就是找出192.168.200.2有几条"Failed password for root"的记录:
输入: cat /var/log/auth.log.1|grep -a "192.168.200.2"|grep "Failed password for root" | sort -nr | uniq -c
因此,flag{4}
五、黑客登陆主机后新建了一个后门用户,用户名是多少
新建后门用户可以直接在/etc/passwd里找到:
这里直接输入:cat auth.log.1|grep -a "new user"
flag{test2}