SpriteCoin:新たな仮想通貨と見せかけたランサムウェア

フォーティネットのFortiGuard Labsは、2014年に開発されたオープンソースの仮想通貨であるMonero(モネロ)のみを身代金として受け付けるランサムウェアを確認しました。ランサムウェアの世界では、Bitcoin(ビットコイン)が標準として広く使われてきましたが、他の仮想通貨へと移行する動きもあるようです。ランサムウェアの作者たちは、最新動向や社会情勢に常に注目しており、仮想通貨の高騰に乗じて一儲けすることを狙っているようです。

この最新のランサムウェアは、Moneroによる身代金支払いを要求するだけでなく、仮想通貨に関連するパスワードストアであるかのように装います。このマルウェアは、「spritecoin」ウォレットであると偽って、希望するパスワードを作成するようユーザーに要求しますが、実際にはブロックチェーンをダウンロードすることなく、攻撃対象ユーザーのデータファイルを密かに暗号化します。そして、そのデータを復号化する代償として、Moneroで身代金を支払うよう要求します。このファイル(spritecoind[.]exeとして活動中であることが確認されています)は、検知を逃れやすくする目的で、UPXで圧縮されています。「Your files are encrypted(ファイルが暗号化されました)」というおなじみとも言える身代金要求メモが表示され、0.3 Monero(この記事の執筆時現在で105米ドル相当)が要求されます。

我々の分析で、このサンプルにSQLiteエンジンが埋め込まれていることを示す指標が確認されましたが、これは、SQLiteを使って盗んだ認証情報を格納しているためと考えられます。このランサムウェアは、最初にChromeの認証情報を探し、何も見つからなかった場合はFirefoxの認証情報ストアにアクセスしようとしているようです。そして、暗号化するいくつかの特定のファイルを探し、それらのファイルをencryptedというファイル拡張子を使って暗号化します(例:resume.doc.encrypted)。

また、さらに悪質なことに、復号化の過程で、証明書の不正取得、画像解析、Webカメラ起動などの機能を持つ別のマルウェアが展開されます。

キルチェーン分析

SpriteCoinランサムウェアの脅威のキルチェーン簡易分析を以下にご紹介します。

拡散方法:この攻撃は仮想通貨に関心のあるユーザーが集まるフォーラムのスパムを使って拡散するとの未確認報告があり、我々もこれが実際の拡散方法であると考えています。Spritecoinを詳しく調査したところ、ホームページと思われるpagebin[.]com/xxqZ8VESが見つかりました。

SpriteCoin: SpriteCoin is a new cryptocurrency written entirely in JavaScript (with C for the mining module). It uses the CryptoNight algorithm but is not cryptonote-based. With a max supply of 1 trillion coins and a block time of 45 seconds, this is sure to be a profitable coin for you (I hope). Download for Windows (scan it with VirusTotal if you don't trust it)

SpriteCoin
SpriteCoinは、JavaScriptのみで(マイニングモジュールにはCを使用して)記述された新しい仮想通貨です。CryptoNightアルゴリズムを使用していますが、CryptoNoteベースのものではありません。総発行枚数1兆コイン、ブロック時間が45秒の、収益性の高いコインです。
Windows版のダウンロード(心配な方は、VirusTotalでスキャンしてください)

ランサムウェアは通常、ソーシャルエンジニアリングを使って拡散しますが、エクスプロイトによるユーザーの介入を必要としない方法もあります。一般的なのは、電子メール、エクスプロイトキット、Excel / Word / PDFの不正マクロ、またはJavaScriptダウンローダーですが、これ以外の方法が使われることもあります。攻撃者は、ソーシャルエンジニアリングを使用し、巧妙に作成した電子メールでユーザーを誘導して、これらの実行可能ファイルを実行させます。多くの場合、これらのファイルには、疑問を持つことなくファイルを開いてしまいそうな、もっともらしいファイル名が付けられています。ユーザーのマシンをランサムウェアに感染させるには、一般的に、そのユーザーとのやり取りが必要になります。

今回の例では、SpriteCoin仮想通貨のウォレットに見せかけた「SpriteCoin」パッケージ(spritecoind[.]exe)として、ユーザーに送り付けられます。Googleを使った簡易検索でSpriteCoinに関する文書が見つからないため、我々は、これが本物の仮想通貨でなく、この攻撃のためだけに作成されたものであると考えています。

エクスプロイト:エクスプロイトの多くは、ユーザーがソーシャルエンジニアリングに誘導されることで開始します。仮想通貨を使って短期間で利益を得られるという誘い文句は、用心深くないユーザーにウォレットアプリをダウンロードさせる手段として十分に効果があるようです。

インストール:このマルウェアが実行されると、「Enter your desired wallet password(希望するウォレットパスワードを入力してください)」というメッセージが表示されます。

希望するパスワードを入力してください:(パスワード不要の場合は何も入力しないでください [リスクあり])

上記の手順が完了すると、ブロックチェーンをダウンロードすると見せかけて、実際には、暗号化ルーチンが実行されます。

我々の分析では、ある特定のパッチが適用されていないと、このファイルが動作しないことがわかりました。我々のテスト環境はWindows XP SP3のマシンでしたが、msvcrt.dllの_snprintf_s関数がなかったために、このマルウェアが実行されなかったようです。しかしながら、_snprintfにパッチを適用したところ、実行が開始しました。

このマルウェアは、最初の実行時に自分自身を %APPDATA%\MoneroPayAgent.exeにコピーして、その新しいコピーを再び起動します。そして、レジストリキーも変更します。

"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run MoneroPay
%APPDATA%\MoneroPayAgent.exe"

Windows XP SP3のマシンの場合、AppDataは「\Documents and Settings\user\Application Data\」に存在します。

コマンドアンドコントロール:Moneroの身代金を要求するこのランサムウェアは、従来の意味で言うコマンドアンドコントロールサーバーに接続するのではなく、Onionプロキシ経由でTORサイトに接続します(http://jmqapf3nflatei35[.]onion.link/*)。このプロキシによって、TOR接続を必要とすることなく、ユーザーと攻撃者のWebサイトとの通信が可能になります。これには、攻撃者にとって2つのメリットがあります。すなわち、1. TORドメインの背後に隠れることで攻撃者の匿名性が保証され、2. 攻撃対象である(TORが何かを知らなかったり、面倒なことを避けたいと考えたりする)ユーザーと攻撃者の間のフェールセーフとしての役割を果たし、攻撃の成功率を上げる効果があります。

目的の実行:このランサムウェアは、決まった拡張子(.txt、.py、.doc、.rtf、.cpp、.cc、.go、.tcl、.html、.ppt、.docx、.xls、.xlsx、.pptx、.key、.pem、.psd、.mkv、.mp4、.ogv、.zip、.jpg、.jpeg、.work、.pyw、.h、.hpp、.cgi、.pl、.rar、.lua、.img、.iso、.webm、.jar、.java、.class、.one、.htm、.js、.css、.vbs、.7z、.eps、.psf、.png、.apk、.ps1、.gz、.wallet.dat、.id_rsa)の特定のファイルの暗号化を開始し、暗号化したファイルの末尾に「.encrypted」を追加します。

さらに、ユーザーのChromeとFirefoxの認証情報ストアが不正取得され、POSTを使ってリモートWebサイトに送信されます(http://jmqapf3nflatei35[.]onion[.]link/*)。

ユーザーのファイルが暗号化されると(あるいは、ユーザーが暗号化されたファイルにアクセスしようとすると)、身代金要求メモが生成されてブラウザーのウインドウに表示され、身代金の金額が提示されます。

ユーザーが不幸にも要求に応じて復号鍵を手に入れることを決断してしまうと、W32/Generic!trとして検知される新しい不正実行可能ファイル[80685e4eb850f8c5387d1682b618927105673fe3a2692b5c1ca9c66fb62b386b]が送付されます。この不正ペイロードの詳細分析は完了していませんが、Webカメラを有効にし、証明書と鍵を解析する、ユーザーにとってさらに危険と思われる機能があることが確認されました。

本件については、MalwareHunterTeamSensorsTechForumによる調査もご参照ください。


FortiGuardによる対策

この新たなランサムウェアの対策として、以下のAVシグネチャが作成され、すでに利用されています。

  • W32/Ransom.F3F6!tr(ランサムウェア)
  • W32/Agent.DDFA!tr(Moneroの二次ペイロード)
  • W32/Generic!tr(バックドア)
  • W32/MoneroPay.F3F6!tr.ransom

また、すべてのネットワークIOCがWebフィルタリングデータベースのブラックリストに登録されました。

上記のマルウェアシグネチャに加えて、確実な方法でのバックアップとリカバリの計画を立て、全社的にランサムウェア攻撃に備えることを強く推奨します。シャドウボリュームのバックアップだけに頼るべきではなく、これは、一部のランサムウェア亜種によって削除されてしまうこともあるためです。マルウェアの作成者たちは、攻撃の成功率を高くしようと努力しています。システムを定期的にバックアップする人が少ないことを知っていますが、シャドウボリュームやそれに類似する方法でバックアップしているユーザーがいることを想定し、それを突破するためのロジックをマルウェアに組み込んでいます。シャドウボリュームのバックアップではなく、重要なファイルをオフラインにバックアップすることが、結果的には、時間の節約と面倒な作業の大幅な軽減につながります。また、ベストプラクティスとして、ファイルバックアップの重要性を常に理解し、定期的にバックアップを実行する必要があります。そして、オフラインで別のデバイスにバックアップを保存し、冗長性を考慮して複数の場所にバックアップするようにします。

このマルウェアはユーザーとのやり取りがなければ動作しないため、セキュリティトレーニングの正式なプログラムを用意して、四半期に1回以上の頻度で関係者向けに実施することが重要です。トレーニングの計画にあたっては、ユーザーが興味を持つよう工夫し、セキュリティプログラムの重要な要素を組み込んで、ユーザーからの意見も取り入れながら、積極的な参加を促します。セキュリティに対する従業員の意識を向上させるには、ユーザー報酬プログラムが特に効果的です。ランサムウェアから身を守る方法の詳細については、ブログ記事「ランサムウェアから身を守るための10の措置」を参照してください。

そして忘れてならないのが、FortiGuardのシグネチャを常に最新の状態にしておくことです。


IOC

(FortiGuardサービスをご利用いただいていない場合に)この脅威の検知とブロックに使用できるIOC(Indicators of Compromise:侵害指標)の一部を、以下に記載します。これらのIOCの多くは、この脅威の発見にも利用できるものです。

ネットワークIOC:
hxxp://jmqapf3nflatei35[.]onion[.]link/log?id=%s - 最初のランサムウェアの接続(TORプロキシ)
hxxp://jmqapf3nflatei35[.]onion[.]link/paid?id=%s - 身代金支払いのURL
hxxp://jmqapf3nflatei35[.]onion[.]link/static/win - 二次コンポーネントのダウンロード
hxxp://jmqapf3nflatei35[.]onion - TORの正しいURL

システムIOC:
ababb37a65af7c8bde0167df101812ca96275c8bc367ee194c61ef3715228ddc - 初期サンプル
3e06ef992519c02f43b10cc9bfa671e5176e2cef5fab2f3d21b1e7fc17438e7d - 代替サンプル
80685e4eb850f8c5387d1682b618927105673fe3a2692b5c1ca9c66fb62b386b - 二次サンプル
%APPDATA%\MoneroPayAgent.exe - インストールパス
%TEMP%\19204ur2907ut982gi3hoje9sfa.exe - 二次サンプルのファイル名のインストールパス
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run MoneroPay

%APPDATA%\MoneroPayAgent.exe - 存続のためのレジストリのエントリ
.encrypted - 暗号化されたオブジェクトファイルの末尾に追加される文字

フォーティネットの脅威レポートでは、脅威の最新動向と対策のための重要なヒントをご紹介しています。

毎週お届けするFortiGuardインテリジェンス概要、またはフォーティネットのFortiGuard脅威インテリジェンスサービスのオープンベータ版にご登録ください。