Hackers use macOS extended file attributes to hide malicious code

ハッカーは、macOSファイルの拡張属性を悪用する新しいテクニックを使用して、研究者がRustyAttrと呼ぶ新しいトロイの木馬を配信しています。

このトロイの木馬は、カスタム・ファイルのメタデータに悪意のあるコードを隠し、また検知を回避するためにおとりPDF文書を使用しています。

この新しい手法は、2020年のBundloreアドウェアがmacOS向けのペイロードを隠すためにリソースフォークにペイロードを隠した方法と似ています。この手法は、サイバーセキュリティ企業Group-IBの研究者たちによって、野放しになっているいくつかのマルウェア・サンプルから発見された。

研究者らはその分析に基づき、また被害者を確認できなかったことから、このサンプルは北朝鮮の脅威行為者Lazarusによるものであると中程度の確信を持って断定しています。研究者らは、攻撃者が新しいマルウェア配信ソリューションを試している可能性があると考えている。

この手法は一般的ではなく、Virus Totalプラットフォームのどのセキュリティエージェントも悪意のあるファイルにフラグを立てなかったことから、検出に対して効率的であることが証明されました。

ファイル属性にコードを隠す

macOSの拡張属性(EA)は、一般的にファイルやディレクトリに関連付けられた隠しメタデータを表し、Finderやターミナルでは直接表示されませんが、拡張属性を表示、編集、削除するための「xattr」コマンドを使用して抽出することができます。

RustyAttr攻撃の場合、EA名は「test」で、シェルスクリプトを保持している。

Shell script hidden in extended attribute for macOS file
macOS 拡張属性内のシェルスクリプト
ソースはこちら:グループIB

EAを格納する不正アプリは、Rustバックエンドの関数を呼び出すことができるWebフロントエンド(HTML、JavaScript)を組み合わせたTauriフレームワークを使用して構築されています。

アプリケーションが実行されると、JavaScript(’preload.js’)を含むウェブページがロードされ、’test’EAで示された場所からコンテンツを取得し、シェルスクリプトが実行されるように’run_command’関数に送信します。

Contents of preload.js
preload.jsの内容
ソースはこちら:グループIB

このプロセスの間、ユーザーの疑いを低く保つために、いくつかのサンプルは、おとりPDFファイルを起動したり、エラーダイアログを表示したりします。

Decoy PDF hides malicious background activity
おとりPDFは悪意のあるバックグラウンド活動を隠す
Source:Group-IB:グループIB

PDFは公開ファイル共有用のpCloudインスタンスから取得され、暗号通貨投資のトピックに関連する名前のエントリも含まれています。

Group-IBが発見したRustyAttrアプリのいくつかのサンプルは、すべてVirus Totalの検出テストに合格しており、アプリケーションは、Appleがその後取り消したリーク証明書を使用して署名されていましたが、公証されていませんでした。

App certificate details
アプリ証明書の詳細
グループIB

Group-IB は、次の段階のマルウェアを取得して分析することはできませんでしたが、ステージング・サーバーが Lazarus インフラストラクチャの既知のエンドポイントに接続して、マルウェアの取得を試みていることを発見しました。

Execution flow
実行フロー
グループIB

macOS回避の実験

Group-IBが報告したケースは、SentinelLabsが最近発表した別の報告と非常によく似ており、北朝鮮の脅威行為者BlueNoroffがmacOSで回避のための類似しているが異なるテクニックを実験していることが観察された。

BlueNoroffは、暗号通貨をテーマにしたフィッシングを利用して標的をおびき寄せ、署名・公証された悪意のあるアプリをダウンロードさせました。

これらのアプリは、修正された「Info.plist」ファイルを使用し、攻撃者が管理するドメインへの悪意のある接続をこっそりと引き起こし、そこから第2段階のペイロードを取得します。

これらのキャンペーンが関連しているかどうかは不明だが、アラームを作動させることなくmacOSシステムを効果的に侵害する方法について、別々の活動クラスタが同じ情報を使用することはよくあることだ。