検索
※ 本記事は2018年9月17日に米国で公開された「Xbash Combines Botnet, Ransomware, Coinmining in Worm that Targets Linux and Windows」の日本語翻訳です。
パロアルトネットワークス脅威インテリジェンス調査チームUnit 42のリサーチャーは、LinuxおよびMicrosoft Windowsサーバーを標的にした新しいマルウェア ファミリを発見しました。弊社は、このマルウェアをXbashと命名し、これまでランサムウェア攻撃で知られた脅威攻撃者グループであるIronグループの仕業と判断しました。
Xbashには、ランサムウェアと暗号通貨マイニングの機能があります。また、自己伝搬機能(WannaCryやPetya/NotPetyaと同じ、ワームライクな特性を持つことを意味します)も保有しています。さらに、現在は実装されていませんが、実装されたら、組織のネットワーク内で極めて迅速な拡散を可能にする機能も持っています(これも、WannaCryやPetya/NotPetyaと同じです)。
Xbashは、貧弱なパスワードおよびパッチ未適用の脆弱性を攻撃することで拡散します。
Xbashは、データ破壊マルウェアです。ランサムウェア機能の一環として、Linuxベースのデータベースを破壊します。身代金が支払われても、復元を可能にする機能はXbash内には見つかりませんでした。これは、NotPetya同様、Xbashが、ランサムウェアに見せかけたデータ破壊マルウェアであることを意味しています。
組織は、以下によってXbashから自らを守ることができます。
パロアルトネットワークスのお客様は、本記事の最後に記載されているとおり、Xbashから保護されます。
Xbashの機能について、いくつかの詳しい特徴を以下に挙げます。
最近、Unit 42は、パロアルトネットワークスのWildFireを使用して、Linuxサーバーを標的にした新しいマルウェア ファミリを識別しました。詳しい調査の結果、それは活動中のサイバー犯罪グループIron(別名Rocke)によって今年開発された、ボットネットとランサムウェアの組み合わせであると判断しました。弊社は、悪意のあるコードの元のメイン モジュールの名前に基づいて、この新しいマルウェアを「Xbash」と命名しました。
これまで、Ironグループは、主にMicrosoft Windows、および少数ですがLinuxを標的にした、仮想通貨マイナーまたは仮想通貨取引ハイジャック型トロイの木馬を開発し、拡散していました。しかし、Xbashは、保護されていないサービスを検出し、被害者のMySQL、PostgreSQLおよびMongoDBデータベースを削除し、ビットコインの身代金を要求します。Xbashは、Hadoop、Redis、ActiveMQにおける3つの既知の脆弱性を使用して、自己伝搬するか、Windowsシステムに感染します。
Xbashのその他の注目するべき新しい技術的特徴は以下のとおりです。
弊社は、これまで4つのバージョンのXbashを観測しています。これらのバージョンのコードおよびタイムスタンプが異なることから、現在も開発中であることがわかります。ボットネットは、早ければ2018年5月から活動を開始しています。これまでのところ、このマルウェアが使用したビットコイン ウォレット アドレスへの被仕向取引は48件観測されており、これはランサムウェアの振る舞いによる被害者が48件存在することを示しています。
以下では、これらの振る舞いについてより技術的な詳細を示し、パロアルトネットワークス製品がこの脅威をいかに防ぐことができるかについて説明します。
2016年の以前のブログで、Unit 42は、Pythonで開発され、PyInstallerによってPE実行可能ファイルに変換されたWindowsマルウェアについて明らかにしました。弊社が観測したXbashの4つのすべてのバージョンで、これと同じテクニックが使用されています。このことから、マルウェアの作成者は以下の利点を把握していると判断します。
図1 VirusTotalが示すXbashの検出率
手動のリバース エンジニアリングによって、弊社は、Xbash実行可能ファイルからメインの悪意のあるPythonモジュールを抽出し、正常にデコンパイルすることができました。この分析の後半のセクションで、Pythonソース コードを示します。
Xbashには、一連のドメイン名がC2サーバーとしてハードコードされています。また、Pastebin(IOCにリスト)でホストされているWebページをフェッチして、C2ドメイン リストの更新も行います。これらのC2ドメインのいくつかは、Ironサイバー犯罪グループに帰属する、以前のWindows暗号通貨マイナーから再使用されています。
すべてのC2通信は、HTTPプロトコルに基づいていました。弊社は、3種類のC2トラフィックを見つけました。
スキャニングの標的のフェッチには、3種類のURIが使用されていました。
依然活動中のC2ドメインを介して、1,000ドメイン、1,000 IPアドレス、リクエストごとに/22のCIDRをそれぞれ取得できました(図2参照)。異なるリクエストごとに戻される結果も異なることから、C2サーバーは異なるボットにタスクを動的にディスパッチしていることがわかりました。ランダムにいくつかのドメインを選択しましたが、標的にしている特定の地域や業種はありませんでした。また、標的にしているドメインは、Alexaの上位100万件のドメイン リストの中にありませんでした。
図2 詳細スキャニングのためにXbashがC2サーバーからフェッチしたドメイン
MiraiおよびGafgytなど一般的なLinuxボットネットは、通常IPアドレスしかスキャンしません。Xbashは、新しい段階のLinuxボットネットの進化形であり、IPアドレスだけでなくドメインも標的にすることで、公開Webサイトへ標的を拡大します。この結果ハニーポットを配備してXbashの攻撃を観測させることが難しくなります。というのも、ハニーポットは通常、IPアドレスのみで配備されるためです。意図的な手順ではないかもしれませんが、ドメインを標的にできることは、攻撃者にとって分析を回避できる利点があります。
スキャニング ターゲットのリストをフェッチするだけでなく、Xbashは、URI 「/p」を介してC2サーバーにリクエストし、総当たり攻撃のために貧弱なパスワードのリストをフェッチします。
Xbashが標的をスキャンし、特定の開いたポートや貧弱な資格情報、エクスプロイト可能なパッチ未適用の脆弱性を見つけることに成功すると、URI 「/c」へのHTTP POSTを介して結果をランダムなC2サーバーにレポートします。
スキャニングの標的がIPアドレスの場合、Xbashは、多くのTCPまたはUDPポートをスキャンしようとします。プローブ対象のサービスおよび使用ポートの一部を示します。
VNC、Rsync、MySQL、MariaDB、Memcached、PostgreSQL、MongoDB、およびphpMyAdminなど一部のサービスでは、当該サービス用のポートが開いていると、埋め込まれている貧弱なユーザー名/パスワードのディクショナリを使用して、サービスにログインしようとします(図3参照)。ディクショナリには、Telnet、FTP、Redisなどのサービスの共通またはデフォルトのパスワードも含まれています。
図 3 XbashによるRsyncなどのサービスに対する総当たり攻撃
Xbashは、MySQL、MongoDB、およびPostgreSQLを含むサービスに正常にログインすると、サーバー上の既存のすべてのデータベースを削除し(ユーザー ログイン情報を格納している一部のデータベースを除く)、「PLEASE_READ_ME_XYZ」という名前の新規データベースを作成し、その新規データベースのテーブル「WARNING」にランサム メッセージを挿入します(図4および図5参照)。
Send 0.02 BTC to this address and contact this email with your website or your ip or db_name of your server to recover your database! Your DB is Backed up to our servers! If we not received your payment,we will leak your database
(このアドレスに0.02 BTCを送り、あなたのWebサイト、またはあなたのサーバーのipまたはdb_nameでこの電子メールに連絡して、データベースを復元してください! あなたのDBはわたしたちがバックアップしています。あなたから支払いがない場合、データベースを漏洩させます)
1jqpmcLygJdH8fN7BCk2cwwNBRWqMZqL1
backupsql@pm.me
図4 Xbashはランサム メッセージをphpMyAdminを介してMySQLデータベースに作成
図5 Xbashによって作成された新規データベース、テーブル、ランサム メッセージ
XbashがphpMyAdminサービスにログインしている場合、HTTPリクエストをphpMyAdminに送信して、上記とまったく同じ動作をそのデータベースに対しても行います。phpMyAdminサービスは、通常一部のMySQLデータベースを管理しているためです。
Xbashによって使用されたデータベース名、テーブル名、テーブル スキーマ、ランサム メッセージは、2016年および2017年にMySQL、MongoDB、ElasticSearch、Hadoop、CouchDB、Cassandra、Redis、AWS S3等に対して複数回行われたランサム攻撃におけるインシデントとほぼ同じであることは注目に値します。これらの攻撃では、レポートによれば世界中で56,685件を超えるサーバーが侵害されました。Xbashにおける違いは以下のみです。
これまで、3つの異なるビットコイン ウォレット アドレスがXbashサンプルでハードコードされているのを確認しています。2018年5月以降、48件の被仕向取引がこれらのウォレットに対して行われ、総収入は約0.964ビットコインです(本記事の執筆時点で、約6,000米ドル)。図5は、ウォレットの中の1つを示しています。また、資金が引き出されていることから、攻撃者が積極的に身代金を回収していることがわかります。
図6 ビットコイン ウォレットの1つに対する被仕向取引
しかし、よくあることですが、攻撃者が実際に約束を守り、被害者が削除されたデータベースを復元できるように手配した事実は確認されていません。実際、身代金を要求するメモとは異なり、削除されたデータベースをバックアップするコードは、Xbash内に存在しませんでした。
Xbashは、宛先でHadoop、Redis、ActiveMQが実行中であることを把握すると、自己伝搬のためにサービスをエクスプロイトしようとします。標的にされる既知の脆弱性は以下の3つです。
図7 XbashによるRedis脆弱性のエクスプロイト
エクスプロイトが成功すると、Xbashは、直接シェル コマンドを実行して悪意のあるシェルまたはPythonスクリプトをダウンロードして実行するか、新規のクローン ジョブを作成して同じことを実行します(これも図6参照)。悪意のあるスクリプトは、Xbashが使用するものと同じC2サーバーからダウンロードされます。いずれの場合でも、メインとなる機能は、他の一般的な暗号通貨マイナーを終了し、Ironサイバー犯罪グループによって開発された暗号通貨マイナーをダウンロードし、Xbash自体をターゲット システムにダウンロードしてさらに伝搬するというものです。
要するに、Xbashは、脆弱なHadoop、Redis、ActiveMQシステムを標的にして使用し、攻撃者の暗号通貨マイナーを実行するとともに、その環境内でXbashを伝搬します。
Xbashの特筆するべきもう1つの特徴は、RedisおよびHTTPサービスを使用して、脆弱なRedisサービスがLinuxまたはMicrosoft Windowsにインストールされているかどうか判断するやり方です。スキャン対象の宛先で脆弱なRedisサービスとHTTPサービスの両方が稼働している場合、XbashはRedisの脆弱性によって漏出した情報を使用して、HTTP Webサーバーのインストール ロケーションを推測します。Xbashはこのロケーションを使用して、宛先がどちらのオペレーティング システムを実行しているか(LinuxまたはWindows)推測します(図7参照)。
図8 オペレーティング システムを判断するためにXbashが使用するWebサーバー パス
Windowsサーバーを見つけたと確信すると、XbashはRedis脆弱性をエクスプロイトして、Linuxクローン ジョブではなく、Windowsスタートアップ アイテム(図6参照)を作成します。Xbashのバージョンによっては、この新しいスタートアップ アイテムは、悪意のあるHTMLまたはScriptletファイルをXbashのC2サーバーからダウンロードして、「mshta」または「regsvr32」を介して、ファイル内でJavaScriptまたはVBScriptを実行します。これらのスクリプトは、PowerShellを呼び出して、悪意のあるPE実行可能ファイル、またはPE DLLファイルを同じC2サーバーからダウンロードして、実行します(図8参照)。
図9 脆弱なWindowsサーバーで実行される悪意のあるJavaScriptコード(コメント付き)
弊社の調査の結果、これらの悪意のあるPEファイルは、Ironサイバー犯罪グループによって開発された暗号通貨マイナーまたはランサムウェアであることがわかりました(図9参照)。
図10 AutoFocusによる悪意のあるPEファイルとIronサイバー犯罪グループの関連付け
Xbashのすべてのバージョンで、「LanScan」という名前のPythonクラスがあることがわかりました。その機能は、ローカル イントラネット情報を取得し、同じサブネット内のすべてのIPアドレスのリストを生成し、これらのすべてのIPに対してポート スキャニングを実行することです(図10参照)。コードの進化過程で、作成者はポートを次々に追加していったものと思われます。しかし、このコードは、活動しておらず、使用されていません。まだコードの主要部分とつながれていません。作成者は、将来のバージョンでこの機能を有効化しようと考えているものと弊社は確信しています。
図11 被害者のサブネット内のIPアドレスのリストを生成し、ポート スキャニングを実行
企業ネットワーク(オフィス ネットワーク、データセンター、プライベート クラウドを含む)では、通常、公開せずに内部でサービスを提供するサーバーが多くなります。そしてこれらのサービスは、保護されず、貧弱なパスワードで設定されていることが多いのが現状です。イントラネット内で脆弱なサービスを見つける機会は、公開されているインターネットよりもはるかに多くなります。Xbashのイントラネット スキャニング コードの主要な狙いがここにあると弊社は考えています。WannaCryおよびNotPetyaなどの事象例を考えれば、このイントラネット機能が有効化されると、Xbashはさらに破壊的なマルウェアになるでしょう。
Xbashは、新しく複雑なLinuxマルウェアで、現在活動しているサイバー犯罪グループによる最新の業務成果です。弊社は、その特性および振る舞いから、IoTやLinuxに関連したサイバーセキュリティ分野でみられる多くの傾向を確認しました。
パロアルトネットワークスのお客様は、Xbashから以下に示す方法で保護されています。
Linuxのサンプル
7a18c7bdf0c504832c8552766dcfe0ba33dd5493daa3d9dbe9c985c1ce36e5aa zlibx
0b9c54692d25f68ede1de47d4206ec3cd2e5836e368794eccb3daa632334c641 Xbash
dbc380cbfb1536dfb24ef460ce18bccdae549b4585ba713b5228c23924385e54 xapache
5b790f02bdb26b6b6b270a5669311b4f231d17872aafb237b7e87b6bbb57426d libhttpd
e59be6eec9629d376a8a4a70fe9f8f3eec7b0919019f819d44b9bdd1c429277c XbashX
f808a42b10cf55603389945a549ce45edc6a04562196d14f7489af04688f12bc XbashY
dcd37e5b266cc0cd3fab73caa63b218f5b92e9bd5b25cf1cacf1afdb0d8e76ff rootv2.sh
de63ce4a42f06a5903b9daa62b67fcfbdeca05beb574f966370a6ae7fd21190d lowerv2.sh
09968c4573580398b3269577ced28090eae4a7c326c1a0ec546761c623625885 rootv2.sh
a27acc07844bb751ac33f5df569fd949d8b61dba26eb5447482d90243fc739af r88.sh
Windowsのサンプル
f888dda9ca1876eba12ffb55a7a993bd1f5a622a30045a675da4955ede3e4cb8 tt.txt
31155bf8c85c6c6193842b8d09bda88990d710db9f70efe85c421f1484f0ee78 tg.jpg
725efd0f5310763bc5375e7b72dbb2e883ad90ec32d6177c578a1c04c1b62054 reg9.sct
d7fbd2a4db44d86b4cf5fa4202203dacfefd6ffca6a0615dca5bc2a200ad56b6 m.png
ece3cfdb75aaabc570bf38af6f4653f73101c1641ce78a4bb146e62d9ac0cd50 tmp.jpg
ダウンロードURL
hxxp://3g2upl4pq6kufc4m[.]tk/zlibx
hxxp://e3sas6tzvehwgpak[.]tk/XbashY
hxxp://3g2upl4pq6kufc4m[.]tk/XbashY
hxxp://3g2upl4pq6kufc4m[.]tk/xapache
hxxp://3g2upl4pq6kufc4m[.]tk/libhttpd
hxxp://xmr.enjoytopic[.]tk/l/rootv2.sh
hxxp://xmr.enjoytopic[.]tk/l2/rootv2.sh
hxxp://xmr.enjoytopic[.]tk/l/r88.sh
hxxp://xmr.enjoytopic[.]tk/12/r88.sh
hxxp://e3sas6tzvehwgpak[.]tk/lowerv2.sh
hxxp://3g2upl4pq6kufc4m[.]tk/r88.sh
hxxp://e3sas6tzvehwgpak[.]tk/XbashY
hxxp://e3sas6tzvehwgpak[.]tk/XbashX
hxxp://png.realtimenews[.]tk/m.png
hxxp://daknobcq4zal6vbm[.]tk/tt.txt
hxxp://d3goboxon32grk2l[.]tk/reg9.sct
C2通信用ドメイン
ejectrift.censys[.]xyz
scan.censys[.]xyz
api.leakingprivacy[.]tk
news.realnewstime[.]xyz
scan.realnewstime[.]xyz
news.realtimenews[.]tk
scanaan[.]tk
scan.3g2upl4pq6kufc4m[.]tk
scan.vfk2k5s5tfjr27tz[.]tk
scan.blockbitcoin[.]tk
blockbitcoin[.]com
C2通信用IP
142.44.215[.]177
144.217.61[.]147
C2ドメイン更新用URL
hxxps://pastebin[.]com/raw/Xu74Mzif
hxxps://pastebin[.]com/raw/rBHjTZY6
ランサム メッセージのビットコイン ウォレット アドレス
1Kss6v4eSUgP4WrYtfYGZGDoRsf74M7CMr
1jqpmcLygJdH8fN7BCk2cwwNBRWqMZqL1
1ExbdpvKJ6M1t5KyiZbnzsdQ63SEsY6Bff
ランサム メッセージの電子メール アドレス
backupsql@protonmail[.]com
backupsql@pm[.]me
backupdatabase@pm[.]me