日志分析-ssh日志分析
日志分析-ssh日志分析
题目:
1、可以登录 SSH 的账号数量是多少
2、SSH日志中登录成功的日志条数是多少(去除自己登陆产生的两次)
3、SSH日志中登录成功次数最多的用户的用户名是什么
4、SSH日志中登录失败次数最多的用户以及登录使用的ip是什么(flag:flag{用户名,ip})
1、可以登录 SSH 的账号数量是多少
这里直接查看ssh的服务配置文件/etc/ssh/sshd_config 是 SSH 服务端配置文件,用于控制 SSH 服务(sshd)的各种行为。
cat /etc/ssh/sshd_config

AllowGroups SSHD_USER root:表示只有属于 SSHD_USER 组或 root 用户所在组的用户才可以登录 SSH。
其它用户 无论是否存在 shell,也无法登录 SSH,除非属于上面两个组之一
下一步我们查看所属组的用户
cat /etc/group

可以看到只有两个用户属于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 用户不能登录
- 只有
alice和bob可以通过 SSH 登录服务器
2、SSH日志中登录成功的日志条数是多少(去除自己登陆产生的两次)
进入日志,这里要讲要将 auth.log.2.gz 解压缩后才可以做题
根据题目说登录成功,我们首先就可以想到筛选当 SSH 登录成功时,会回显Accepted,所以我们在日志文件中匹配这个关键词,
grep "Accepted" auth.log.1 auth.log.2 | wc -l

这里正确答案应该是103
这里显示110可能是因为我前面多登录了几次
3、SSH日志中登录成功次数最多的用户的用户名是什么
这里跟上题目差不多,只不过加了个用户名的条件,拿到flag{toor}
grep "Accepted" auth.log.1 auth.log.2 | awk '{print $9}' | sort | uniq -c | sort -nr

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

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

浙公网安备 33010602011771号