日志分析-ssh日志分析

日志分析-ssh日志分析

题目:

    1、可以登录 SSH 的账号数量是多少

    2、SSH日志中登录成功的日志条数是多少(去除自己登陆产生的两次)

    3、SSH日志中登录成功次数最多的用户的用户名是什么

    4、SSH日志中登录失败次数最多的用户以及登录使用的ip是什么(flag:flag{用户名,ip})

1、可以登录 SSH 的账号数量是多少

这里直接查看ssh的服务配置文件/etc/ssh/sshd_configSSH 服务端配置文件,用于控制 SSH 服务(sshd)的各种行为。

cat /etc/ssh/sshd_config 

image-20250726181012628

AllowGroups SSHD_USER root:表示只有属于 SSHD_USER 组或 root 用户所在组的用户才可以登录 SSH。

其它用户 无论是否存在 shell,也无法登录 SSH,除非属于上面两个组之一

下一步我们查看所属组的用户

cat /etc/group

image-20250726181211321

可以看到只有两个用户属于SSHD_USER组一个是toor 另一个是root

所以flag{2}

常见配置项解释

配置项 作用
Port 22 SSH监听端口,默认是22
PermitRootLogin no 禁止root用户通过SSH登录
PasswordAuthentication yes 允许使用密码登录
PubkeyAuthentication yes 允许使用公钥认证登录
AllowUsers user1 user2 仅允许这些用户SSH登录
DenyUsers baduser 拒绝这些用户SSH登录
PermitEmptyPasswords no 不允许空密码登录

举个例子

你看到配置:

nginx复制编辑PermitRootLogin no
AllowUsers alice bob

意思是:

  • root 用户不能登录
  • 只有 alicebob 可以通过 SSH 登录服务器

2、SSH日志中登录成功的日志条数是多少(去除自己登陆产生的两次)

进入日志,这里要讲要将 auth.log.2.gz 解压缩后才可以做题

image-20250726181353336

根据题目说登录成功,我们首先就可以想到筛选当 SSH 登录成功时,会回显Accepted,所以我们在日志文件中匹配这个关键词,

grep "Accepted" auth.log.1 auth.log.2 | wc -l

image-20250726181805997

这里正确答案应该是103

这里显示110可能是因为我前面多登录了几次

3、SSH日志中登录成功次数最多的用户的用户名是什么

这里跟上题目差不多,只不过加了个用户名的条件,拿到flag{toor}

grep "Accepted" auth.log.1 auth.log.2 | awk '{print $9}' | sort | uniq -c | sort -nr

image-20250726182025966

4、SSH日志中登录失败次数最多的用户以及登录使用的ip是什么(flag:flag{用户名,ip})

这里我们对日志里面的 登录失败 ip 进行针对性筛选

cat auth.log.1 auth.log.2 | grep "Failed password"  | awk '{print $9,$11}' | sort | uniq -c | sort -nr | head -n 10

image-20250726182453491

可以看到登录失败最多的用户是root拿到flag{root,87.163.111.11}

posted @ 2025-08-06 10:40  0xMouise  阅读(39)  评论(0)    收藏  举报