可以的话,一起去看海,去看夕阳,去看星星,你看海看夕阳看星星,我看你

SSH暴力破解

SSH是目前比较可靠的专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话加密,保证数据传输的安全。SSH的口令长度太短或者复杂度不够,如果仅包含数字和字母的话,容易被攻击者获取,一旦密码被获取,可以用来直接登录系统,控制服务器所有权限。

0x01 日志分析

查看端口是否异常,先了解一下系统账号信息。

# 查看是否存在特权用户(uid=0)
┌──(root💀m0re)-[~/桌面]
└─# awk -F: '$3==0{print $1}' /etc/passwd
root

查看可以远程登录的账号信息

awk '/\$1|\$6/{print $1}' /etc/shadow


现在确定了目前系统管理用户有root&m0re两个用户。然后查看日志文件/var/log/secure,该日志文件记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录下来。
但是新版的kali或者其他的Linux系统,可能不存在该文件。可能是

/etc/ssh/sshd_config
LogLevel INFO
SyslogFacility AUTHPRIV

查看rsyslog的配置文件。其中有一行
auth,authpriv.* /var/log/auth.log
如果该文件很大则说明有人在破解你的root密码或者暴力破解

现在需要确认是否被攻击。

grep -o "Failed password" /var/log/auth.log|uniq -c


尝试攻击

然后查看日志,看看失败日志是否变多。

# 输出登录爆破的第一行和最后一行,确认爆破时间范围
grep "Failed password" /var/log/secure|head -1

Jul  8 20:14:59 localhost sshd[14323]: Failed password for invalid user qwe from 111.13.xxx.xxx port 1503 ssh2

grep "Failed password" /var/log/secure|tail -1

Jul 10 12:37:21 localhost sshd[2654]: Failed password for root from 111.13.xxx.xxx port 13068 ssh2
# 进一步定位有哪些IP在爆破?
grep "Failed password" /var/log/auth.log|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c | sort -nr 
# 爆破用户名字典都有哪些?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
      9402  root
      3265  invalid user chenbo
      1245  invalid user chenbin
      1025  invalid user user
      .....................

查看管理员最近登录情况。

┌──(root💀m0re)-[/var/log]
└─# grep "Accepted " /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
      2 192.168.88.1
                                                                                                                                      
┌──(root💀m0re)-[/var/log]
└─# grep "Accepted " /var/log/auth.log | awk '{print $1,$2,$3,$9,$11}'
Nov 3 11:56:40 root 192.168.88.1
Nov 3 11:56:41 root 192.168.88.1

通过日志分析,发现攻击者使用了大量的用户名进行暴力破解,但从近段时间的系统管理员登录记录来看,发现了该IP地址已经登录成功。说明密码已经泄露,需要紧急修改密码。

0x02 处理措施

1、禁止向公网开放管理端口,若必须开放应限定管理IP地址并加强口令安全审计(口令长度不低于8位,由数字、大小写字母、特殊字符等至少两种以上组合构成)。
2、更改服务器ssh默认端口。
3、部署入侵检测设备,增强安全防护。