ハッカーがPuTTYユーザーを標的に、SEOポイズニングとEthereum悪用マルウェアを使用

「PuTTY」を検索すると、偽のダウンロードサイトに誘導されるおそれがあります。10月12日に報告された攻撃キャンペーンでは、攻撃者が検索エンジン最適化(SEO)ポイズニングを使ってユーザーを偽のPuTTYサイトへ誘導し、トロイの木馬化したWindows用インストーラーを配布していました。

UpgradeYour OS

このキャンペーンは、Googleで「PuTTY」や「PuTTY download」を検索するユーザーを狙っています。検索結果の上位に表示される偽ページ(puty.inkで確認)は、タイトルをPuTTY公式のダウンロードページに似せています。

ダウンロードリンクをクリックすると、サードパーティのクラウドストレージからPutty-x86_64.msiというファイルが配布されます。

このインストーラーを実行すると、ユーザーのローカルアプリケーションデータ用ディレクトリに4つのファイルが配置されます。1つはSectigoの署名が付いた未改変のPuTTY 0.85で、残りの3つが悪意あるローダーチェーンを構成します。

本物のPuTTYの画面が開くため、被害者は実際に使えるSSHクライアントを手にし、インストールが成功したと信じ込みます。その裏で、インストーラーはマルウェアをバックグラウンドで実行します。

最初の段階はバッチスクリプトです。コンソールを非表示にしてNode.jsの有無を確認し、見つからなければ正規のNode.js 18.20.5ランタイムをnodejs.orgからダウンロードします。

続いて、短いJScriptのトランポリンが、難読化されたJavaScriptペイロードをこのランタイム経由で起動します。

この「独自インタープリター持ち込み」型の手口は、正規ソフトウェアに悪意あるコードを実行させるため、不審な実行ファイルだけに頼った検知を難しくします。

マルウェアは固定のサーバーアドレスだけに頼らず、JSON-RPCのeth_callリクエストでEthereumメインネットのスマートコントラクトに問い合わせます。

7つの公開RPCエンドポイントに接続し、最も多く返されたURLを採用します。ローダーは有効なHTTP、HTTPS、WebSocketのURLかどうかを確認し、結果を5分ごとに更新します。ハードコードされたフォールバック先も用意されています。

ブロックチェーンをC2のアドレス帳として使うこの手法は、EtherHidingと呼ばれます。攻撃者は、被害者のコンピューターに既に入り込んだマルウェアを差し替えることなく、サーバーアドレスを変更できます。

ProtectDevices

ただし、この手法でマルウェアやその通信が見えなくなるわけではありません。エンドポイントやネットワークリクエスト、コントラクトとのやり取りは、調査の手がかりとして残る可能性があります。

とはいえ、従来型のハードコードされたC2ドメインだけに注目していると、防御側は攻撃を止めにくくなります。

Unit42の研究者によると、このインストーラーは署名付きの本物のPuTTYをおとりとして起動しながら、Node.jsベースのマルウェアローダーを裏でひそかにセットアップします。

Ethereumを悪用するマルウェア

EtherHidingは、スマートコントラクトを通じて悪意あるインフラやコードを取得する手法として、これまでにも報告されています。

接続が確立すると、ローダーは500ミリ秒ごとにC2サーバーへポーリングします。リクエストは、画像やスタイルシートなどの静的ファイルの取得を装っています。

Palo Alto Networksの研究者は、ローダーがEthereumのスマートコントラクトを通じてコマンド&コントロール(C2)のアドレスを取得し、その後、攻撃者が感染システムに新しいJavaScript機能を送り込めるようになると特定しています。

10バイトを超えるレスポンスは、Node.jsの機能にアクセスできる状態でJavaScriptとして実行されます。これにより攻撃者は柔軟なリモート実行用の経路を得ます。最初のペイロードを再インストールしなくても、追加機能を送り込めます。

確認されたコマンドでは、Windowsのバージョン、ロケール、グラフィックスハードウェア、ウイルス対策製品、ドメイン参加状況、SMBセッションなどのシステム情報が収集されていました。

マルウェアはブラウザープロファイルやセッションCookieも外部へ送信しており、転送量は数百メガバイトに達したと報告されています。

ProtectDevices

攻撃者はWebSocketパッケージをインストールし、デスクトップのスクリーンショットを毎秒約5枚撮影するPowerShellのループを実行しました。これにより、被害者の操作をほぼリアルタイムで監視できる状態になっていました。

報告された感染経路からは、攻撃の運用者が誰なのか、何台のシステムが侵害されたのかは判明していません。

それでも、確認された機能は深刻なリスクをもたらします。特に、インストール直後にPuTTYで社内サーバーにアクセスする可能性のある技術系ユーザーにとっては危険です。

PuTTYは、検索広告や見慣れないミラーサイトではなく、公式プロジェクトページからダウンロードしてください。あわせて、インストーラーの署名と入手元も確認することが重要です。

PuTTY公式のリリースページには、バージョン0.85と署名付きの64ビット版インストーラーが掲載されています。組織は、ユーザープロファイルのディレクトリ内に見慣れないNode.jsランタイムがないか、msiexec.exeからcmd.exeへの不審な動作がないか、非表示のwscript.exe起動がないかを調査してください。

不審なインストーラーを実行した疑いがある場合は、該当ホストを隔離し、ブラウザーセッションの露出状況を調査してください。そのシステムからアクセスできた可能性のある認証情報やトークンも、ローテーションする必要があります。

MTTRを21分短縮し、被害が出る前にサイバー脅威を阻止。ANYRUNのサンドボックスをSOCに統合。

翻訳元: https://gbhackers.com/ethereum-powered-malware/

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