どうしたのか知りたいバッシュバーグシェルにアクセスするためにユーザーログインが必要なシステムに影響します。
UNIX / Linuxは、通常、システムでbashコマンドを実行するために認証されたユーザーでなければならないように構成されていませんか?
最近の「バッシュバグ」または脆弱性は、コマンドを実行する前にログインが必要なシステムにどのような影響を及ぼしますか?
答え1
これ墜落Shell Shock(別名Bash Bug)についてインターネットで見つけた最良の点は次のとおりです。
リスクは、与えられた関数によって定義された環境変数をランダムに定義するBashシェルの機能に焦点を当てています。問題は、Bashが関数定義の後にシェルコマンドを処理し続けると始まり、それを「コード挿入攻撃」として分類します。 Robertの例を見て、次の行に従います。
http-header = Cookie:() { :; }; ping -c 3 209.126.230.74
関数は (){::}; として定義されます。シェルコマンドはpingステートメントとそれに続くパラメータです。このコマンドが Bash シェルのコンテキストで処理されると、任意のコマンドが実行されます。 Web環境では、これは必ずしもヘッダを要求する必要はありませんが、CGIスクリプトなどのメカニズムを介して意味します。パスとクエリ文字列が潜在的な攻撃ベクトルになる可能性があることを指摘するなど、より詳細な情報を提供するseclists.orgの勧告を読む価値があります。
もちろん、この特定の攻撃ベクトルを軽減する1つの方法は、シェルを呼び出すCGI機能を無効にすることです。しかし、ほとんどの場合、これはサイトに即時の問題を引き起こさないことを確認するために少なくともいくつかの広範なテストが必要な重大な変更になり、多くの場合そうです。
上記のHTTP証明は共通プロトコルの実装ですが、単純ですが効果的な証明です。 TelnetとSSH、さらにはDHCPまで追加し始めると、範囲が劇的に増加するため、ここではWebアプリケーションサーバーの使用について話すだけではありません。 (もちろん、SSH認証後にのみ危険が存在しますが、公開初期段階では必然的に他の攻撃ベクトルが現れることがわかります。)
答え2
Webサーバーなど、システムで実行されているネットワークサービスは、認証されたユーザーとして実行されます。これらのサービスが計算にbashを使用する場合(非常に一般的)、外部ユーザーは環境変数をシェルコマンドで置き換えることで、任意のコードをWebサーバーとして実行できます。