MicrosoftPowerShellとマルウェアの新しいフロンティア

(へ ダビデ・マイオルカ)
16/06/21

ほとんどのMicrosoftWindowsユーザー(特にシステム管理者)は、少なくともXNUMX回は次のことを聞いたことがあるでしょう。 Windows PowerShellの、コマンドインタープリター(より適切に定義された「シェル」、Linux上のBashなどのインタープリターに非常に似ています)。これにより、オペレーティングシステムのさまざまな機能を「駆動」することができます。 これらの機能には、たとえば、ファイルをコピーおよび移動したり、アプリケーションをリモートでダウンロードしたり、現在実行中のサービスのリストを確認したりする機能が含まれます。 コマンド PowerShellの 彼らはまた呼ばれます コマンドレット、およびは、通常XNUMXつのコマンドで囲まれた関数の組み合わせを表します。 たとえば、コマンドレット XML に変換 オブジェクトのXML表現を作成します。

インサイダーには確かにあまり知られていないのは、 PowerShellの 悪意のある機能を実行するためによく使用されます。 考え方は単純です。シェルが提供する機能を使用すると、高度なシステムコマンドを実行できます。これは、不適切に使用するとシステム自体に害を及ぼす可能性があります(たとえば、追加のファイルをメモリにロードしたり、ネットワークから悪意のあるファイルをダウンロードしたりするなど)。 )。 これは、ターゲットマシンにすでに存在する(通常は古くなっている)プログラムの脆弱性を悪用して悪意のあるコードを実行する従来の脆弱性悪用手法に比べて、Windowsシステムを攻撃する際の大きな利点です。 使って PowerShellのしたがって、アプリケーション固有またはオペレーティングシステム固有の脆弱性を悪用する必要はありませんが、攻撃は直接実行できます。

PowerShellの 多くの場合、WordおよびExcelファイルで表される感染ベクトルを使用して間接的に使用されます。 実際、これらのファイルには、通常はドキュメントやスプレッドシートの作成を容易にするマクロまたは自動手順が含まれています(たとえば、特定のセルに自動的に入力したり、複数のセルで特定の計算を実行したりします)。 また、この場合、これらのマクロは完全に「良性」のコンテキストで使用されることがよくありますが、コードを生成する関数を実装できます。 PowerShellの。 また、 PowerShellの 攻撃者がその全機能を使用できるようにするリバースシェルを作成することにより、直接使用することもできます。

コードのもうXNUMXつの機能 PowerShellの それは、自分の行動を明らかにしないような方法で、アナリストの目から「隠す」能力です。 この機能は、難読化の名前を取ります。 したがって、セマンティクスを変更せずに、非常に単純なコードを取得して非常に複雑にすることができます(つまり、プログラムは難読化されていないバージョンとまったく同じように動作します)。

マルウェアに対抗して分析するには PowerShellの 曇った科学研究は、近年、大きな進歩を遂げました。 特に、カリアリ大学の1,2つの研究[XNUMX]は、これらの攻撃の難読化を解除できる効率的な手法を開発しました。 特に、と呼ばれるオープンソースツール パワーデコード、コードを取得できる PowerShellの そのぼやけた変種からのオリジナル。 PowerDecodeは無料でダウンロードできます[3]。

マルウェア PowerShellの したがって、特にOfficeドキュメントからロードする場合、Windowsシステムにとって重要なリスクとなります。 ただし、このカテゴリの攻撃を分析および検出できるようにするために、ますます効率的なソリューションを提案するための研究が活発に行われています。

リファレンス

[1]ウガルテ神父、D。マヨルカ、F。カラ、G。ジャシント。 PowerDrive:PowerShellマルウェアの正確な難読化解除と分析、侵入の検出とマルウェアと脆弱性の評価に関する第16回会議(DIMVA)。 スプリンガー、ヨーテボリ、スウェーデン、pp。 240-259、2019。

[2] GMマランドロネ、G。ビルディス、G。ジャシント、D。マヨルカ。 PowerDecode:マルウェア分析専用のPowerShellスクリプトデコーダー。 サイバーセキュリティに関する第5回イタリア会議(ITASEC)、2021年。

[3] PowerDecode。 https://github.com/Malandrone/PowerDecode