タイポスクワッティングサイトからダウンロードされたトロイの木馬化されたSlackは、攻撃者に、ほとんどのユーザーが気づくことさえできないようなもの――つまり、自分のマシン上で動作している隠しデスクトップ――を提供している。
このインストーラーは正規のものに見え、実際にSlackが正常に起動します。しかし、バックグラウンドでは目に見えないセッションが作成され、攻撃者は画面上に何も表示されることなく、ブラウジングを行ったり、アカウントにアクセスしたり、システムを操作したりすることが可能になります。明確にしておきますが、この攻撃キャンペーンはSlack社とは一切関係がなく、弊社は調査結果を同社に報告済みです。
Slackは、150カ国以上、20万を超える有料組織(フォーチュン100企業のうち77社を含む)で、毎日数千万人のアクティブユーザーを抱えています。したがって、トロイの木馬化されたインストーラーは、それを実行する個人に対する脅威であるだけでなく、企業ネットワーク、SSO連携アカウント、および社内コミュニケーションに対しても脅威となります。
誰もがそのロゴを信頼しています

Slackは、人々が何も考えずにインストールするアプリの1つです。 Chrome そしてZoomは、従業員が新しい仕事の初日にダウンロードするソフトウェアの代表格であり、多くの場合、ブックマークしたリンクではなく、簡単なGoogle検索からダウンロードされる。だからこそ、Zoomは非常に魅力的な存在なのだ。ブランドはすぐに認識でき、インストーラーは何百万人もの人が既に実行したことがあり、セットアップの様子を見るという体験全体がごく普通のものに感じられる。
このキャンペーンの背後にいる攻撃者は、ドメインを登録した slacks[.]pro (末尾の「s」と、.comではなく.proというトップレベルドメインに注意してください)。このサイトのソースコードには、ページ上のすべてのクリックを傍受し、別のドメインでホストされているダウンロードページへブラウザをリダイレクトするJavaScriptのクリックハンドラが含まれており、 debtclean-ua[.]sbs。除外されるのはクッキー同意ボタンへのクリックのみであり、それ以外はすべてダウンロードをトリガーします。これはブラウザを密かに悪用する真の「ドライブバイ」攻撃ではありませんが、それに近いものです。注意散漫なユーザーがたった1回クリックするだけで発生するからです。
被害者のデスクトップに表示されるのは、次のような名前のファイルです slack-4-49-81.exe…という名前で、Slackの実際のバージョン番号と非常に似ているため、ほとんどの人が迷うことなく受け入れるだろう。

これは決して珍しい手口ではありません。2024年8月、私たちは、不正なGoogle広告を利用してSlackの検索を悪意のあるダウンロードページにリダイレクトする、ほぼ同様のキャンペーンを報告しました。これらの攻撃では、情報窃取機能を備えたリモートアクセス型トロイの木馬「SecTopRAT」が配布されていました。
こうした手口が繰り返し使われているのは、その手法が効果的だからです。攻撃者は信頼できるブランド名を利用し、一見本物らしいドメインを登録し、仕事のために環境を整えようとしている人々の多くが、URLを細かく確認しないという点を狙っているのです。
実際のインストールと隠しローダーが並行して動作している
このサンプルが巧妙な点は、単にSlackをインストールしているふりをしているだけではないことです。実際には、正常に動作するアプリケーションをインストールすると同時に、バックグラウンドでマルウェアのローダーを実行しています。被害者は正規の起動画面を目にし、タスクバーにSlackが表示されるのを見て、何かがおかしいと疑う理由が全くありません。
手を出してはいけないものを手に入れてしまった?
打ち上げから数秒後、 slack-4-49-81.exe ユーザーディレクトリに2つの一時ファイルを書き込みます %TEMP% フォルダ。最初の、 slack.tmpは、おとりとなる自己解凍型のSquirrelインストーラーパッケージです。Squirrelは、本物のSlack、Discord、Microsoftなど、数十のElectronアプリに組み込まれている正当なオープンソースのアップデートフレームワークです。 Teamsドロッパーには、Squirrel の正規版が同梱されています。 Update.exe 「」という名前のNuGetパッケージとともに slack-4.49.81-full.nupkg、ブランドロゴ入りのスプラッシュ画像(background.gif)、およびリリースマニフェスト。 slack.tmp 実行されると、これらすべてを展開して %LOCALAPPDATA%\SquirrelTemp、をリリース Update.exe 標準仕様に --install フラグを設定すると、それ以降は、ユーザーがアプリを slack.comSlackが開き、見た目も問題なく、正常に動作します。
2つ目のファイル、 svc.tmp、数秒後に到着します。これがローダーです。150MBのインストーラー内に埋め込まれた、約519KBの独立した実行ファイルで、 %TEMP% おとりの横に並んでいます。署名されておらず、ポータブル実行可能ファイル(PE)メタデータで次のように識別されます。 Windows Microsoft Corporation のコンポーネント更新サービスであり、Squirrel フレームワークや、その隣でインストールされている Slack アプリケーションとは一切関係ありません。ほぼすぐに、小さなファイルが作成されます。 loader_log.txt 一時フォルダ内で、ローダー段階が開始されたことを確認し、以下のコマンド&コントロール(C2)サーバーへの接続を試みます。 94.232.46.16 TCPポート上で 8081.
その間、Squirrelのインストールが完了し、再起動後も設定が維持されるよう、レジストリの「Run」キーに値が書き込まれます:値の名前 com.squirrel.slack.slack ~の下 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. これは、正規のSlackインストール時に作成されるキー名とパスそのものです。IT管理者が自動起動エントリをスクロールして確認しても、一見すると通常のSlackインストールのように見えるため、そのままスルーしてしまうでしょう。
ローダーの内部:静的解析が明らかにすること
ローダーがC2チャネルを取得した後に何をするように設計されているかを理解するために、バイナリを直接調べました。そのPEバージョン情報は、 Windows コンポーネント更新サービス(内部名) WinSvcUpd.exe)、マイクロソフト社発行、バージョン1.4.2.0。これらはすべて事実ではありません。これは、プロセス一覧やタスクマネージャーでざっと見ただけでは見破られないように仕組まれた偽装工作です。
バイナリは64ビットですWindows MSVCでコンパイルされた実行ファイル。7つのPEセクションには、などのランダムな名前が付けられています。7ssik, .d1npl, .m6zef通常のコンパイラが生成する標準的な.textや.rdataではなく、カスタムビルダーや暗号化ツールの使用に合わせて、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく、.textや.rdataではなく KERNEL32.dll それ以外は何もありません。ネットワーク、レジストリへのアクセス、プロセス操作のための静的インポートは存在しません。その代わりに、実行時に以下の方法を使用してそれらのAPIを解決します。 GetProcAddress そして LoadLibraryExW、インポートテーブル解析からバイナリの真の機能を隠蔽する標準的な手法である。

このサンプルが通常のローダーとは一線を画す点は、内部で非常に多くの情報を開示していることです。バイナリには、ラベル付けされたサブシステムごとに整理された、そのアーキテクチャ全体を明らかにするデバッグ文字列が散りばめられています。これらの文字列は、被害者が目にすることを想定したものではありません。これらはビルドに残された開発者向けの診断情報であり、このツールがどのような目的で設計されたかを正確に示しています。
接頭辞付きの文字列 [P1] 第1フェーズについて説明する:ローダーはC2からペイロードをダウンロードし([P1] Downloading payload...). ダウンロード自体は、実行時に解決されるWinHTTPを使用しています。デバッグ文字列 [HTTP] Connect, [HTTP] Send、そして [HTTP] Recv リクエストの全プロセスを追跡し、一方で [HTTP] winhttp unavailable ライブラリをロードできない場合のフォールバックパスを明らかにします。ペイロードは共有メモリに保存されます。 Windows ファイルマッピング API ([P1] Payload in shared memory)、そして自身の2つ目のコピーを「フェーズ2」として起動し([P1] Phase-2 launched). フェーズ2は共有メモリからペイロードを読み込みます([P2] Payload copied from shared memory) を復号します。文字列 [CRYPT] Decrypting... そして [CRYPT] MZ OK ペイロードが暗号化されて到着し、検証されることを確認します。 Windows 復号後に実行可能になります。復号されたDLLは、パターンに一致するファイル名でディスクに書き込まれます。 wmiprvse_*.tmp正規のソフトウェアによって作成された一時ファイルに溶け込むように設計されていますWindows WMIプロバイダーホスト。
このローダーは、復号化されたDLLから特定のエクスポート関数を呼び出すように設計されています: HvncRun. 文字列 [LOAD] Calling HvncRun... そして --- HvncClient log --- このペイロードは、Hidden Virtual Network Computing(HVNC)ツールであるHVNCクライアントであると特定された。HVNCは、従来のリモートアクセストロイの木馬とは決定的な点で異なる。それは、被害者のマシン上に完全に独立した、目に見えないデスクトップセッションを作成する点である。攻撃者は、ユーザーの画面には何も表示されないまま、ブラウザを開いたり、銀行のポータルサイトにアクセスしたり、認証済みのセッションを操作したりすることができる。これは主に金融詐欺活動に関連するツールである。
HVNCのペイロードを密かに実行するため、ローダーにはDLLを explorer.exe 「セクションベースのインジェクション」と呼ばれる手法を用いて。文字列 [INJ] === Section-based injection into explorer.exe === そして [INJ] Remote thread created in explorer.exe! ローダーが以下の方法で共有メモリセクションを作成する一連の処理を説明してください NtCreateSectionそれを自身のプロセスとWindows シェルは、シェルコードとDLLパスを共有領域に書き込み、リモートスレッドを開始します。 NtCreateThreadExこれは、従来のプロセスインジェクションよりも検出が難しい亜種です WriteProcessMemory このアプローチは、ターゲットのメモリ領域に直接書き込むことを回避できるためです。NT API が利用できない場合、ローダーはDLLをディスクに書き出して、そこから直接読み込む方式に切り替わります([INJ] Required NT APIs not available, falling back to DropAndLoad).

このバイナリには、分析を妨げるための防御機能が組み込まれています。文字列 [AA] Debugger/sandbox detected これは、観測を確認し、それに応じて動作を変更することを示しています。それを行うための手段を備えています: IsDebuggerPresent そして GetTickCount インポートテーブルに表示されます。これらはデバッガーの検出やタイミングを利用したサンドボックス回避によく使用されますが、いずれもMSVCでコンパイルされたバイナリでは標準的なCRTインポートでもあります。デバッグ文字列は、これらのAPIが意図的に使用されていることを示すより明確な兆候です。
これを実行した人にとって、これはどういう意味を持つのか
もしSlackを以下のサイト以外からダウンロードした場合は slack.com 最近、特に末尾が .pro、あるいはページ上のどこかをクリックしただけで自動的にファイルがダウンロードされるようなサイトは、警戒すべきです。
ローダーは、Slackのウィンドウの読み込みが完了する前に、C2サーバーへの接続を試みます。これは、(接続が確立された場合)その接続を利用してHVNCペイロードをダウンロード・復号化し、それを explorer.exe 内部から操作するWindows シェル自体。Squirrel のインストールでは、正規の Slack インストールと同じ実行キーが書き込まれるため、自動起動エントリはクリーンなマシンと区別がつきません。一方、ローダーは一度だけ成功すれば十分です。HVNC ペイロードをダウンロードして、それを注入すれば explorer.exe 最初の実行時、攻撃者は次の再起動まで持続する足場を確保します。ペイロードの持続性がさらに保たれるかどうかは、C2オペレーターの次の動き次第です。
安全に過ごすには
このキャンペーンは、いかにして普通に見せるためにエンジニアリングの努力が費やされているかを示す事例研究です。1つのコードパスは、正規のフレームワークを通じて実際のソフトウェアをインストールします。もう1つのコードパスは、動的なAPI解決、暗号化されたペイロード配信、プロセスへの注入を備えたマルチフェーズローダーを実行します。 Windows シェルや解析対策など、すべてがマイクロソフトのサービスを装ったバイナリに詰め込まれている。おとりとなる部分は内部の活動を隠蔽し、ローダーは攻撃者に足がかりを与える。
普段使っているソフトウェアの正規ダウンロードページをブックマークしておきましょう。「Slack ダウンロード」と検索して、一番上に表示された「これだ」と思えるリンクをクリックしてしまうような人は、まさにこのキャンペーンが狙っているターゲットそのものです。
- Slackは公式サイトからのみダウンロードしてください。slack.comに直接アクセスするか、信頼できるブックマークを使用してください。広告や見慣れないリンクはクリックしないでください。
- URLを注意深く確認してください。余分な文字や、普段見慣れないドメイン(例えば、「.com」の代わりに「.pro」など)といった、わずかな違いがないか確認しましょう。
- クリックするだけでダウンロードが開始されるサイトには注意してください。ページ上のどこかをクリックしただけでファイルのダウンロードが始まる場合は、そのページを閉じてください。
- インストーラーを実行する前に、その内容を確認してください。ファイルを右クリックしてプロパティを確認し、有効なデジタル署名があるか確認してください。
- リアルタイムのセキュリティ保護機能を活用しましょう。セキュリティツールは、既知の悪意のあるドメインをブロックし、インストール中の不審な動作を検知することができます。
- ソフトウェアのインストール後は、異常な動作がないか注意してください。予期せぬネットワーク通信、動作の遅延、または正体不明のプロセスが確認された場合は、原因を調べてみる価値があります。
- 何かおかしいと感じたら、すぐに対処してください。インターネット接続を切断し、フルスキャンを実行した後、安全な端末からパスワードを変更してください。特にメール、銀行、仕事のアカウントについては注意が必要です。
影響を受けた可能性がある場合の対応方法
- ネットワークから直ちに切断し、アクティブなC2セッションをすべて遮断してください。
- Malwarebytesでフルスキャンを実行してください。
- この端末からアクセスしたアカウントのパスワードをすべて変更してください。変更作業は、別の安全な端末から行ってください。特に、メール、オンラインバンキング、およびSSOアカウントを優先して変更してください。
- これが業務用の端末である場合は、直ちにIT部門またはセキュリティチームに連絡してください。
妥協の指標(IOCs)
ファイルハッシュ(SHA-256)
cfd2e466ea5ac50f9d9267f3535a68a23e4ff62e3fe3e20a30ec52024553c564 (slack-4-49-81.exe)
08fd0a82cdeb0a963b7416cf57446564dfed5de5c6f66dee94b36d28bfefec9d (svc.tmp)
流通
slacks[.]pro
debtclean-ua[.]sbs
ネットワーク指標
94.232.46.16:8081





