AppleScriptを利用したクリプトジャッカー、OSAMinerが5年も潜伏

Acronis
Cyber Disaster Recovery

概要

・OSAMinerは、OS XやmacOSを標的とした有名なクリプトマイニングマルウェアで、2015年から活動を続けています。

・最近発見されたOSAMinerの亜種は一部に実行専用の埋め込みAppleScriptを利用していたため、これまで見つからずにいました。

・最近まで、埋め込まれたAppleScriptの関数を確認するための適切な逆コンパイラーを利用することができませんでした。

OSAマイナーの巧みな偽装

OSAマイナーは2015年から存在しており、少なくとも2018年には知られていましたが、新たに発見された亜種は、実行専用のAppleScriptを、別の実行専用AppleScriptの内部に巧みに隠すことで、リサーチャーの目を逃れ続けていました。実行専用スクリプトは人間が判読できるコードがを含まれておらず、完全な逆コンパイルするのが難しいことでも知られています。一部のセキュリティ侵害インジケータ(IoC)がその攻撃を検知しましたが、これまで、完全な分析ができなかったため、攻撃で用いられた重要なファイルが複数、発見されないままとなっていました。しかし、最近になってAppleScriptの逆コンパイルに役立つツールがいくつか開発され、状況が変わりました。これらのツールを用いることで、このクリプトジャッキング攻撃で使用されたファイルの中身のより詳細な調査と、OSAMinerに関連するファイルを幅広く調べることが可能になったのです。

実行専用の埋め込みAppleScriptの分析

OSAMinerに関連付けられているファイルのうち、いくつかは拡張子が「.plist」のプロパティリストファイルでしたが、正しいプロパティリストファイルは1つのみだったため、調査はこのファイルから開始しました。単純なファイルでしたが、このクリプトジャッキング攻撃で使用された重要なファイルの配布に関わっていました。

Filename: com.apple.FY9.plist MD5: 414205439abd5751c0d410fa2ccd539b SHA-256: 9ad23b781a22085588dd32f5c0a1d7c5d2f6585b14f1369fd1ab056cb97b0702 該当する部分は10~14行目の配列です。

Acronis

「osascript」が繰り返し出てくるのは、まったく異質で目を引きます。また、クリプトマイニングにOpen Scripting Architecture(OSA)スクリプトを使用していることが、OSA Minerという名前につながりました。しかし、このスクリプトで特に興味深いのは13行目です。このマルウェアを分析するための道筋を示してくれるためです。この行は、「do shell script」スクリプトを使用して、/Library/LaunchAgents/ディレクトリから「com.apple.4V.plist」を呼び出しています。

調査の結果、com.apple.4V.plistはプロパティリストファイルではなく、実行専用AppleScriptファイルだということがわかりました。このファイルの分析は少し困難でしたが、詳しく調べると、ファイル内に複数の16進コードが見つかりました。この発見と、AppleScriptの最初と最後にあるAppleのマジックストリングについての知識とを結び付けて、ファイルの中に隠れていた2つ目の実行専用AppleScriptを特定することができました。これは以前調査したバージョンには無い、OSAMinerの新しい手口です。この手口により、自動化によるマルウェアの分析がさらに難しくなります。

さて、これで親スクリプトと埋め込みスクリプトの両方がそろったため、それぞれの役割を突き止めるために、それらを逆アセンブルして調べたところ、特に注目すべき機能の1つがすぐに見つかりました。スクリプトに埋め込まれたデコード関数です。スクリプト全体で何度か呼び出され、スクリプト内の16進数の難読化を解除するのに使用されています。また、このマルウェアで使用されているファイルの最終的な調査を可能する逆コンパイラに、このロジックが利用されています。

Filename: com.apple.4V.plist MD5: 831c1ec1b594ace3c97787b077ba9dac SHA-256: df550039acad9e637c7c3ec2a629abf8b3f35faca18e58d447f490cf23f114e8

Acronis

今の時点で、このOSAMinerの最新の亜種である実行専用埋め込みAppleScriptの調査に必要なものは、すべて揃いました。この亜種の名前のない「main」関数として、親ファイルからのエンコードおよびデコード関数が存在しますが、その一方で、最も注目すべき変更の1つは、プロセスを強制終了するために存在している「kPro」関数です。kProは具体的には、アクティビティモニターアプリや、一般的なマルウェア対策アプリケーションを強制終了させる機能です。しかし、Acronis Cyber Protectはこの機能の影響を受けず、継続的な保護が可能です。

Filename: k.plist or em.scpt MD5: f591fcb164d2d66910a9bbac495a721e SHA-256: f145fce4089360f1bc9f9fb7f95a8f202d5b840eac9baab9e72d8f4596772de9

Acronis

ここに表示した文字列は完全には判読できませんが、もう一度逆コンパイルすると、システムコマンド、およびAEVT(つまり「AppleEvent」)コードがかなり読みやすくなります。後は、このスクリプトが何をしているのかを正確に突き止めるために、これらの関数がどこで、どのように呼び出されるのかを調査するだけです。特にこの更新済みファイルは、OSAMinerが検知を回避できるように設計されています。

OSAMinerの真の目的

この新しいスクリプトは確かに興味深いものですが、パズルの1ピースにすぎません。OSAMinerの主な目的はクリプトジャッキングです。検知を回避するのに加えて、OSAMinerはオープンソースのMoneroMinerである「XMR-STAK-RX」をダウンロードして実行します。また、感染したシステムがスリープモードになるのを別のスクリプトが阻むため、OSAMinerは与えられた処理能力を最大限に活かせるようになります。つまり、攻撃者の利益が最大化されるということです。OSAMinerがいったんインストールされ、実行されると、感染したシステムでアクティビティモニターアプリを開きにくくなったり、CPU使用率が高くなったりするだけでなく、システムがクラッシュしたりする可能性もあります。

OSAMinerは通常、Microsoft Officeのような生産性アプリケーションや、「リーグ・オブ・レジェンド」のようなゲームの海賊版のソフトウェアとともに配布されます。また、このようなクリプトマイニング トロイの木馬が偽のソフトウェアアップデートや、被害者に新しいソフトウェアのインストールや一般的なアプリケーションのアップデートを促すメールキャンペーンを通じて配布されるのを目にすることも珍しくはありません。

アクロニス製品による検知

Acronis Cyber ProtectおよびAcronis True Image 2021は、アクロニスの先進的なマルウェア対策エンジンとリアルタイムの保護技術を統合し、OSAMinerの全亜種を含むクリプトマイニングマルウェアをブロックします。

Acronis

IoC

・com.apple.4V.plist MD5: 831c1ec1b594ace3c97787b077ba9dac SHA256: df550039acad9e637c7c3ec2a629abf8b3f35faca18e58d447f490cf23f114e8 Dropped in the ~/Library/LaunchAgents/ directory

・com.apple.FY9.plist MD5: 414205439abd5751c0d410fa2ccd539b SHA256: 9ad23b781a22085588dd32f5c0a1d7c5d2f6585b14f1369fd1ab056cb97b0702 Persistence agent for com.apple4V.plist

・k.plist MD5: f591fcb164d2d66910a9bbac495a721e SHA256: f145fce4089360f1bc9f9fb7f95a8f202d5b840eac9baab9e72d8f4596772de9 Dropped at ~/Library/k.plist for detection evasion Also seen as em.scpt

・wodaywo.png MD5: 0e818270ec95f661660442b60b935d74 SHA256: 24cd2f6c4ad6411ff4cbb329c07dc21d699a7fb394147c8adf263873548f2dfd Dropped as ~/Library/11.png for miner configuration and downloader Also wodaywo.scpt when not disguised as a .png image file

・ssl4.plist MD5: deb6c97315615faa44a0ac07244e7570 SHA256: 97febb1aa15ad7b1c321f056f7164526eb698297e0fea0c23bd127498ba3e9bb Mach-O, XMR-Stak miner, dropped at ~/Library/Caches/com.apple.XX/ssl4.plist - “XX” is replaced with two uppercase letters

アクロニスのその他の情報