Cisco Japan Blog
Share

Go RAT が活動中! AthenaGo が「TorWord」をポルトガルに突きつける


2017年2月14日


この記事は、Edmund Brumaghinpopup_icon が、Angel Villegas の協力を受けて執筆しました

サマリー

Talos では、世界中の組織をターゲットにしようとする攻撃者の手口の変化を発見すべく、脅威状況を絶えず監視しています。Talos は、悪意のある Word ドキュメントを介して拡散したユニークなマルウェア キャンペーンを特定しました。そのキャンペーンのターゲットとなったのは、ポルトガルの被害者のようです。配信されたマルウェアは、さまざまな理由から興味深く思われました。マルウェアの作成者がソース コードの作業ディレクトリでこのマルウェアのことを「Athena」と称していることと、マルウェアが使用する C2 ドメインが「athena」で始まるという事実から、私たちはこのマルウェアを「AthenaGo」と名付けました。この特別なマルウェアに関する詳細な分析は確認できていません。

AthenaGo は、攻撃者の指示を受けて追加のバイナリをダウンロードし、感染したシステム上で実行する機能を持つ、リモート アクセス型トロイの木馬(RAT)であると思われます。マルウェアは、Go プログラミング言語を使用して記述されています。Go で記述された Windows ベースのマルウェアは、一般的に見られるものではありません。さらに、このマルウェアが使用するコマンド & コントロール(C2)通信は、Tor2Web プロキシを利用していました。これは、さまざまなマルウェア作成者が Tor2Web プロキシ サービスを利用する頻度を増す傾向にあるのと一致しています。興味深いユニークな感染チェーンなので、Talos では、マルウェア自体だけでなく、それを拡散したキャンペーンについても調べてみることにしました。

最初の感染ベクトル

このマルウェアの初期の配信は、Go バイナリをダウンロードしてシステム上で実行する働きを持つ、悪意あるマクロが組み込まれた Microsoft Word ドキュメントを使用して行われました。マクロが組み込まれた Word ドキュメントは、特にポルトガル語圏の被害者をターゲットとして設計されたようです。ドキュメントを表示するためにユーザにマクロを有効にさせるメッセージは、ポルトガル語で書かれていました。また、VirusTotal にアップロードされたこのキャンペーン関連の悪意ある Word ドキュメントはすべて、最初はポルトガルの配信元からアップロードされていました。

1:悪意のある Word ドキュメントの例

 

上の図に示す Word ドキュメントのブランディングは、ポルトガルの国営郵便サービスである CTT Correios de Portugal, S.A.が使用するロゴを表示しています。悪意のあるドキュメントに含まれるマクロは、マルウェアのダウンローダとして機能し、hXXp://teenhangout[.]tk/data/msguard.zip でホストされた悪意ある Go バイナリを含む zip アーカイブを取得します。次にマクロ ダウンローダは実行ファイルを解凍してそれを起動し、システムに感染します。分析した悪意あるドキュメント サンプルのすべてで、ファイル メタデータ内の作成者フィールドが一致していました(図 4 を参照)。

2:マクロ ダウンローダの例

 

いったん実行されると、マルウェアは、次に示す感染システム上のディレクトリ ロケーションにファイルをドロップして、永続化を実現します。

%USERPROFILE%\Start Menu\Programs\Startup\msguard.exe
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msguard.exe

バイナリの詳細

Athena HTTP/IRC ボットは数年前から出回っています。これは、ターゲット環境に対するさまざまなタイプの DDoS 攻撃の実行や、Pay Per Install(PPI、インストール課金)詐欺の実施などを目的として設計されたものです。Athena ソース コードの初期バージョンはオンラインでリークされました。このマルウェアは、同じマルウェアのファミリの一部ではないと思われ、同じ機能の共有もしていないようです。

このマルウェアで最も興味深い要素の 1 つは、Go プログラミング言語を使用して記述されているという事実です。AthenaGo は、Go で記述された最初のマルウェアではありませんが、他のプログラミング言語と比較して、Windows ベースのマルウェアが Go で記述されているのは稀なことです。Go は、コンパイルされたバイナリに多くの情報を追加します。この情報を精査することでアナリストはマルウェア内で使用できる機能を特定できるので、この情報によって分析が容易になります。悪意のあるバイナリと関連アーティファクトの分析の結果、分析した Go サンプル内に存在する機能のほとんどに関して情報が得られました。

3:バイナリ アーティファクト

 

興味深いことに、ソース ファイルへのパスで指定されたユーザ名は、このマルウェアのダウンローダの配信に使用された悪意ある Word ドキュメントの作成者フィールドと一致していました。

4Office ドキュメントのメタデータ

 

C2 通信

私たちは、AthenaGo に関連する C2 通信を分析した際に、感染後に接続するドメインがマルウェア内に 2 つハードコードされていることを特定しました。そのどちらも Tor2Webpopup_icon を利用しています。これは、要求元クライアント システムが Tor ネットワーク上になくても Tor ネットワーク上のリソースにアクセスできるプロジェクトです。Tor2Web サーバはプロキシとして機能し、クライアントは、ローカル Tor クライアント アプリケーションをインストールしなくても、Tor 上のコンテンツをホストするサーバにアクセスすることができます。サイバー犯罪者にとっては、このアプローチの魅力がますます高まっているようです。一般に、Tor2Web および Tor を使用すると、匿名性を維持することが可能になります。また、Tor サーバの物理的なホスト場所を特定するのは困難であるため、Tor 内のサーバでホストされている悪意あるコンテンツを削除することがさらに難しくなっています。従来、Tor2Web はランサムウェアの支払いシステムによって利用されてきましたが、今では、マルウェアの配信と感染後の C2 通信popup_iconに使用されることが増えているようです。

マルウェアは、初期感染プロセス中に、C2 インフラストラクチャとの通信で使用される公開 RSA キーと秘密 RSA キーを生成します。このプロセスを実演する疑似コードを下記に示します。

5:疑似コードの例

 

RSA キー生成後、マルウェアは複数の C2 サーバに対して 2 つの HTTP HEAD リクエストを作成します。C2 サーバはバイナリにハードコードされています。最初に通信の確立に成功したサーバがアクティブな C2 サーバになります。マルウェアが使用するハードコードされたドメインは、Tor2Web を利用しています。これにより、マルウェアの作成者は、Tor 機能をマルウェアにパッケージングしなくても Tor のメリットを活用することができます。

6HTTP HEAD リクエストの例

 

バイナリにハードコードされた 2 つのドメインとは、athenabeicoxjr2l[.]onion[.]to と、athenabeicoxjr2l[.]onion[.]link です。ハードコードされたドメインのどちらにも到達できない場合、マルウェアは 4 秒間スリープ状態になり、その後、接続確立プロセスを再試行します。またマルウェアは、canihazip [] com を使用して、感染システムに関連付けられた外部 IP アドレスを特定します。

マルウェアは、C2 サーバとの通信の確立に成功すると、次に /helo 宛ての HTTP POST リクエストを使用して、感染システムに関する基本的な調査情報とともに、以前生成された RSA 公開キーを送信します。それに対してサーバは、AES を使用して生成された暗号キーを含む応答を返します。

7HELO POST の例

 

上記の HTTP POST リクエストのリクエスト ボディは暗号化されており、次のような形式が使用されています。

8HELO POST の形式

 

/helo への HTTP POST リクエストの成否にかかわらず、マルウェアはただちに別の HTTP POST リクエストを生成し、今度は /init に送ります。このリクエストの内容は暗号化され、data パラメータには RSA 暗号化、id パラメータには AES 暗号化が使用されます。id パラメータは感染システムに関する追加の調査情報を含んでおり、JSON 形式となっています。

9INIT POST の例

 

C2 サーバに送信される追加調査データの JSON 形式は次のとおりです。

{"Os":"<os type:<Windows>","Os_ver":"<os version>","Username":"<username and domain>","Hostname":"<system hostname>"}

/init への HTTP POST リクエストが成功すると、次にマルウェアは、/cmd に HTTP GET リクエストを送信します。これにも、感染システムに関する同じ基本的調査情報が含まれています。これは、このマルウェア関連の C2 インフラストラクチャを制御する攻撃者がコマンドを発行するためのリクエストだと思われます。マルウェアは、C2 サーバが HTTP GET リクエストに対して HTTP 応答で応答することを想定します。応答には、以前の通信時に C2 サーバによって提供された最後の AES キーおよび AES-CBC を使用して暗号化された Base64 URL 符号化データが含まれます。このデータも JSON 形式で、signature、timestamp、cmd といったキーを含んでいます。

次のコマンドは、マルウェアが利用して、C2 からの受信後の動作について指示するものです。

  • ListDir:感染システムのディレクトリ リストを返します。
  • ListProcesses:感染システムで実行中のプロセスのリストを返します。
  • KillProcess:マルウェアが、感染システムで動作するターゲット プロセスに対して taskkill コマンドを実行します。
  • DownloadFile:マルウェアがファイルをダウンロードして、コマンド パラメータで指定されたターゲット ロケーションに保存します。
  • DLRUN:マルウェアがファイルをダウンロードして %TEMP% に保存し、そのダウンロード ファイルを実行します。
  • RunCMD:Go の os/exec パッケージを使用して、感染システム上でシステム コマンドを実行します。

C2 サーバに出力結果を返す必要がある前述のコマンドの場合、マルウェアによって /cmd への HTTP POST リクエストが生成され送信されます。

まとめ

マルウェア作成者による攻撃の進化は今後も続いていくでしょう。なぜなら、検出されるリスクを効果的に軽減する方法を、彼らは特定しているからです。その例としては、Tor でホストされる C2 インフラストラクチャの利用、ネットワークとマルウェア間通信の特性およびコンテンツを保護するためのさまざまなレベルの暗号化の活用、特定のターゲットまたは層を標的に攻撃を限定することなどが含まれます。AthenaGo は、マルウェアの記述方法が、ネットワーク防御を回避してターゲット環境をうまく侵害できるように変化していることの 1 例を示しています。こうした手法が常に変化していく中、Talos は、お客様の保護を確実に維持できるように、脅威状況の変化の監視を続けていきます。

INDICATORS OF COMPROMISE(IOC)

ドメイン:

athenabeicoxjr2l[.]onion[.]to
athenabeicoxjr2l[.]onion[.]link
teenhangout[.]tk

Maldocs:

518362bce6243d6040bbf6fc1840c42450eeb03b7d7b47b232c1569a92de7f91(SHA256)
009f9f92b65b552ae195030ed48e787b249067aa26de3102718823807063afb5(SHA256)

バイナリ:

af385c983832273390bb8e72a9617e89becff2809a24a3c76646544375f21d14(SHA256)
c32fb305903a22106c6d3def0ac6c05b4f16cba99e23527b6c61d617ea794b1d(SHA256)
72d87b225b83ffb4f9c1595a12e6d6e296895b4202cdece01b28bbac0d13b449(SHA256)

カバレッジ

お客様がこの脅威を検出してブロックできる別の方法を以下に記載します。

image05

Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。

CWSWSA の Web スキャンは、悪意のある Web サイトへのアクセスを阻止し、それらの攻撃に使用されるマルウェアを検出します。

E メール セキュリティpopup_icon は、攻撃の一環として攻撃者が送りつける、悪意のある電子メールをブロックします。

IPS のネットワーク セキュリティ保護や NGFW には、攻撃者による不正なネットワーク アクティビティを検出できる最新のシグネチャが備わっています。

AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を組み込みます。

Umbrellapopup_icon は悪意のあるアクティビティに関連付けられているドメインの DNS 解決を防止します。

 

本稿は 2017年2月8日に Talos Grouppopup_icon のブログに投稿された「Go RAT, Go! AthenaGo points “TorWords” Portugalpopup_icon」の抄訳です。

 

Tags:
コメントを書く