这是一个用于在 Solaris 系统上检测 “EvilSun” 漏洞 (CVE-2020-14871) 的小型 Python 脚本。该漏洞是当 SSH 处理键盘交互式认证时,可插拔认证模块 (PAM) pam_unix_auth 中的缓冲区溢出。成功利用该漏洞可能导致远程代码执行或拒绝服务。
paramiko 库pip3 install -r requirements.txt
当 /etc/ssh/sshd_config 已配置 PAMAuthenticationViaKBDInt 'yes' 时,您可以看到以下输出,表明存在漏洞状态:
[*] Connecting to hostname 192.168.100.12 port: 22
[*] Using payload: ['AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA']
[*] Authentication failed: Authentication failed: transport shut down or saw EOF
[-] !!!!!!! VULNERABLE !!!!!!!
当 /etc/ssh/sshd_config 已配置 PAMAuthenticationViaKBDIn 'no' 时,您可以看到以下输出,表明不存在漏洞状态(至少对于 Sun SSHd 而言):
[*] Connecting to hostname 192.168.100.12 port: 22
[*] Authentication failed: Authentication failed.
目前尚未测试。