玄机-应急响应-Linux日志分析

937

第一次玩这种应急响应类型的靶场,感觉没有渗透的好玩XD(😶‍🌫️

简介

账号root密码linuxrz
ssh root@IP
  1. 有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割flag{192.168.200.2,192.168.200.32,192.168.200.31}

    root@ip-10-0-10-1:~# cat /var/log/auth.log.1 | grep -a "Failed password for root" | awk '{print $11}' | sort | uniq -c | sort -nr | more
          4 192.168.200.2
          1 192.168.200.32
          1 192.168.200.31
    

    ​ 这段命令是用于在 /var/log/auth.log.1 文件中查找所有包含字符串 "Failed password for root" 的行,然后从中提取出IP地址信息,最后进行统计和排序。

    逐步解释这个命令:

    1. grep -a "Failed password for root" /var/log/auth.log.1: 该部分使用 grep 命令在文件 /var/log/auth.log.1 中查找包含字符串 "Failed password for root" 的行。 -a 选项表示以二进制模式处理文件,通常用于处理非文本文件。
    2. awk '{print $11}': 该部分使用 awk 命令从匹配到的行中提取出第11个字段,即IP地址。默认情况下,awk 以空格为字段分隔符,因此这里假设IP地址是在日志中的第11个字段。
    3. sort: 该部分使用 sort 命令对提取出的IP地址进行排序。这是为了让相同的IP地址相邻,以便后面的统计。
    4. uniq -c: 该部分使用 uniq -c 命令进行唯一性和计数,它会显示每个唯一的IP地址及其出现的次数。-c 选项用于显示每行重复出现的次数。
    5. sort -nr: 该部分使用 sort -nr 命令对计数结果进行排序,其中 -n 表示按数字顺序排序,-r 表示逆序(从高到低)排序。
    6. more: 最后,more 命令用于分页显示结果,以防止输出过长而无法一次性显示在屏幕上。
  2. ssh爆破成功登陆的IP是多少,如果有多个使用","分割flag{192.168.200.2}

    root@ip-10-0-10-1:~# cat /var/log/auth.log.1 | grep -a "Accepted password for root" | awk '{print $11}' | sort | uniq -c | sort -nr | more
          2 192.168.200.2
    
  3. 爆破用户名字典是什么?如果有多个使用","分割flag{user,hello,root,test3,test2,test1}

    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
    

    ​ 逐步解释perl命令,perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}': 这一部分使用 Perl 脚本。-e 选项表示在命令行中提供脚本代码。Perl 脚本的作用是遍历每一行,然后使用正则表达式 /for(.*?) from/ 捕获括号中的内容,即登录失败的用户名。捕获的内容由 $1 引用,然后通过 print "$1\n"; 打印出来,每个用户名占一行。

  4. 登陆成功的IP共爆破了多少次flag{4}

    见第一个问题

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

    root@ip-10-0-10-1:~# cat /var/log/auth.log.1 |grep -a "new user"
    Aug  1 07:50:45 linux-rz useradd[7551]: new user: name=test2, UID=1000, GID=1000, home=/home/test2, shell=/bin/sh
    Aug  1 08:18:27 ip-172-31-37-190 useradd[487]: new user: name=debian, UID=1001, GID=1001, home=/home/debian, shell=/bin/bash