SMB の悪用: WannaCry による「EternalBlue」の使用

サーバー メッセージ ブロック (SMB) は、ファイル共有、プリンター共有、リモート Windows サービスへのアクセスなど、さまざまな目的で Windows マシンによって使用されるトランスポート プロトコルです。 SMB は TCP ポート 139 および 445 で動作します。2017 年 4 月、Shadow Brokers は、 Microsoft セキュリティ情報 MS17-010の一部である「EternalBlue」という SMB の脆弱性を公開しました。

最近のWannaCry ランサムウェアは、この脆弱性を利用して Windows マシンを侵害し、マルウェアをロードして、ネットワーク内の他のマシンに伝播します。この攻撃は、SMB バージョン 1 と TCP ポート 445 を使用して伝播します。

環境

SMB は、SMB トランザクションと呼ばれるものをサポートします。 SMB トランザクションを使用すると、SMB クライアントとサーバー間でアトミックな読み取りと書き込みを実行できます。メッセージ要求が SMB MaxBufferSize より大きい場合、残りのメッセージはセカンダリ Trans2 要求として送信されます。この脆弱性は srv2.sys カーネル ドライバーに影響を与え、不正な形式のセカンダリ Trans2 リクエストによって引き起こされます。

働く

プロトコル ネゴシエートの要求/応答とセッション セットアップの要求/応答で構成される最初の SMB ハンドシェイクの後、ランサムウェアはリモート マシンの IPC$ 共有に接続します。この攻撃に関連するもう 1 つの側面は、図 1 に示すように、ハードコードされたローカル IP に接続するようにマルウェアが構成されていることです。

Connecting to the IPC$ share
図 1: IPC$ 共有への接続

次に、図 2 に示すように、巨大なペイロード サイズであり、一連の NOP で構成される最初の NT トランス要求を送信します。その後、攻撃者は特別に細工されたパケットを使用してそれを悪用できます。

NT Trans 経由の悪用に備えてサーバーを準備中
図 2: NT Trans 経由の悪用に備えてサーバーを準備する

SMB 言語で言えば、大きな NT Trans 要求は、大きな要求サイズに対応するために複数のセカンダリ Trans2 要求につながります。図 3 に示すように、これらのセカンダリ Trans2 リクエストは不正な形式です。これらは脆弱性のトリガー ポイントとして機能し、リクエスト データ部分にはシェルコードと暗号化されたペイロードが含まれており、リモート マシン上のマルウェアのランチャーとなります。

不正な Trans2 によるオーバーフロー
図 3: 不正な形式の Trans2 によるオーバーフロー

悪用後の完全なサイクル

脆弱性のトリガーに成功すると、マルウェアのステージャーを含む暗号化されたペイロードがリモート マシンにロードされます。リモート マシンに配信されたペイロードは、lsass プロセス内からサービス「mssecsvc」を起動します。このサービスは、ローカル ネットワークとインターネットをスキャンして、アクセス可能で SMB ポートが公開されているマシンを探します。その後、このサービスは前述の脆弱性を利用してリモート マシンにアクセスし、マルウェア ペイロードを配信して、完全なサイクルを完了します。これらのアクティビティはすべて非常に迅速に発生し、攻撃は通常の LAN 内のすべてのマシンに数分で侵入します。

ランサムウェアには 2 つの部分が含まれています。メインの実行可能ファイルには、ネットワークをスキャンし、アクセス可能なマシンで SMB の脆弱性をトリガーするためのコードが含まれています。この実行可能ファイルのリソース セクション内には、ランサムウェア コードを含む「R」という名前のセクションに別の実行可能ファイルが埋め込まれています。ランサムウェア コードを含む実行可能ファイルには、「XIA」という名前のリソース セクションに暗号化された ZIP ファイルが埋め込まれています。暗号化された ZIP ファイルには、暗号化されたキー、イメージ ファイル、Tor クライアント、およびその他の 2 つの実行可能ファイル (taskdl.exe と tasse.exe) が含まれています。 ZIP ファイルの内容は、マルウェア コードに埋め込まれたパスワード WNcry@2ol7 を使用して抽出できます。

緩和

NT Trans、Trans2 の要求および応答パケットには、アナリストや研究者が有用なネットワーク レベルの検出を作成するために使用できる異常とパターンがあります。展開できる署名の例は、ここここにあります。

参照: https://www.mandiant.com/resources/blog/smb-exploited-wannacry-use-of-eternalblue

コメント

タイトルとURLをコピーしました