
これは、Solaris システム上で「EvilSun」脆弱性 (CVE-2020-14871) を検出する小さな Python スクリプトです。この脆弱性は、SSH でのキーボードインタラクティブ認証の処理時に、Pluggable Authentication Module (PAM) の pam_unix_auth に発生するバッファオーバーフローです。悪用に成功すると、リモートコード実行またはサービス運用妨害 (DoS) につながる可能性があります。
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.
現時点では未テストです。