- Talos はこのほど、人気ソフトウェアのインストーラに見せかけてマルウェアを配布し、標的のシステムで実行させるという攻撃を確認しました。
- 2018 年後半に始まった一連のマルウェア配布攻撃もその一環です。主な標的はカナダで、他にも米国、オーストラリア、一部の EU 諸国が狙われています。
- 今回の攻撃では、これまで文書化されていなかった 2 種類のマルウェアファミリ(バックドアと悪意のある Google Chrome 拡張機能)が一貫して確認されており、同時に配布されています。
- 攻撃を実行しているのは「Magnat」という正体不明の攻撃者で、新たに登場した 2 種類のマルウェアを作成したのもおそらく同じ攻撃者です。マルウェアの開発と改良も絶えず続けています。
- 盗んだログイン情報の販売、不正な取引、システムへのリモート デスクトップ アクセスによって金銭的利益を得ることが狙いだと考えられます。
はじめに
Talos はこのほど、人気ソフトウェアのインストーラに見せかけたマルウェアを標的のシステムで実行させるというマルウェア配布攻撃を確認しました。インストールしたいソフトウェアを探している人が標的にされているとします。攻撃者はどうやって標的に接触するでしょうか。おそらく、オンライン広告を利用するのではないかと思われます。オンライン広告と偽のソフトウェアインストーラという組み合わせは実に巧妙です。広告に惹かれた標的にインストーラを実行させるのは何ら難しいことではありません。
偽のインストーラを実行すると、標的のシステムで以下の 3 種類のマルウェアが実行されます。
- パスワードスティーラー。システムで入手可能なすべてのログイン情報を収集します。
- バックドア。SSH トンネル経由で RDP ポートを転送すれば、ファイアウォールの内側にあるシステムにもアクセスできるようになります。これを悪用して、Microsoft のリモートデスクトップ接続セッションを密かに実行し、リモートアクセスをセットアップします。
- 悪意のあるブラウザ拡張機能。キーロギングやスクリーンショットの取得などの情報窃取機能を備えています。
ずいぶん前から、パスワードスティーラーは個人や企業にリスクをもたらしてきました。アンダーグラウンド フォーラムでは、流出したアカウント情報がよく販売されています。盗まれたアカウント情報の使用とパスワードの使い回しによって、侵害がさらに広がる可能性があります。Chrome の拡張機能により、このリスクがさらに高まっています。ログイン情報がシステムに保存されていなくても、Web で使用していれば盗まれる恐れがあります。また、SSH トンネル経由で RDP を外部のサーバーに転送すればファイアウォールの制御をバイパスできるため、リモートから確実にシステムにログインできます。
攻撃の概要
ダウンロードしたいソフトウェアを標的が探すところから攻撃は始まります。攻撃者は広告キャンペーンを用意し、ソフトウェアのインストーラのダウンロード先となる Web ページへのリンクを張ったと考えられます。インストーラのファイル名は、viber-25164.exe、wechat-35355.exe、build_9.716-6032.exe、setup_164335.exe、nox_setup_55606.exe、battlefieldsetup_76522.exe などさまざまです。
インストーラを実行したときにインストールされるのは本物のソフトウェアではありません。悪意のあるローダーがシステムで実行されてしまいます。
インストーラ(ローダー)は 7-Zip の SFX アーカイブか Nullsoft インストーラで、正規の AutoIt インタープリタと難読化された AutoIt スクリプト 3 つを復号してドロップします。これらのスクリプトによって最終ペイロードがメモリ内で復号され、別のプロセスのメモリに挿入されます。
最終ペイロードは、ほとんどの場合、以下の 3 種類のマルウェアです。
- ごく一般的なパスワードスティーラー。当初は Azorult で、現在は Redline。どちらもシステムで見つけたログイン情報を残らず窃取します。共に広く知られているパスワードスティーラーであり、文書化もされています。今回の記事でも詳しく分析します。
- バックドア(バックドアインストーラ)。Talos では「MagnatBackdoor」と呼んでいます。RDP で密かにアクセスできるようにシステムを設定し、新規ユーザーを追加して、C2 を定期的に ping するようにタスクをスケジュールします。また指示があれば、アウトバウンド SSH トンネルを作成して RDP サービスを転送します。
- Chrome 拡張機能のインストーラ。Talos では「MagnatExtension」と呼んでいます。Web ブラウザからデータを窃取するための機能がパッケージされています。具体的には、フォームグラバー、キーロガー、スクリーンショット取得ツール、Cookie スティーラー、任意の JavaScript エグゼキュータなどです。
攻撃のタイムライン
攻撃者の活動が理解しやすいように、分析サンプルのビルド日とシスコのテレメトリに基づいてタイムラインを作成しました。
ここでは MagnatBackdoor に焦点を当てています。ご覧のように、2019 年末から 2020 年初めにかけて配布されています。それ以降、目立った動きはほとんどなく、2021 年 4 月になって活動を再開したようです。
テレメトリのデータの推移を見ると、OSINT(Open Source Intelligence:オープンソース インテリジェンス)で発見したサンプルのビルド日と一致しています。2020 年 2 月から 10 月までにビルドされたサンプルはほとんど確認されていません。一方、2020 年終盤から 2021 年初めにかけてはサンプルが見つかっていますが、テレメトリにはまったく現れていません。理由はいくつか考えられますが、一番可能性が高いのは攻撃のテストや小規模な攻撃で使用されたサンプルだったということです。
他にも興味深い情報を見つけました。
- Talos が発見した最も古い MagnatExtension のサンプルは、2018 年 8 月のものです。それから 2019 年末にかけて、MagnatExtension と Azorult スティーラーを配布したサンプルがいくつか確認されています。
- 最も古い MagnatBackdoor のサンプルは、2019 年 10 月のものです。以降、見つかっているすべてのサンプルには MagnatBackdoor、MagnatExtension、Azorult の 3 つすべてが含まれています。
- 2020 年 2 月、活動が途切れる直前に Azorult は配布されなくなりました。Chrome 80 がリリースされたことが原因だと思われます。Chrome 80 は複数のマルウェアファミリを打ち破ったことで知られています。
- 2 月にビルドされたサンプルには Vidar スティーラーや Gozi が含まれていますが、見つかったサンプル数は少なく、Azorult に代わるマルウェアをテストしていたと考えられます。
- 2020 年 10 月、攻撃者は Redline スティーラーのテストを開始しました。Redline を使用するサンプルをいくつか作成していて、ID は「testing」です。
- 以後の攻撃では、Redline、MagnatBackdoor、MagnatExtension の 3 つが使用されています。ここで目を引くのは、広告キャンペーンを行っていたことをほのめかす Redline の ID(ads、ads3、ads5、ads6、ads7、ads8、eumix3、eumix4 など)です。
Redline 導入後の 10 月にボットネット ID「ads」でマルバタイジングを使い始めたかどうかは確信がありません。ただし、マルウェアの配布にマルバタイジングが使用された可能性はあります(そのことを示唆する証拠はありますが、まだ実際の広告を目にしたことはありません)。
マルバタイジングを疑い始めたのは、侵害されたシステムをいくつか分析した後です。悪意のあるインストーラは Google Chrome でダウンロードされていて、ローカルでは電子メールクライアントは開かれていませんでした。ダウンロードの時点では Google Chrome は Cloudflare IP および Google IP のみと通信しています。ダウンロードの数秒前にソフトウェアのレビューサイトにアクセスしたケースもありました。
とはいえ決定的証拠ではなく、他の理由(たとえばブラックハット SEO や Web メールリンク)でも説明が付きます。ところが、後になって Redline のボットネット ID(ads、ads3、ads5 など)が見つかり、マルバタイジングによって配布されたという説を後押ししました。最後に、あるセキュリティ研究者が 2021 年 8 月に進行中のマルバタイジング攻撃についてツイートしています。このツイートでは広告のスクリーンショットが投稿されていて、ダウンロードしたサンプルが紹介されています。
このツイートで紹介されているサンプルを分析したところ、MagnatBackdoor、MagnatExtension、Redline(ボットネット ID は ads7)を含んでいました。
被害者に関する考察
現在、2018 年から活動履歴があり(3 つのマルウェアを使用)、毎月の活動で複数の C2 アドレスが使用されているケースを調べているところですが、こうした攻撃の標的を特定する方法を見つけるのは簡単ではありません。ただ、2019 年 1 月からドメイン stataready[.]icu が MagnatExtension の C2 として使用されています。C2 サーバーから受信した設定では、現在でも最新の C2 として同じドメインが使用されています。このドメインには、複数の攻撃で感染したシステムからトラフィックが集まっています。つまり、パッシブ DNS を使用すれば、感染分布の全体像が見えてきます。
パッシブ DNS を活用することで、C2 アドレスに対する DNS クエリの頻度を確認できます。DNS クエリの発信元の相対分布を見れば、マルウェアの影響を強く受けている国を把握できるということです。
MagnatExtension が配布されている地域は比較的集中していて、悪質な広告(マルウェアの配布手段)の使用状況とも一致しています。明らかにカナダに感染が集中しており(世界の感染のほぼ 50%)、その後に米国とオーストラリアが続きます。
イタリア、スペイン、ノルウェーでも感染例が複数確認されています(Redline の ID はヨーロッパ諸国で興味を持たれそうな「eumix」)。
過半数を超える感染がカナダで発生していることから、特に狙われるような標的がカナダに存在するのではないかと考えられます。とはいえ、MagnatExtension の設定にカナダ固有のドメインは指定されていません。MagnatBackdoor や Redline スティーラーを調べても何の手がかりもありません。
マルウェア分析
ローダー
ローダーは、ソフトウェアのインストーラに見せかけた .exe ファイルまたは .iso ファイルです。ローダーを実行すると、ファイルがいくつか作成されます。また一連のコマンドが実行された後、マルウェアの最終ペイロードが実行されます。
これまでにも他のマルウェアを配布する同じようなローダーがありました。他の研究者によって文書化もされています。つまり、このローダーは今回の攻撃に固有のものではないと考えられます。
ローダーには 2 種類があります。インストーラを作成するために使用されているテクノロジーは異なりますが、ペイロードを難読化して実行する手法はとてもよく似ています。1 つは 7-Zip の SFX(自己解凍形式のアーカイブ)、もう 1 つは NSI(Nullsoft インストーラ)ファイルです。
7Z SFX Builder で 7-Zip の SFX 形式のローダーを開くと、展開時に実行するように設定されているコマンドを確認できます。
このケースでは、コマンドが実行されると 3 つのファイル(dera、sfera、bruto)が展開され、certutil で個別のファイルに復号されます。各ファイルともサイズが非常に大きく、高度に難読化された AutoIt スクリプトです。最後に、dos.com ファイル(正規の AutoIt インタープリタ)を使用して各スクリプトが実行されます。
NSI 形式のローダーについては、7-Zip でファイルを開くとアーカイブの内容を確認できます。$APPDATA フォルダにはドロップされるファイルが格納されています。$PLUGINSDIR フォルダに格納されているのは NSI 固有のファイルです。そして [NSIS].nsi ファイルには、実行されるコマンドが含まれています。
上の図に示すように、実行される cmd ファイルは Copto.vsdm だけのようです。$APPDATA フォルダにあるこのファイルを展開して開くと、一連のコマンドが 7-Zip ファイルのものと同じような順序で現れます。
7-Zip ファイルの場合と同じように、同じアクションが 3 回実行されますが、作成されるファイルが異なります。
- まず、「MZ」という文字のみを含めたファイルが新規に作成されます。
- 次に、findstr が大量のジャンクデータが含まれているファイルから関連部分のみを抽出して「MZ」文字のファイルに書き込みます。その結果、正規の AutoIt インタープリタが復号されてシステムに書き込まれます。
- 次に、サイズの大きい AutoIt スクリプトが新規ファイルにコピーされます。このファイルの名前は 1 文字です。
- 最後は同様に、AutoIt インタープリタを使用して AutoIt スクリプトが実行されます。
どちらのローダーも、作成されたスクリプトは高度に難読されており、最終ペイロードを含んでいます。スクリプトを実行すると、新しいプロセス(通常はスクリプトを開始した AutoIt インタープリタ)が作成され、最終ペイロードが実行先のメモリに挿入されます。
MagnatBackdoor
MagnatBackdoor は、AutoIt ベースのインストーラです。Microsoft のリモートデスクトップ接続でリモートアクセスできるようにシステムを準備し、アウトバウンド SSH トンネルで RDP サービスポートを転送します。MagnatBackdoor の一連のアクションの中に、RDP 経由でのシステムへのリモートアクセスがあります。このマルウェアを「バックドア」と呼ぶことにしたのはそれが理由です。
このマルウェアの手口は、C2 サーバーに定期的に接続し、C2 応答による指示があればトンネルを確立するタスクを作成してスケジュールするというものです。下の図は、MagnatBackdoor が実行するアクションをまとめたものです。
サンプルを分析したところ、AutoIt スクリプトでビルドされた後、実行ファイルに変換されていました。このプロセスではバイナリ形式のアーティファクトがいくつか残るため、有益な情報が得られます。
上の図は、AutoIt 展開ツールの実行結果を示しており、以下の情報を確認できます。
- ビルドパス。ユーザー名「magnat」が含まれています。確認されたすべてのサンプルで同じパスが使用されているため、このマルウェアのことを MagnatBackdoor、攻撃全体を Magnat と呼ぶことにしました。
- パスには文字列「\rdp\new」も含まれていて、MagnatBackdoor のバージョン(この場合は「new」)が分かります。「vago2」はボットネットの「group」や「id」のようなもので、組織のパスだと考えられます。
- ファイルの作成時刻と最終書き込み時刻。攻撃のタイムラインを作成するうえで重要な日付です。
- 実行ファイルに圧縮されているファイルのリスト。
ビルドパスの文字列に基づいて、「rdp/rdp」、「rdp/3.5」、「rdp/3.6」、「rdp/new」というバージョンを確認しました。バージョンの変更は、主にバグ修正と改良(ネットワークプロトコルの難読化を図るなど)によるものと思われました。ここではバージョン「new」に焦点を当てます。それまでに作成されたすべてのバージョンを土台にしたものだからです。
AutoIt のメインスクリプトには、リストにあるファイルをファイルシステムにインストールしてスクリプトを実行するために必要なコードとロジックがすべて含まれています。最終目的は、システムで複数のタスクを作成してスケジュールすることです。タスクによって永続性を確保し、C2 に接続してコマンドの実行をリクエストします。以下の図に示しているのは、インストーラのメインコードの重要な部分です。
PERFORMSCRIPT で始まるスクリプトはいずれも非常によく似ていて、一連のファイルパスと変数をパラメータとして受け取り、create_xml ファイルのいずれかを呼び出して、スケジュールされたタスクの XML 記述子を作成します。次に、schtasks.exe コマンドを使用して、先ほど作成した XML にタスクを登録します。
タスクを作成してスケジュールするファイルは 3 つあります。タスクをスケジュールすることで、マルウェアの永続性が高まります。たとえば追加したユーザーが削除されても、しばらくするとまた追加されることになります。
タスクのスケジュールに使用されるファイルの 1 つ目は add_user.js です。ユーザーを新規に作成し、適切な権限とグループを割り当てて、最終的に RDP 通信を許可するように Windows ファイアウォールを設定するスクリプトです。
2 つ目のスクリプトは obf_pinger_part2.vbs です。きわめて単純な難読化を行います。主な役割は RDPWrapper のインストールです。RDPWrapper は、非常に有益な RDP の機能改良を行うことができるオープンソースツールです。GitHub では以下のように紹介されています。
最後 3 つ目のスクリプトは checkFscr.vbs です。このスクリプトには、主に 2 つの役割があります。以下の図に示すように、plink.exe(Windows 用の SSH コマンドラインツール)をインストールすることと、C2 サーバーにコマンドをリクエストすることです。
スニペットの先頭行でユーザー名、パスワード、pinger_id が含まれている難読化された文字列を受け取っています。次に、2 行目で宣言された C2 ドメイン、OS に関する情報、システムユーザー、ping ツールのバージョン、受信した文字列を含めた文字列を構築します。その後、C2 サーバーに対して HTTP GET リクエストを実行し、クエリ文字列内のすべての情報を送信します。
C2 サーバーが HTTP ステータスコード 201 で応答すると、応答本文が「plink.exe」コマンドに追加されます。その結果、攻撃者が plink コマンドを送信すると、リモートサーバーへの SSH トンネルが作成され、リモートアクセスに使用するローカル RDP ポートが転送されるようになります。
MagnatExtension
いずれの攻撃でも悪意のある Google Chrome 拡張機能が配布されたことを確認しました。MagnatBackdoor を配布するサンプルで感染していくマルウェアであり、他のサンプルではまだ確認したことがないため、MagnatExtension と呼ぶことにしました。
MagnatExtension は実行ファイルとして配布されます。機能としては、Google Chrome 拡張機能を使用できるようにシステムを準備してインストールするだけです。ただし、Chrome 拡張機能ストアからではなく、MagnatExtension 自体から拡張機能がインストールされます。インストールが完了すると、拡張機能設定に「Google’s Safe Browsing」と表示されます。
MagnatExtension 自体は、マニフェストファイル、アイコン、background.js ファイルの 3 つのファイルからなります。この background.js ファイルに、ブラウザの実行中にバックグラウンドで実行される悪意のあるコードが含まれています。
MagnatExtension のコードは、関数リダイレクト、暗号化のための置換配列、関数ラッパー、文字列エンコーディングなど複数の手法を使用して難読化されています。
Talos は独自の Python スクリプトを使用して JavaScript の難読化を解除し、コードを分析してマルウェアの機能を把握しました。
機能
バンキング型トロイの木馬にとてもよく似た機能を備えています。C2 に定期的に接続して、最新の設定を受信します。次に、受信した設定を使用して、ブラウザからデータを窃取できるようにフォームグラバー、キーロガー、スクリーンショット取得ツールなどの機能の動作を制御します。下の図は、MagnatExtension の動作と機能をまとめたものです。
このマルウェアのコードの末尾に、上の図に示したイベントリスナーを設定するコードセクションがあります。
各リスナーを詳しく見ていけば、マルウェアの機能のほとんどを効果的に把握できます。
フォームグラバー:Web リクエストが実行されるたびに、onBeforeRequest イベントをキャプチャします。これでブラウザの設定を確認できるようになります。現在の URL が「form_URL_filter」リストにあれば、window[“requestBody”][“formData”] プロパティを使用してフォームを読み取り、「form」アクションメッセージタイプとして C2 に送信します。
履歴とスクリプト:ブラウザのタブが更新されたら、URL がロードされているかどうかをチェックします。ロードされている場合は C2 に「history」リクエストを送信し、ブラウザでロードされている URL を C2 に伝えます。最後に、設定の「script」セクションにある項目ごとに「URL_mask」フィールドの URL と現在のタブの URL を比較します。一致する URL があれば、その項目の「code」フィールドにあるコードをタブで実行します。このように、アドレスバーの URL はそのままで SSLl アイコンには一切触れることなく、ページの内容を完全に置き換えることができます。
キーロガー:ブラウザのタブが更新されたら、URL がロードされているかどうかをチェックします。ロードされている場合は設定の「keylogger」セクションにある URL と現在のタブの URL を比較します。一致する URL があれば、キーロガーのコードをタブで実行します。
これにより、ユーザーが押したキーがすべてキャプチャされ、Chrome メッセージを介してキーログが拡張機能コードに送り返されます。Chrome メッセージ用に設定されたリスナーがあります。
スクリーンショット取得ツール:ブラウザのタブが更新されたら、URL のロードが完了したかどうかをチェックします。完了している場合、設定の「screenshoter」セクションにある URL と現在のタブの URL を比較します。一致する URL があれば、chrome[‘tabs’][‘captureVisibleTab’] 関数を実行して、スクリーンショットをキャプチャし、「screenshoter」タイプリクエストとして C2 に送信します。
ここに挙げた機能のいずれかが実行されると、C2 通信が発生します。他にも、以下の 2 つのタイミングで C2 に接続します。
定期的な ping:マルウェアの ID バージョンが含まれている「plugin」タイプメッセージを C2 サーバーに送信するようにアラームが設定されます。このアラームは 1 分ごとにトリガーされます。サーバーの応答は、「cookie」フィールドと「keylogger」フィールドが含まれている JSON 文字列です。cookie 変数が true であれば、すべての Cookie を収集して C2 サーバーに送信します。keylogger フィールドは、グローバルブール変数のオンとオフを切り替えます。以前のバージョンではこの機能を使用してキーロガーを無効にしていましたが、最新バージョンではキーロガーが非アクティブ化されています。
リクエスト設定:追加のデータなしで C2 サーバー設定パスへの HTTP GET リクエストをトリガーするようにアラームが設定されます。このアラームは 30 分ごとにトリガーされます。C2 から受け取った新しい設定は、ブラウザのローカルストレージに保存されます。
ボット設定
前述のように、ほとんどの機能は、特定の Web ページでアクションが必要かどうかをチェックするために設定ファイルを使用しています。設定ファイルは C2 サーバーから提供され、ローカルに保存されます。以下のような構造になっています。
時間の経過とともに設定は少し変更されていますが、C2 サーバーに変更はありません。3 年ほど正常に機能しており、古い設定もまだ使用されています。
最新バージョンの settings3.json:
前バージョンの settings2.json:
最初のバージョンの settings.json:
最初の設定バージョン(settings.json)にはサーバーの情報がありません。設定ファイルで C2 を更新できなかったからです。settings2.json では「server」フィールドが追加されており、最新バージョン(settings3.json)には Facebook の URL に対して有効なフォームグラバーが含まれています。スクリーンショット取得ツールは、最初のバージョンから同じ URL セットに対して有効になっています。ここから推測すると、PayPal アカウントと暗号通貨ウォレットの利用可能残高を監視し、あわよくば両システムの Cookie をリクエストすることが攻撃者の狙いだと思われます。
C2 通信
C2 アドレスはサンプルにハードコーディングされていて、現在の C2 に追加の C2 ファイルのリストを用意することで更新されます。ここで興味深いのは、最近のバージョンでは更新が無効になっているにもかかわらず、サーバーチェックが失敗すると、Twitter のハッシュタグ検索から新しい C2 アドレスを取得しようとすることです。
以下のツイートは、Talos が見つけた使用中のハッシュタグです。
ツイートからドメインを取得するアルゴリズムは非常にシンプルで、各単語の最初の文字を連結するだけです。ここに挙げているツイートを例にとると、ドメインは stataready.icu と bolshebolshezolota.club です。
有効な C2 が使用できるようになったら、データを HTTP POST リクエストの本文として JSON 形式で送信します。JSON 文字列は暗号化されています。この暗号化の方法については次のセクションで説明します。JSON メッセージタイプは以下のとおりです。
各メッセージタイプの「action」値は、前述した機能のいずれかに一致します。「plugin」アクションは定期的な ping メッセージタイプに使用されます。ping の応答には 2 つのフィールドのみが含まれています。Cookie をリクエストするフィールドとキーロガーを無効にするフィールドです。
設定のリクエストはまた別です。設定パス(settings.json、settings2.json、settings3.json)に対する HTTP GET リクエストには追加のデータがありません。応答は前のセクションで説明したような設定ファイルです。
通信の暗号化
C2 との通信には HTTP が使用されます(ここに示したサンプルではいずれも SSL を使用しています)。暗号化でメッセージの内容を保護しています。C2 との通信では常に、HTTP 本文に JSON 文字列が含まれています。JSON 文字列には、サーバーの公開キーで暗号化された暗号キー、AES で暗号化されたテキスト、初期化ベクトル、ソルトが含まれています。
データの暗号化に使用されるコードは以下のとおりです。
C2 からボットへの通信を見ると、ping ツールの応答は暗号化されていません。一方、設定の応答では JSON データが以下の形式で暗号化されています。
今回キーは送信されていません。以下のように復号関数にハードコーディングされています。
何度か調査を実施した結果、MagnatExtension で使用されている暗号化ライブラリと JSON 文字列形式はオープンソースの JavaScript 暗号化ライブラリである cryptojs ライブラリに基づいているとの結論に達しました。
まとめ
今回の調査では、3 年ほど続いている一連の攻撃を文書化しています。3 種類のマルウェアを同時に配布していて、そのうち 2 種類(MagnatBackdoor と MagnatExtension)はこれまで文書化されていなかったマルウェアファミリです。MagnatBackdoor と MagnatExtension については、これまで開発と改良が繰り返されてきました。今後も状況は変わらないでしょう。
標的に接触する手段としては、マルバタイジングが使用されていると考えられます。ソフトウェアに関連するキーワードに興味を持ちそうな標的に人気ソフトウェアのダウンロードリンクを提示するというわけです。この手の脅威は非常に有効に働きます。対抗するには、エンドポイント保護、ネットワークのフィルタリング、セキュリティ意識を高めるなど、何重ものセキュリティ管理を導入する必要があります。
バンキング型トロイの木馬によく似た Chrome 拡張機能とパスワードスティーラーを実際に使用してみた結果、攻撃者の狙いはユーザーのログイン情報を取得し、盗んだ情報を販売するか別のエクスプロイトで使用することにあると思われます。RDP バックドアを導入した動機は不明です。最も可能性が高いのは、RDP アクセスを販売する、IP アドレスやその他のエンドポイントにインストールされているツールに基づくオンラインサービスのセキュリティ機能を RDP で回避する、標的とするシステムに RDP でエクスプロイトを仕掛ける、といったところです。
カバレッジ
お客様がこの脅威を検出してブロックするための方法を以下に記載します。
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、
Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
Cisco Secure Network/Cloud Analytics(Stealthwatch/Stealthwatch Cloud)は、ネットワークトラフィックを自動的に分析し、接続されているすべてのデバイスで、望ましくない可能性があるアクティビティをユーザに警告します。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザがアクセスする前に疑わしいサイトをテストします。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザに多要素認証を提供し、承認されたユーザのみがネットワークにアクセスできるようにします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。
IOC(侵入の痕跡)
サンプル:
0cae9a4e0e73ff75f3ffa7f2d58ee67df34bc93e976609162cd6381ea9eb6f5b
c997d6ca731762b6eb874296b8dea931095bb5d59f6e2195f02cfad246994a07
cb40a5957081d6030e983bcc3e13122660236379858024cfda932117f8d6125f
9b89464c0543e98d6a96ffaa34b78ef62e48182736482ddd968db17dc9e3076e
a3b5da275b97840a1e9e5f553d638bfb8e095102edd305008ca2875294b4deb1
ba7bb63b7cf08cfe48aead5ec65e81b35b89f4559d16257ba283f77251c15e32
d06ea637979440edf76a679c0e8608e00dae877bfc10e642a4d9d509be2bb2a9
ed5abe5b0b9fb82a455ef0e750f44838e1272e743f079871161a2fa179b081f3
1c602fc24a980135f9736d55986d694a4b542d69e6caa225d99c3e9e9c251a1a
42178057b6914172e9101ddd265d88501e4518a92e854ad2ef6e8401d3bdbd15
45b9894e4cac3c21f28308ee48a0095e9516f8b1c26483c1a58b47a9fbbe27e9
0fde03bd190b9601983c97c4138c5953429a672530f585e53b5725b241c35cbb
b6cf71093407d3548e25adc93ccc867602d5d5860753d480308a81273a483bee
933ac399735239f00815637995c752757d867cc601b80274e62ef613c54cd510
09158bf9c73f856f8a310ffa7238042d08d3a475ea34ffa6cee9e88d841c4a7e
ef44590fa6f19431c0b2182627f95b6b9568bd2700124bfc7abe4a979a363bb6
c8864081450fbf75d2757716ef237e81c4f419c2e2a3e2deb86432e78412f109
ea3d8e8c07e87fab40fc0e30daea0307c1f0119c6b63a50759625a1edb777a58
13ce97767c92b0f048b0cb4bf55ce8e928a77dc209c428b02de0a890f8f1ec13
c7e703543814e6b70c0f1b2fe990f0251246dbe7931d7d7ee53b0e559d00e405
f12649de9f93f6dc29a1c6838779885b733c95d4157f95bc92d3f81f52b41788
a70525f4aaf688588a65cb60fb18f9cc69b895d12da87cd39ba58f17db37d531
28529e85f66ccfcc1b3ef43f37398cac1716f191775487a99bfe83a66554397a
6ffc9bacb24ec4484a006dc3183984af2b7eaef0244fa5c0e96020081287ca62
65784e672ccaa01697d47837ef036a06e180b394da60011374a7f4e8f3649492
fbaa11e154c41b8b3e18e6db587d7c9f612ec7a1983aca8ec8a9dbb2322a3a9f
7d22568c2d8f94852b59f5b01b12289419dc2e617c7977d2262e1061906d3fb3
794833762b3a94a9b1e88ffb915352823b7192255aa7ac86bbe9f93a64395854
c915342445a40722379bf91cf3ae3b846c6cd7bac069ad1040e2c22addbca1fd
1109f4f612577ba61a8437309fd8bbd164d942090a10d490d6339f6ffb05f2cf
df3e587781523f2b9a2080caa9856d52b103302ebf311bbfeea54acb89f4b90d
e2e66789c7f6627bfb270c609bae28cd9df7d369a5ba504dccc623eb11f9e3f2
68aebb2f33f1475abc863495a1bf4a43de6fa267bedad1e64a037f60e3da707d
41f9f0dd85b9d1860cbf707471572619218343e1113fa85158f7083d83fcaa0c
Ac1df77c0d6d3c35da7571f49f0f66f144fbcfd442411585e48a82e2f61b1fc1
C2s
MagnatBackdoor:
https://chocolatepuma[.]casa/api/ping
https://wormbrainteam[.]club/api/ping
https://430lodsfb[.]xyz/api/ping
https://softstatistic[.]xyz/api/ping
https://happyheadshot[.]club/api/ping
https://aaabasick[.]fun/api/ping
https://nnyearhappy[.]club/api/ping
https://teambrainworm[.]club/api/ping
https://yanevinovat[.]club/api/ping
https://fartoviypapamojetvse[.]club/api/ping
https://hugecarspro[.]space/api/ping
https://burstyourbubble[.]icu/api/ping
https://boogieboom[.]host/api/ping
https://cgi-lineup[.]website/api/ping
https://newdawnera[.]fun/api/ping/
https://bhajhhsy6[.]site/api/ping/
https://iisnbnd7723hj[.]digital/api/ping
https://sdcdsujnd555w[.]digital/api/ping
MagnatExtension:
stataready[.]icu
bolshebolshezolota[.]club
luckydaddy[.]xyz
adamantbarbellmethod[.]com
Redline:
userauto[.]space
22231jssdszs[.]fun
hssubnsx[.]xyz
dshdh377dsj[.]fun
Azorult:
http://0-800-email[.]com/index.php
http://430lodsfb[.]club/index.php
http://ifugonnago[.]site/index.php
http://paydoor[.]space/index.php
http://430lodsposlok[.]online/index.php
http://linkonbak[.]site/index.php
http://430lodsposlok[.]site/index.php
http://dontbeburrow[.]space/index.php
http://430lodsposlok[.]monster/index.php
http://430lodsposlok[.]store/index.php
http://luckydaddy[.]club/index.php
http://metropolibit[.]monster/index.php
http://inpriorityfit[.]site/index.php
http://maskofmistery[.]icu/index.php
本稿は 2021 年 12 月 02 日に Talos Group のブログに投稿された「Magnat campaigns use malvertising to deliver information stealer, backdoor and malicious Chrome extension」の抄訳です。