ORCUS – 独特なプラグイン ビルダー RATの誕生

By

Category: Malware, Threat Prevention, Unit 42

Tags: , , , ,

This post is also available in: English (英語)

概要

Unit 42は、“Orcus”として知られる、2016年4月以降、40ドル(USD)で販売されている新たなリモート アクセス型トロイの木馬(RAT)を追跡してきました。OrcusはRATマルウェアの典型的な機能をすべて備えていますが、ユーザーはそれを使用してカスタム プラグインを構築し、管理性と拡張性に優れたモジュール式のアーキテクチャも実現できます。このブログの目的は、この新たなRATファミリのいくつかの機能と、これまでにわかっているその影響を明らかにすることです。

背景

このRATファミリの詳細を説明する前に、Orcusが市販されるRATになった経緯について説明します。2015年10月頃、Orcus (“Sorzus”という別名が付けられていた)の開発者は、彼が開発していたRATに関するハッカー フォーラムにスレッドを投稿し、それを公開する方法についてフィードバックを求めました。その後、開発者はそのツールを“Schnorchel”、ドイツ語では“Snorkel”と名付けました。

図1 SorzusによるOrcusの公開に関する議論
図1 SorzusによるOrcusの公開に関する議論

下図は、開発された当初の早期バージョンのOrcusを示しています。興味深いことに、早期バージョンに表示される開発者の詳細に“Vincent (Alkalinee)”と示されていることがわかります。また、私たちは、‘Alkalinee’が、新しい別名‘Sorzus’を使う前に、開発者が使用していた別名だったことにも気付きました(このことから、Orcus開発者の実名が‘Vincent’の可能性があると推測されます)。

図2 “Schnorchel”として知られていたOrcusの早期バージョン
図2 “Schnorchel”として知られていたOrcusの早期バージョン

開発者は、RATを無料で公開することで意見の一致を得て、それをオープン ソースにしました。しかし、フォーラム内の一部のユーザーは、結局のところソース コードは他のユーザーが再パッケージし、それを新しいRATとして販売するために使用されるため、無料で共有したり、オープン ソースにするのではなく市販した方が良いと答えていました。あるフォーラム ユーザー、別名“Armada”は、“Sorzus”を支援し、ツールの公開を手伝うことを申し出て、Sorzusの最終的なパートナーになったようです。

“Sorzus”および“Armada”が、現在、Orcusの販売と開発を管理している2人の主要人物であると確信されています。Brian Krebsが、数週間前にブログを公開し、Orcusの背後にいる人物として推定されている個人の詳細を明らかにしています。私たちの分析から、‘Sorzus’がRATの主要開発者であり、‘Armada’がツールの販売とサポートの大半を担っていると推測されます。

アーキテクチャ

Orcusは、WPS (Windows Presentation Foundation)を使用して開発されたWindows管理/コントローラ コンポーネントと、C#を使用して開発されています。WPSは、Windowsベースのシステムでユーザー インターフェイスを提供するために使用されます。Orcusのアーキテクチャには3つの主要なコンポーネントがあります。Orcusコントローラ、Orcusサーバ、および被害者のマシンに導入されるトロイの木馬のバイナリです。伝達経路はさまざまで、電子メールとマルウェア バイナリを使用したスピア フィッシング攻撃から、Orcusマルウェア バイナリへのダウンロード リンクを伴うハイパーリンクを使用したもの、またはドライブバイ ダウンロード方式を使用したものさえあります。

大半のRATマルウェアでは、被害者が感染すると、マルウェアが攻撃者の管理パネルに接続し、データを送信して、感染したマシンを制御できるようにします。ただし、被害者のマシンがOrcus RATに感染した場合は、管理パネルのないOrcusサーバに接続されます。Orcusには管理パネル用の個別のコンポーネント(Orcusコントローラ)があり、Orcusコントローラからすべての感染したマシンを制御できます。この設定は、Orcusを使用しているサイバー犯罪者に複数のメリットをもたらします。たとえば、彼らは、単一のOrcusサーバにアクセスすることで被害者のマシンへのアクセスを共有できます。つまり、サーバ上で、サイバー犯罪者のグループが連携し、感染した被害者のネットワークをより都合良く管理することが可能となります。さらに、複数の‘Orcusサーバ’を展開して、自分達のOrcusネットワークを拡張することもできます。

図3 Orcusのアーキテクチャ
図3 Orcusのアーキテクチャ

開発者は、Windows用のコントローラを構築しただけでなく、Androidデバイスを使用して感染したマシンを制御するために、管理コントローラ用のAndroidアプリも作成しました。コントローラ/管理コンポーネント用のAndroidアプリも、Google Playから入手できます。

図4 Androidプラットフォーム対応のOrcus管理コンポーネント
図4 Androidプラットフォーム対応のOrcus管理コンポーネント

固有の機能

被害者のマシンを完全に制御できるOrcusの機能の一部を以下に示します。

  • キーロガー
  • Screengrabs(スクリーングラブ)
  • リモートコード実行
  • Webcamモニター
  • Webcamライトの無効化
  • マイクレコーダー
  • リモート管理
  • パスワードを盗む
  • サービス拒否(DoS)
  • VM検出
  • InfoStealer
  • HVNC
  • リバースプロキシ
  • レジストリエクスプローラー/エディター
  • リアルタイムスクリプティング
  • 高度なプラグインシステム

OrcusにはRATの一般的な機能が多数含まれていますが、固有の機能であり、最も注目に値するものは‘プラグインシステム’‘リアルタイムスクリプティング’です。このプラグイン機能を使用すると、Orcusのユーザーは独自のプラグインを構築したり、作成者が開発したプラグインをダウンロードしたりできます。ユーザーがサポート対象のプログラミング言語(C#、VB.NetまたはC++)のいずれかについての基本的な知識を有している場合、そのユーザーは、プラグインを簡単に拡張および書き込み、Orcusの現在の機能上に構築できます。作成者は、プログラムを開発するためにプログラマーが使用するアプリケーションであるIDE(統合開発環境)を使用してプラグインを作成できるように開発者パッケージも用意しています。

Orcusの販売者は、プラグインを作成するための非常によくまとめられたチュートリアルも用意しており、また、作成済みのプラグインのサンプルがいくつか収められているGithubページも管理しています。Orcusを使用すると、7種類の異なるプラグインを作成できます。図5に現在構築可能なプラグインのタイプのリストを示します。

図5 プラグインのタイプ
図5 プラグインのタイプ

ライブラリは、文書がよくまとめられていて、現在‘sharpdox.de’にホストされています。Sharpdoxは、C#コードのドキュメントを作成するためのツールで、‘sharpdox.de’にホストできます。図6に、Orcusプラグインの‘ClientController’クラスで使用できるメソッドまたは機能の例を示します。

図6 プラグインライブラリドキュメントの例
図6 プラグインライブラリドキュメントの例

リアルタイムスクリプティング機能を使用すると、Orcusユーザーは、リアルタイムでコード(C#、VB.Net)を書き込んで、実行し、同時に侵害したシステムをリモート管理できます。

ライブラリは、文書がよくまとめられていて、現在‘sharpdox.de’にホストされています。Sharpdoxは、C#コードのドキュメントを作成するためのツールで、‘sharpdox.de’にホストできます。図6に、Orcusプラグインの‘ClientController’クラスで使用できるメソッドまたは機能の例を示します。

図7 Orcusのリアルタイムスクリプティング機能
図7 Orcusのリアルタイムスクリプティング機能

分析: Orcusからの防御方法

インシデント対応者または脅威アナリストの観点から、マルウェアファミリが使用する分析回避防御法のタイプを理解して、マルウェアを正しく分析するための環境を構築できるようにすることが重要です。このブログの意図はRATの詳細なリバースエンジニアリングを説明することではありませんが、標準的な分析環境で検出されないようにOrcusが使用している分析回避機能の一部を確認することは興味深いことです。

最近の攻撃で確認されたOrcusサンプルの1つをリバースエンジニアリングして、設定されている機能の一部を確認しました。OrcusがC# / VB.Netで開発されたとすると、.NET逆アセンブラーを使用して簡単にコードを調査できます。OrcusユーザーがVMDetection機能を有効にした状態でマルウェアバイナリを構築している場合、そのマルウェアは、マルウェアが仮想マシン環境内で動作しているかどうかをチェックします。Orcusが検出する仮想マシンはParallelsDesktop、VirtualBox、VirtualPCおよびVMWareです。下図は、仮想マシンの存在を検出するためのコードの抜粋を示しています。

図8 Orcusの仮想マシンの検出
図8 Orcusの仮想マシンの検出

Orcusは、下図に示すようにNetmon、TCPView、Wiresharkなどのネットワークモニタリングツールのプロセスもチェックします。

図9 ネットワーク分析ツールの検出
図9 ネットワーク分析ツールの検出

影響

下図10は、Orcusのマルウェアダウンロードセッション数に関してAutofocusで観察されたトレンドグラフを示しています。Orcusに用意されている機能豊富なツールセットおよびスケーラビリティを考慮すると、今年になって初めて販売されて以降、サイバー犯罪者間でOrcus RATの使用と受け入れが増加していることは驚くにあたりません。Orcusが普及していることを考慮すると、RATとしてOrcusが選択されるサイバー犯罪攻撃が増える可能性が高いです。

図10 Orcusダウンロードセッションの経時的なAutofocusグラフ
図10 Orcusダウンロードセッションの経時的なAutofocusグラフ

結論

Orcusの背後にいる個人は、おそらく登録済み事業の「リモート管理ツール」として宣伝してRATを販売し、このツールが合法的なビジネスユース向けにのみ設計されていると主張しています。しかし、機能、ツールのアーキテクチャ、およびハッカーフォーラムで公開および販売されていることから、Orcusが悪意のあるツールであり、その対象顧客がサイバー犯罪者であることは明らかです。これは珍しいことではありませんが、開発者が最初には無料またはオープンソースでコードをリリースしようとしていたが、同様の悪意のあるツールを構築して販売した経験を持つハッカーフォーラム内の個人と協業することになり、市販のRATを作成し、それが固有の機能セットおよび柔軟なアーキテクチャを持つことからサイバー犯罪者間で広く受け入れられ始めたというのは興味深いケースです。

Palo Alto NetworksのWildFireはOrcusを悪意のあるものとして正しく識別します。AutoFocusを使用しているお客様は、この脅威をOrcusタグを使用して追跡できます。

IOC

Orcusサンプルのハッシュの現在のリストはUnit 42 githubページ(こちら)にあります。