1
2
3
4
5
6
7
账号root密码linuxrz
ssh root@IP
1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割
2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割
3.爆破用户名字典是什么?如果有多个使用","分割
4.登陆成功的IP共爆破了多少次
5.黑客登陆主机后新建了一个后门用户,用户名是多少

1.有多少IP在爆破主机ssh的root帐号,如果有多个使用”,”分割 小到大排序 例如flag{192.168.200.1,192.168.200.2}

1
cat /var/log/auth.log.1 | grep -a "Failed password for root" | awk '{print $11}' | sort | uniq -c | sort -nr | more

image-20240412123256454

1
grep -a "Failed password for root" auth.log.1| awk '{print $11}' | sort | uniq -c

image-20240412124916683

**答案:flag{192.168.200.2,192.168.200.32,192.168.200.31}**(这个flag IP地址有先后顺序试了好几次才试出来)

2.ssh爆破成功登陆的IP是多少,如果有多个使用”,”分割
查找一下accepted即可

linux命令

1
cat /var/log/auth.log.1 | grep -a "Accepted " | awk '{print $11}' | sort | uniq -c | sort -nr | more

image-20240412123433552

1
grep -a "Accepted password" auth.log.1| awk '{print $11}' | sort | uniq -c

image-20240412124952936

答案:flag{192.168.200.2}

3.爆破用户名字典是什么?如果有多个使用”,”分割

1
grep -a "Failed password" auth.log.1| perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'| uniq -c
1
2
3
4
5
6
7
8
9
10
11
root@ip-10-0-10-1:~# cat /var/log/auth.log.1 | grep -a "Failed password" | perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'| uniq -c | sort -nr
5 invalid user user
5 invalid user hello
5 invalid user
4 root
1 root
1 root
1 invalid user test3
1 invalid user test2
1 invalid user test1
这个题做的时候忘截图的直接复制的官方的wp

答案:flag{user,hello,root,test3,test2,test1}

4.登陆成功的IP共爆破了多少次
筛选一下ip,筛选一下用户

1
grep -a "Failed password"  auth.log.1| awk '{if($11=="192.168.200.2") print $11}'|sort|uniq -c

image-20240412124742589
也可以使用问题1的命令

答案:flag{4}

5.黑客登陆主机后新建了一个后门用户,用户名是多少

1
cat /var/log/auth.log.1 |grep -a "new user"

image-20240412124422213

其实看passwd也可以

1
cat /etc/passwd

image-20240412124651768

答案:flag{test2}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1,有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割flag{192.168.200.2,192.168.200.32,192.168.200.31}
​ 这段命令是用于在 /var/log/auth.log.1 文件中查找所有包含字符串 "Failed password for root" 的行,然后从中提取出IP地址信息,最后进行统计和排序。

逐步解释这个命令:

grep -a "Failed password for root" /var/log/auth.log.1: 该部分使用 grep 命令在文件 /var/log/auth.log.1 中查找包含字符串 "Failed password for root" 的行。 -a 选项表示以二进制模式处理文件,通常用于处理非文本文件。
awk '{print $11}': 该部分使用 awk 命令从匹配到的行中提取出第11个字段,即IP地址。默认情况下,awk 以空格为字段分隔符,因此这里假设IP地址是在日志中的第11个字段。
sort: 该部分使用 sort 命令对提取出的IP地址进行排序。这是为了让相同的IP地址相邻,以便后面的统计。
uniq -c: 该部分使用 uniq -c 命令进行唯一性和计数,它会显示每个唯一的IP地址及其出现的次数。-c 选项用于显示每行重复出现的次数。
sort -nr: 该部分使用 sort -nr 命令对计数结果进行排序,其中 -n 表示按数字顺序排序,-r 表示逆序(从高到低)排序。
more: 最后,more
2,cat /var/log/auth.log.1 | grep -a "Accepted password for root" | 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
4,第一题可知192.168.200.2爆破了4次
5,cat /var/log/auth.log.1 |grep -a "new user"