This post is also available in: English (英語)
概要
Unit 42は最近、インフォスティーラーIcedIDの使う感染プロセスに、ポリグロット(=複数のプログラミング言語やファイル形式で書かれている)なMicrosoft Compiled HTML Help(CHM)ファイルが採用されていることを確認しました。そこで本稿は、ポリグロットなCHMファイルと最終ペイロードの解析方法を紹介し、このサンプルがどのように検出を回避しているかを理解できるようにします。
Starchy Taurus (別名APT41)やEvasive Serpens (旧称OilRig、Europium)をはじめとする複数の攻撃グループが、CHMファイルを悪用してPowerShellやJavaScriptを使って書かれたペイロードを隠蔽しています。本稿では、攻撃者が長いコードを書かずにすむようにすることで、悪意のあるファイルをセキュリティ製品による検出から逃れやすくさせている、興味深い攻撃について説明します。ポリグロットファイルを悪用すると、攻撃者はファイル形式の識別に依存するマルウェア対策システムを回避できます。この手法では感染プロセスで同じCHMファイルを2回実行します。1回目の実行では問題なく振る舞って見せ、2回目の実行で悪意のある振る舞いをひそかに実行します。
この特定の攻撃チェーンは2022年8月上旬に発見されており、最終ペイロードとしてIcedID (別名Bokbot)を配布していました。インフォスティーラーIcedIDは2019年からユーザーを攻撃している著名マルウェアです。
パロアルトネットワークスのお客様は、WildFire、高度な脅威防御、高度なURLフィルタリング、DNSセキュリティなどのクラウド配信型セキュリティサービスを有効にした次世代ファイアウォールと、Cortex XDRにより、同様の解析対策技術を使うマルウェアファミリからの保護を受けています。
Unit 42の関連トピック | Malware, IcedID, Evasion |
目次
悪質なポリグロットCHMファイル
IcedID DLLの構成の抽出
結論
IoC
悪質なポリグロットCHMファイル
「ポリグロットファイル」は複数の異なるファイル形式をもつバイナリで、実行に使用するアプリケーションしだいでその振る舞いが変わるものです。
2022年8月上旬に発見されたこの攻撃は、erosstrucking-file-08.08.2022.zipという名前のZIPファイルを添付したフィッシングメールから始まっていました。zipファイルを展開するとorder-130722.28554.isoという名前のISOイメージファイルが作成されます。このISOファイルには、pss10r.chm (SHA256: 3d279aa8f56e468a014a916362540975958b9e9172d658eb57065a8a230632fa)というポリグロットCHMファイルが含まれていて、このCHMファイルがヘルプドキュメントの表示に使われます。ユーザーがこのCHMファイル(pss10r.chm)を起動した場合、無害なヘルプウィンドウが表示されます。
私たちは7zipを使ってこのCHMファイルの中身をダンプしました。ここで興味を引いたファイルがPSSXMicrosoftSupportServices_HP05221271.htmです。
HTMLファイル内のコードのほとんどはおとり用ウィンドウの作成に使われます。ただしHTMLコード内には同一CHMファイルを再実行するコマンドが1行隠されています。このコマンドはMshta.exeを呼び出して自分自身(pss10r.chm)を再実行させます。Mshta.exeはMicrosoftのHTMLアプリケーション(HTA)ファイルを実行するユーティリティで、HTAはHTMLで作成されたれっきとしたアプリケーションです。
HTAのコードはCHMファイルのバイナリ内に埋めこまれているので、実行中、被害者からは見えません。このHTAはapp.dllというバイナリの実行に使われます。
実際にapp.dllというバイナリがISOイメージ内に隠されています。attribコマンドを使うとこの隠れたバイナリを明らかにできます。
このapp.dllというバイナリは、64ビット版IcedID DLLです。(SHA256: d240bd25a0516bf1a6f6b3f080b8d649ed2b116c145dd919f65c05d20fc73131)
IcedID DLLの構成の抽出
IcedID DLLからIoC(indicators of compromise: 侵害の痕跡)を得るため、その構成を調べました。IcedID DLLの構成はエンコードされた状態でバイナリのデータセクションに格納されています。エンコードされた構成は、図6に示したようなファイル形式になっています。
以下の関数がIcedID DLLの構成を実行時にデコードします。エンコードされた構成(enc_config)のアドレスはこの関数内に存在しています。
デコードされたIcedID DLLの構成は以下のような形式です。
デコードされた構成からは以下のIoCを抽出できます。
コマンド&コントロールのURL | abegelkunic[.]com |
攻撃キャンペーンID | 4157420015 |
結論
脅威アクターは検知回避テクニックを進化させ続けています。上記の分析では、攻撃者がどのようにしてポリグロットMicrosoft Compiled HTMLファイルを悪用し、IcedIDペイロードを配布したのかを示しました。防御側はファイル形式にもとづいてバイナリを信用しないことが重要です。今回取り上げたようなポリグロットファイルには正しいファイルタイプが複数あるからです。
パロアルトネットワークスのお客様は、WildFire、高度な脅威防御、高度なURLフィルタリング、DNSセキュリティなどのクラウド配信型セキュリティサービスを有効にした次世代ファイアウォールと、Cortex XDRにより、同様の解析対策技術を使うマルウェアファミリからの保護を受けています。
IoC
ファイル名: erosstrucking-file-08.08.2022.zip
SHA256: fb6d23f69d14d474ce096da4dcfea27a84c93f42c96f6dd8295d33ef2845b6c7
ファイル名: order-130722.28554.iso
SHA256: d403df3fb181560d6ebf4885b538c5af86e718fecfabc73219b64924d74dd0eb
ファイル名: pss10r.chm
SHA256: 3d279aa8f56e468a014a916362540975958b9e9172d658eb57065a8a230632fa
ファイル名: app.dll
SHA256: d240bd25a0516bf1a6f6b3f080b8d649ed2b116c145dd919f65c05d20fc73131
コマンド&コントロールのURL: abegelkunic[.]com