任意のファイルをキャプチャするのはどのくらい安全ですか?

任意のファイルをキャプチャするのはどのくらい安全ですか?

時々バイナリファイルを誤って入力すると、cat端末が壊れることがあります。すぐに修正することはできませんが、reset理論的には、攻撃者は端末に表示されたときに任意のコードを実行するファイルを生成できませんか?端末エミュレータやその他の手段で悪用する。

答え1

これらの出力が利用可能かどうかは、端末プログラムと送信されたエスケープコードによって端末が実行する操作によって異なります。私は端末プログラムにそのような悪用可能な機能があることを知りません。これで唯一の質問は、悪用される可能性のある未知のバッファオーバーフローがあるかどうかです。

hardwareたとえば、そのキーのコマンドシーケンスをハードウェアに保存してこれらのエスケープシーケンスを持つファンクションキーをプログラムするため、古い端末では問題が発生する可能性があります。有効にするには、物理​​ボタンを押す必要があります。

しかし、問題が解決したら、これらの機能を追加したい人はいつもいます(Haukeは「脳死」と正しくマークしました)。自分が生成する脆弱性を理解するのではなく、これらの機能を追加したいと思います。オープンソースソフトウェアの私の経験によれば、コードに興味を持っている人が多すぎるため、クローズドソースソフトウェアよりもこのようなことが発生する可能性が低くなります。 (9世紀半ば、Silicon GrahpicsのIrixメールプログラムに、受信者のコンピュータで実行するコマンド、実行可能ファイルの実際のパスなどを含めることができたことを覚えています。)

答え2

ほとんどの端末エミュレータは、特定のエスケープシーケンスを受信すると、いくつかの応答を返します(参照:xterm制御シーケンス文書)。たとえば、VT100などのエミュレータに送信し、\e[0c次のデバイスプロパティを再送信できます\e[?1;2c (Keithが観察したものです)。しかし、これらの答えはランダムな文字列ではありません。しかし、2cシステムのどこかに致命的なタスクを実行する実行可能ファイルを指定するのは良い考えではありません。

更新:xtermウィンドウのタイトルを設定できるため、実際にはリスクは思ったよりも大きくなります。タイトルを送ってください。適切なエスケープシーケンスを使用してください(http://www.securityfocus.com/bid/6940/)。上記の例とは異なり、タイトルはほぼすべての文字列にすることができます。

答え3

次のようにオーバーライドされない限り、GNOME Terminal 3.6.1の端末タイトルは変更されます。PS1:

printf "\033]2;Script Kiddie was here\007"

次に、新しいGNOMEターミナルウィンドウを開き、ビルドをテストしますcat

printf "\033]2;Script Kiddie was here\007" > test.bin
cat test.bin

はい、端末のタイトルも設定されます。

セキュリティの問題が発生しました。ヘッダーがコマンドラインに印刷されるようにするエスケープコードしたがって、任意のコマンドを実行すると、印刷するファイルを効果的に作成できますcat(改行を追加できるかどうかわかりません)。あや!

答え4

xterm私が入力したように、ランダムな文字が自分自身に挿入されることを経験しました。時にはこれには明らかに改行文字が含まれているため、ngwerm:0riu: command not found応答を受け取ります。特定の有害なコマンドを送信するファイルをなぜ誰かが作成できないのかわかりません。はい。少なくとも一部のエンドポイントは、ランダム影響攻撃に対して脆弱です。

関連情報