巧妙な「SynkLoader」マルチツール、ランサムウェア攻撃の前触れか

サイバー脅威の分野に、通常よりも成功率の高いランサムウェア攻撃を予兆させるかもしれない、高度なマルウェアファミリーが出現しました。

これを発見したMarcus Hutchins氏とExpelの同僚たちは、このマルウェアを「SynkLoader」と名付けました。企業システムへひそかに侵入するために、まさに「あらゆるもの(everything but the kitchen sink)」を投入しているためです。メモリ内でのコード実行やスケジュールタスクの実行といった従来型の手法も使用していますが、それに加えて、ソーシャルエンジニアリングを特に説得力のあるものにし、マルウェア解析を極めて困難にする、いくつかの興味深く新規性のある手口を重ねて用いています。

このプログラムは新しく、作成者がどのような意図で使用しようとしているのかは依然として謎に包まれています。しかし、コード内の証拠は、ランサムウェアグループまたは初期アクセスブローカー(IAB)の産物であり、後続のランサムウェア攻撃の下地作りに使われている可能性を示唆しています。

SynkLoaderマルウェアの概要

Synkloaderのコンパイルメタデータによれば、初めて展開されたのはおそらく7月28日です。Hutchins氏がDark Reading誌に語ったところによると、研究者たちが顧客のネットワーク内でこれを最初に発見したのは8月18日でした。

この事案はフィッシングメールから始まりました。タイポスクワッティングなどの安易な手口を使う代わりに、攻撃者は自前のMicrosoft 365テナントを登録し、Microsoftの標準的なonmicrosoft.comドメイン構造を持つメールアドレスを使って接触してきました。このアドレスは被害者のITサービスデスクを名乗り、偽のPowershellシステムメンテナンスツールをインストールするよう求めました。ここでも攻撃者はMicrosoftのブランド名を利用しており、悪意あるインストーラーを公式のMicrosoft Azureストレージページ上でホストしていました。

SynkLoaderのインストーラーには、悪意あるガジェットが連鎖的に組み込まれています。命令を一時メモリ内で実行するPowershellスクリプト、最小構成のPython環境、攻撃者のコマンド&コントロール(C2)ドメインへビーコン通信を行う悪意あるPythonスクリプト、そして偽のMicrosoftランタイム・ダイナミックリンクライブラリ(DLL)が数十個です。

これらはすべて戦略的な選択です。

Hutchins氏は次のように説明します。「歴史的に見て、Pythonで書かれたマルウェアはそれほど多くありません。そのため、他の言語であれば疑いを招きかねないエンドポイント検知・対応(EDR)シグナルの一つを減らせるのです。ただし、彼らがやろうとしていることの多くはPythonネイティブでは実現できません。Pythonはネイティブなwindowsプログラミング言語ではないためです。そこで彼らはネイティブDLLを使う奇妙なコンポーネントを持ち込みます——C言語を使うわけですが——それによってPythonだけでは不可能な挙動を実現しています。この橋渡しの仕組みによって、悪意ある挙動をPythonプロセス内で動かすことが可能になっています」

一方で、Pythonの使用はSynkLoaderの攻撃を見分ける上で有用な警告サインにもなり得ます。

Hutchins氏は次のように説明します。「ユーザーが自らPython環境をインストールする場合、通常は固定の場所か、構築中のプログラミングプロジェクトのサブディレクトリに配置されます。ところがこのマルウェアは、ランダムなPython環境をランダムなフォルダとアプリデータ内に投げ込むだけです。場違いなPython実行ファイルを探すことは、ここではかなり強力な手がかりになります」

寄せ集めのDLLモジュール群

このマルウェアが持つ多数のDLLモジュールの筆頭は「システムプロファイラー」です。実行中のプロセスやサービス、ローカルユーザーの権限、Active Directory(AD)のドメイン名、そのADネットワークに属する他のコンピューターの台数など、さまざまなシステムデータを収集します。Hutchins氏はこれを懸念材料として挙げ、次のように述べています。「被害者ネットワークの規模を測定することは、通常、身代金要求グループだけが関心を持つ行為です。高度標的型攻撃(APT)であれば、標的とする組織についてすでに把握しているはずだからです。一方で、ネットワークに侵入した後に『このネットワークは実際どれくらいの規模なのか』を調べようとするのは、日和見的なランサムウェア攻撃者がよくやることです」

システムプロファイラーのほかには、永続化モジュールもあり、Windowsタスクを繰り返し実行するよう設定します。ただし、コマンドラインからタスクスケジューラーを呼び出すという従来型の方法ではなく、Windowsコンポーネントオブジェクトモジュール(COM)インターフェースに直接働きかけます。この狙いは、ほぼ間違いなく、EDRプログラムにフラグを立てられるような挙動を避けるためです。

SynkLoaderにはリモートアクセス型トロイの木馬(RAT)として機能するモジュールと、被害者のデスクトップをストリーミングしてマウスとキーボードを乗っ取れるようにする別のモジュールがあります。さらに別のモジュールはリバースプロキシを作成し、被害者コンピューターのIPアドレスを利用してインターネットトラフィックを経由させ、通常は被害組織のローカルエリアネットワーク(LAN)経由でしかアクセスできない内部サービスに到達できるようにします。

しかし、このマルウェアの中で最も予想外の代物は、おそらく「PhishLocker」でしょう。

画面ロッカーが再び流行の兆し?

マルウェアがまだ「かわいらしかった」時代、攻撃者がよく行っていた手口の一つに、被害者の画面をロックするというものがありました。手口は単純で、簡単なJavaScriptを使ってWebブラウザを全画面モードにし、何らかの認証情報や支払いを入力しない限り、被害者がウィンドウから抜け出せないようにするというものでした。

Hutchins氏は説明します。「それはランサムウェアの最も初期の形態の一つで、このJavaScriptによる迷惑行為を止めさせるために人々に金を払わせるというものでした」。同じ手口はフィッシングにも使われました。「ブラウザウィンドウを全画面表示にし、HTMLを使ってOutlookクライアントのようなものを作り上げ、ユーザーがログインした際にパスワードを盗み取ることもできました。標準的なフィッシング攻撃と非常によく似ていますが、フィッシングサイトの代わりに、偽のアプリケーションを模倣することでアプリケーションのパスワードを盗み取る点が異なります」

この迷惑行為はあまりに一般的だったため、各組織はこれを可能にしていたブラウザ機能を排除しました。しかしSynkLoaderは、画面ロックを復活させる方法を編み出しました。ブラウザの代わりに、DLLを使用するのです。このDLLは単に、Windowsのロック画面を模倣するよう設計された精巧なグラフィカルユーザーインターフェース(GUI)にすぎません。以下の並べて比較した画像に示すように、このロック画面は本物とほとんど見分けがつきません。

Image

出典:Expel

かつての画面ロッカーと同様、「PhishLocker」DLLは、被害者がWindowsアカウントのパスワードを入力するまで画面から抜け出せないようにします(幸いなことに、現時点でこのマルウェアには、入力されたパスワードが正しいかどうかを確認する仕組みはありません)。

Hutchins氏はこう考えています。「ユーザーのシステムパスワードを入手する上で、かなり効果的な手口だと思われます。というのも、かつてフィッシングに使われていた頃とは違い、今ではシングルサインオン(SSO)ベースのネットワークが数多く存在するからです。そこでは、コンピューターへのログインパスワードが、企業のあらゆる資産へのサインインに使うパスワードと同一であることが多いのです。そのため、横方向に移動しようとする脅威アクターにとって、必要な認証情報を入手する非常に強力な手段となります」

翻訳元: https://www.darkreading.com/threat-intelligence/tricky-synkloader-multitool-ransomware

本記事は darkreading.com の記事を翻訳・要約したものです。