RATはどのように機能しますか?感染したWebサイトにアクセスすると、ブラウザが自動的にPCにトロイの木馬をダウンロードする可能性があることを理解しています。それは実行され、コンピュータに自動インストールされますか?
JavaScriptがどのようにして悪意のあるコードを実行し、RATを私たち/訪問者のPCに自動的にインストールし、彼らのPCにアクセスできるのかわかりません。
このように機能しますか?
JavaScriptがどのようにして悪意のあるコードを実行し、RATを私たち/訪問者のPCに自動的にインストールし、彼らのPCにアクセスできるのかわかりません。
Javascript自体はできません-javascriptの実装では、通常、ローカルシステムへのアクセスが非常に制限されています。これは、すべてが設計どおりに機能することを前提としています。
ソフトウェアシステムはめったに行いません。ソフトウェアの部分が大きいほど、バグが侵入する可能性が高くなります。これらのバグのいずれかが原因で任意のコードを実行できる場合、それは問題です。
明確にするために、この任意のコードは通常、実際には特別に細工されたプログラムへの入力です。たとえば、次のようなデータを読み取る.image
レンダラー(目的のために作成したファイルタイプ)にバグがあると仮定します。
FF 00 99 00 00 00
不明な理由から、このRGBコードを文字列に格納するなど、おかしなことをすることにしました。文字列は00
で終了し、実際には1文字しかないと想定しています。わからない、多分私はバジリオンカラースクリーンを期待している。これは悪い例かもしれません。遅いです。私と一緒に耐えなさい。とにかく、レンダラーで標準の文字列関数を使用して、その情報をファイルからコピーすると仮定します。さて、有効なファイルを送信すると、すばらしいです。ただし、攻撃者として、次のようなファイルを送信する可能性があります。
FF 00 99 11 11 11 11 11 11 <lots of 11s> 11 11 <some code> 00
どうすればそのファイルを送信できますか?簡単です。 bog標準のimg
タグを使用して、Webページのhtmlにそれを含めます。その後、ブラウザーは画像を開き/レンダリングし(jpg、pngなどの場合と同様)、壊れた危険なコードがそのバッファーオーバーフローを喜んで実行します。 cssを介してこっそりとdisplay: none;
することさえあるかもしれませんが、ブラウザがまだそれを処理している場合に限られます。
この時点で、<some code>
の命令が実行され、必要なことをすべて実行できます。通常、これはある種の実行可能ファイルをダウンロードして実行します。これは、エクスプロイトが小さくて済むだけで十分であり、エクスプロイトが機能していれば、より肉厚なものをダウンロードできるということです。
そこから、「ペイロード」は特権の昇格とバックドアのインストールを開始できます。バックドアができることと、それがどのように機能するかについて、すでに良い答えがあります。
私は、誰もがすべきではない非常に単純な間違いで画像ファイルを作成することを選択しました。ただし、現実の世界には、非常に複雑な結果をもたらすあらゆる種類のメディアがあります。
ここで、2つのシナリオが少し複雑になります。
基本的に、ブラウザー環境は信じられないほど複雑で、信頼できない入力をすべて読み取って正しく処理する必要のある可動部分がたくさんあります。
さて、Javascriptはどこに登場するのでしょうか。まあ、それ自体は脆弱性を含まないかもしれませんが、確かに 多くの有用なクライアント側の情報を列挙 して、送信する脆弱性を決定することができます-単なるブラウザのバージョンよりもはるかに。これは、攻撃者のランディングページの一部である可能性があります。たとえば、エクスプロイトを実行できるかどうかを判断するためです。
今、ロリーのその小さなコメント:
ポイント5は、攻撃者が実行できることを劇的に過小評価しています。
攻撃者が何を実行できるかを大げさに、本当に、非常に冷静に(現在はWordです)。リモートアクセス型トロイの木馬はPCを完全に制御できるため、攻撃者は次のことを行うことができます。
可能性はかなり無限です。最初と同様に、最初のポイントはかなり可能性が高いです。
私はtl; drを持っていますか?
Javascriptは通常、ターゲットシステムで偵察を実行するために使用されます。それ以上に、任意のコード実行を許可するエクスプロイトがブラウザまたはそのプラグインの1つに存在する必要があります。そこから、コンピュータにさらに情報をダウンロードするように説得することができ、そこから、コンピュータはカキです。
RATは通常、クライアントとサーバーの2つのプログラムで構成されます。サーバーは被害者で実行されることを目的としたプログラムであり、クライアントはサーバーを制御するために使用されるプログラムです。
被害者に感染するには、なんとかして実行する必要があります。たとえば、画像から、またはソーシャルエンジニアリングを通じてコードを実行できるようにする既知の脆弱性を悪用している可能性があります。ブラウザが画像からコードを実行するようにすることは可能ですが(難しい)、これらはバッファオーバーフローと呼ばれますが、それらがどのように機能するかを正確に説明することはできません。
サーバーは被害者で実行する必要があり、被害者のコンピュータに自分自身をインストールするには、そのほとんどが管理者特権を持っているか、これらの特権を取得するためにエスカレートする必要があります。攻撃者は、コンピューターが次回実行されたときに起動することを望んでいるため、オペレーティングシステムを読み込むように構成するには、管理者権限が必要です。
攻撃者がブラウザのバッファオーバーフローを悪用していて、ブラウザが管理者として実行されていた場合、攻撃者は今必要とするもののほとんどを手にすることになります。
サーバーはそれ自体をインストールした後、クライアントと通信して注文を受け取り、被害者のコンピューターでそれらを実行する必要があります。従来のラットは接続を待機(リッスン)していましたが、広く普及しているホームNAT=ルーターであるため、攻撃者がネットワーク内の被害者のコンピューターにポートを転送する必要があり、クライアント側で接続を待つか、IRCなどの他のチャネルを使用して注文を送信します。