QBot の新しい戦略:SVG ベクター画像ファイル内にマルウエアを隠し持つ

Attackers use SVG files to smuggle QBot malware onto Windows systems

2022/12/14 BleepingComputer — QBot マルウェアのフィッシング・キャンペーンは、SVG (Scalable Vector Graphics) ファイルを悪用して Windows 用の不正なインストーラーをローカルに作成する、HTML スマグリングの新たな配布方法を採用している。この攻撃は、JavaScript を含むエンベッド SVG ファイルにより行われ、Base64 エンコードされた QBot マルウェアのインストーラーを再構築し、ターゲットのブラウザを通じて自動的にダウンロードさせるものだ。

QBot はフィッシング・メールを介して届く Windows マルウェアであり、その点では Cobalt StrikeBrute Ratel などのペイロードと同じである。


SVG ベースのスマグリング

HTML スマグリングとは、HTML の添付ファイルや Web サイト内に、エンコードされた JavaScript ペイロードを隠し持つために用いられる手法である。そのような HTML ドキュメントが開かれると、ローカルのスクリプトとして JavaScript がデコード/実行され、マルウェア実行ファイルの作成などの悪意のある動作を許すことになる。

この手法により脅威アクターたちは、悪意のファイルを監視する、境界防御としてのセキュリティツールやファイアウォールを迂回できる。

Cisco Talos の研究者たちは、新しい QBot フィッシング・キャンペーンを観測した。このキャンペーンは、事前に盗み出された返信チェーンの電子メールから始まり、添付された HTML ファイルを開くようユーザーは促される。この添付ファイルには、HTML にエンベッドされた Base64 エンコード SVG 画像を介して、悪意のコードが取り込まれる HTML スマグリング技術が使用されている。

Base64-encoded SVG file inside the HTML
Base64-encoded SVG file inside the HTML (Cisco)

JPG/PNG ファイルのようなラスターイメージ・タイプとは異なり、SVG は XML ベースのベクターイメージであるため、ファイル・フォーマット内の正当な機能として、HTMLの <script> タグを含むことが可能だ。そして HTML 文書が、<embed> タグまたは <iframe> タグを介して、この種の SVG ファイルを読み込むと、画像が表示され、JavaScript が実行される。

Cisco のアナリストたちは、以下のように SVG ブロブ内の JavaScript コードを解読し、そこに含まれる JS 変数 text をバイナリ・ブロブに変換する関数と、その後にブロブを ZIP アーカイブに変換する関数があることを発見した。

Deobfuscated JavaScript code
Deobfuscated JavaScript code (Cisco)

Cisco は、「このケースにおいて、SVG 画像内に密封された JavaScript には、悪意の ZIP アーカイブ全体が含まれている。そして、後に、エンドユーザーのデバイス上で、JavaScript によりマルウェアが組み立てられる」と説明している。

Cisco は、「このマルウェアのペイロードは、ネットワーク経由で送信されず、被害者のマシン上でダイレクトに構築される。したがって、悪意のコンテンツの転送をフィルタリングするように設計された、セキュリティ・デバイスによる検出を、この HTML スマグリングは回避していく」と説明している。

ダウンロードされたアーカイブは、AV からの監視を回避するためにパスワードで保護され、被害者が開く HTML に ZIP ファイルのパスワードが含まれることになる。

ZIP download dialog and Adobe HTML showing the password
ZIP download dialog and fake Adobe HTML showing the password (Cisco)

このアーカイブを開くと、被害者のマシン上に ISO ファイルが展開され、典型的な “ISO→LNK→CMD→DLL” 感染などを含む、いくつかの侵害のバリエーションにつながる。SVG ファイルを用いて、HTML 添付ファイル内に悪意のコードを隠すことで、さらなるペイロードの難読化が進み、検知を回避する能力を高めると推測される。

Infection chain
Infection chain (Cisco)

HTML スマグリング攻撃からシステムを保護するには、ダウンロードしたコンテンツに対する JavaScript/VBScript の実行をブロックする必要がある。

最近の QBot の添付ファイルは、Mark of the Web セキュリティ警告を回避するために、Windows の脆弱性を悪用してきたが、昨日の Microsoft December 2022 Patch Tuesday のパッチで修正されている。

文中の、「SVG (Scalable Vector Graphics) は XML ベースのベクターイメージであるため、HTMLの <script> タグを含むことが可能だ。そして HTML 文書が、<embed> タグまたは <iframe> タグを介して、この種の SVG ファイルを読み込むと、画像が表示され、JavaScript が実行される」という部分が、この攻撃手法の怖さを物語っていますね。なお、文末の Mark of the Web (MOTW) の部分につきましては、Microsoft 2022-12 月例アップデートを、ご参照ください。

%d bloggers like this: