概要
脅威のシーンにおいて、暗号通貨マイナーが示す存在感がますます強まっています。悪意のあるこのようなマイナーは、暗号通貨を採掘して攻撃者に利益をもたらすために、侵害したデバイスから CPU サイクルを盗みます。
この投稿では、ある特定の攻撃者、Rocke のアクティビティに注目しています。Rocke の活動、マルウェア、インフラストラクチャのいくつかを調査しながら、この攻撃者に関する詳細情報を明らかにしていきます。私たちは数ヵ月にわたる調査を経て、Rocke がマルウェアに新機能を追加し続け、新たな攻撃ベクトルを積極的に探索していることから、この集団が追跡の必要な攻撃者であると判断しました。
はじめに
Talos では、暗号通貨マイニング マルウェアの問題について、そして組織がこの脅威に対してどのようにシステムを保護するべきかについて、幅広く記事を執筆してきました。犯罪に関わるフォーラムの監視や、このような脅威をおびき寄せるハニーポット システムの展開を含めた調査を通じて、この脅威における進展を引き続き積極的に調査します。私たちが「Rocke」と呼んでいる中国語圏からの攻撃者が認識に上ったのは、これらのインテリジェンス ソースを介してのことでした。
Rocke は、Git リポジトリや Http File Server(HFS)に加えて、シェル スクリプト、JavaScript バックドア、EFL マイナー、PE マイナーなど多種多様なペイロードを含む多様なツールキットを使用して、暗号通貨マイニング マルウェアの配布と実行に活発に関わっています。
初期の活動
この攻撃者が私たちの認識に初めて上ったのは 2018 年 4 月でした。攻撃者は、Apache Struts の脆弱性があるハニーポット システムに対して、西欧と中国の両方の Git リポジトリを活用してマルウェアを配布してきました。
私たちの Struts2 ハニーポットには、「c-999」というユーザー向けに中国語のリポジトリ サイト gitee.com から複数のファイルがダウンロードされました。続いて、Gitee ユーザーのページが「c-888」に遷移しました。同時期に、gitlab.com リポジトリ ページから「c-18」というユーザー向けにファイルを取得する、類似のアクティビティが確認されました。
Gitee と GitLab、双方のリポジトリは同一のものでした。すべてのリポジトリに、16 個のファイルを含む「ss」というフォルダがありました。これらのファイルは、不正な暗号通貨マイナーの永続化と実行を含め、多様な操作を実行する ELF 実行ファイル、シェル スクリプト、テキスト ファイルのコレクションでした。
攻撃者はシステムを侵害したあと、cron ジョブをインストールすることによってデバイス上の永続性を確保しました。このジョブは、「3389[.]space」から「logo.jpg」ファイルをダウンロードして実行するものです。このファイルはシェル スクリプトで、攻撃者の Git リポジトリからマイニングの実行ファイルを次々とダウンロードし、「java」というファイル名でそれらを保存します。ダウンロードされるファイルは、厳密には被害者のシステム アーキテクチャによって異なります。また、このシステム アーキテクチャは、「java」を起動するのに「h32」または「h64」が使用されるかどうかを判別します。
私たちは当初、この攻撃者が Apache Struts の脆弱性をエクスプロイトすることに気づきましたが、同一と思われる個人が Oracle WebLogic Server の脆弱性(CVE-2017-10271)、Adobe ColdFusion プラットフォームにおける重大な Java のデシリアライゼーションの脆弱性(CVE-2017-3066)もエクスプロイトすることを観察しました。
最近の活動
7 月下旬には、同じ攻撃者が別の類似する活動に関わっていることを把握しました。この新しい活動の調査を通じて、この攻撃者に関するさらに詳細な情報を明らかにすることができました。
私たちの Struts2 ハニーポットから、118[.]24[.]150[.]172:10555 に置かれた「0720.bin」というファイルに対する wget リクエストを特定しました。この IP にアクセスすると、「0720.bin」とともに別の 10 個のファイルをホストするオープン HFS でした。具体的には、「3307.bin」、「a7」、「bashf」、「bashg」、「config.json」、「lowerv2.sh」、「pools.txt」、「r88.sh」、「rootv2.sh」、「TermsHost.exe」でした。私たちはこれらのファイルの調査に着手しました。
HFS システムのスクリーンショット
私たちはそれ以前にも、この同じ IP が 2018 年 5 月中、TCP ポート 7001 をスキャンしていることを把握していました。これは、デフォルトで TCP ポート 7001 をリッスンする Oracle WebLogic Server をスキャンしていた可能性があります。
「0720.bin」と「3307.bin」のどちらも、同等のサイズ(84.19KB)の類似する ELF ファイルであり、118[.]24[.]150[.]172 に接続します。発見した時点では、VirusTotal で無害であると判定されました。Morpheus Labs は、同じ IP アドレスに接続する同様のファイルについて、パスワードで検証された指示がコマンド & コントロール(C2)から発行された場合、被害者のマシン上でシェルを開くことができると説明しています。私たちが入手したサンプルの両方と、Morpheus Labs が示したファイルでは、ハードコードされたパスワードが同一であっただけでなく、同じオフセットに配置されていました。
ハードコードされたパスワード
「A7」は、他の暗号通貨マイニング マルウェア(「cranberry」、「yam」、「kworker」などの有名なマイニング マルウェアと名前が一致するものを含む)に関連する多様なプロセスと、一般的なマイニング(「minerd」や「cryptonight」など)を終了させるシェル スクリプトです。このファイルは、さまざまな中国語 AV を検出してアンインストールするほか、blog[.]sydwzl[.]cn(これも 118[.]24[.]150[.]172 に解決されます)から tar.gz ファイルをダウンロードして解凍します。このスクリプトは、libprocesshider という GitHub からファイルをダウンロードしますが、これには、ID プリローダーを使用することで「x7」というファイルが隠されています。このスクリプトは、118[.]24[.]150[.]172 にある攻撃者の HFS から再び「a7」をダウンロードして実行する前に、既知のホストで IP アドレスを探して SSH 接続を試みます。
「a7」ソース コードの抽出
「Config.json」は、オープン ソースの Monero マイナーである XMRig のマイニング設定ファイルです。このファイルは、マイニング プールを xmr[.]pool[.]MinerGate[.]com:45700 に、攻撃者のウォレットを rocke@live.cn に設定します。これが、私たちがこの攻撃者を「Rocke」と名付けた理由です(MinerGate では Monero のウォレット番号の代わりに電子メールを使用できることに注意してください。これは単純に MinerGate プラットフォームに対するログイン用電子メールです)。「Pools.txt」は、Monero(モネロ)、Aeon(イーオン)などを採掘するオープン ソースの汎用ストラタム プール マイナーである XMR-stak の設定ファイルだと思われます。この設定ファイルには、最初のファイルと同じ攻撃者のプールとウォレットの情報が含まれています。
「Bashf」は XMR-stak のバリエーションであるのに対し、「bashg」は XMRig のバリエーションです。
「Lowerv2.sh」と「rootv2.sh」は類似したシェル スクリプトであり、118[.]24[.]150[.]172 にホストされたマイニング マルウェアのコンポーネント「bashf」と「bashg」のダウンロードと実行を試みます。これらのシェル スクリプトが 118[.]24[.]150[.]172 からマイナーをダウンロードできない場合、3g2upl4pq6kufc4m[.]tk から「XbashY」というファイルのダウンロードを試みます。
「R88.sh」は、cron ジョブをインストールし、「lowerv2.sh」または「rootv2.sh」のダウンロードを試みるシェル スクリプトです。
「TermsHost.exe」は、PE32 フォーマットの Monero マイナーです。使用する設定ファイルに基づくと、Monero サイレント マイナー であるように思われます。このマイナーは、悪意のある攻撃者をターゲットとして 14 ドルでオンライン販売されています。このマイナーの広告では、起動時のレジストリ キーの永続化、アイドル時のみのマイニング、ファイアウォールのバイパスを目的とした Windows プロセスへのマイナーのインジェクションを提供していると宣伝されています。このサンプルでは、sydwzl[.]cn にホストされた Rocke のコマンド & コントロール(C2)サーバーから設定ファイル「xmr.txt」が取得されます。このファイルには、これまでのファイルと同じ設定情報が含まれています。このサンプルは次に、notepad.exe にコードを挿入し、さらに MinerGate プールとの通信へと進みます。また、Windows の [スタート メニュー] フォルダに UPX パックされたファイル「dDNLQrsBUE.url」を作成します。興味深いことに、このファイルは、有名なペネトレーション テスト ソフトウェアである Cobalt Strike といくつかの類似点があるようです。このソフトウェアでは、感染したシステムに対して攻撃者が制御を拡大できる恐れがあります。
そのペイロードは、サイバーセキュリティ企業 Intezer の 5 月の報告によれば、サイバー犯罪集団 Iron が使用するものと類似しています。Iron と Rocke のマルウェアはどちらも振る舞いが類似しており、同様のインフラストラクチャにアクセスします。このため、これらのペイロードが同じコード ベースを共通して使用していると強い確信を持って評価できる一方で、Rocke とサイバー犯罪集団 Iron の正確な関係についてはまだ断定できていません。
人物像
Rocke が MinerGate で使用している Monero ウォレットの電子メール rocke@live.cn を通じて、この人物に関する追加情報を明らかにすることができました。Rocke の C2 は jxci@vip.qq.com のアドレスに登録されていることがわかりました。さらに、中国のセキュリティ サイト FreeBuf からのユーザー情報のリークを発見しましたが、これには「rocke」というユーザーが電子メール jxci@vip.qq.com に関連付けられていることが示されており、これらが同一人物であることを示唆しています。[4]
Rocke がクラウド ストレージ サービスへのアクセスを探索していたこと、中国語の簡易な言語でのプログラミング マニュアルを入手したことが判明しています。
Rocke に登録されている Web サイトの大半は、登録情報として江西省の住所が記載されています。これらの Web サイトの一部は、ベビーフードを販売する belesu[.]com など、江西省に拠点を置く企業のものでした。Rocke の GitHub に基づき、江西省を拠点としていることを示す情報が他にも得られました(下記参照)。jxci@vip.qq.com の「jx」は Jiangxi(江西省)を表している可能性があります。したがって、私たちは強い確信を持って、Rocke が江西省で活動していると評価しています。
GitHub
私たちは、Rocke との関連が明らかな GitHub ページを特定しました。この GitHub ページは、Jiangxi Normal University と関係があるユーザーとして Rocke をリストしています。そのリポジトリ フォルダの 1 つには、ウォレット情報が含まれるいくつかのシェル スクリプトや、マイナーのバリエーションなど、HFS システムで見つけたものと同じファイルがいくつかありました。
同じアカウントのリポジトリは、他にも見つかりました。これらのリポジトリ内には、これまで取り上げた活動で見つかったスクリプトと類似するスクリプトがありましたが、例外は、すでに特定した 3389[.]space ドメインに加えて sydwzl[.]cn にアクセスするという点です。これらの結果は、私たちが 4 月と 5 月に観察したアクティビティと Rocke の関連を裏付けるものです。
また、Rocke のページを経由して、ほぼ同一のコンテンツをホストしているものの別の C2 を使用する他のリポジトリも発見しました。ただし、そのページがどのように使用されており、誰が使用しているのかは断定できていません。
これらのさまざまなリポジトリ内のファイルは、Rocke が CryptoNote ツールを介したブラウザベースの JavaScript マイニングと、Browser Exploitation Framework を介したブラウザベースのエクスプロイトに興味を持つようになったことを示しています。これらは偽の Google Chrome アラート、偽アプリ、偽の Adobe Flash アップデートを用いて、ソーシャル エンジニア ユーザーに悪意のあるペイロードをダウンロードさせるもののようです。
このリポジトリにある JavaScript ファイルの 1 つ「command.js」は、隠された IFrame を使用して、CloudFront のドメインにホストされたペイロードを配布します。私たちが取得できたペイロードは、UPX パックされており、「TermsHost.exe」によって追加されたファイル「dDNLQrsBUE.url」に酷似した振る舞いをしました。
Rocke は、他のセキュリティ関連リポジトリにも興味を示しています。彼らは、Apache Struts 2、JBoss、Shadow Brokers や、masscan、プロキシ ツール、ブルート フォースなどのより汎用的なツールに関連するリポジトリを含め、エクスプロイト情報を含むリポジトリをフォークしています。
まとめ
Talos では、過去数ヵ月間のアクティビティに基づき、Rocke は引き続き Git リポジトリを活用して被害者のマシンに不正なマイニングをダウンロードして実行するものと、強い確信を持って評価しています。興味深いことに、彼らはツールセットを拡大して、ブラウザベースのマイナー、検出困難なトロイの木馬、Cobalt Strike マルウェアを含めようとしています。Rocke は、スキャンとエクスプロイトで構成される派手なアクティビティの他に、Adobe Flash や Google Chrome の偽のアップデートを使用する
リポジトリが示すように、新たな感染ベクトルとしてソーシャル エンジニアリングも探求している可能性があります。
さまざまな暗号通貨の価値は大きく変動するにもかかわらず、サイバー犯罪者間での不正な暗号通貨マイニング アクティビティのトレンドは衰える様子がありません。Rocke のさまざまな活動は、これらの犯罪者が目的を果たすために採用するであろう多様な感染ベクトル、マルウェア、インフラストラクチャを示しています。
IOC(侵入の痕跡):
初期の活動:
Struts をターゲットとする IP 攻撃:
52[.]167[.]219[.]168:GitLab で Repo を使用した IP 攻撃
120[.]55[.]226[.]24:Gitee で Repo を使用した IP 攻撃
WebLogic をターゲットとする IP 攻撃:
27[.]193[.]180[.]224
ColdFusion をターゲットとする IP 攻撃:
112[.]226[.]250[.]77
27[.]210[.]170[.]197
112[.]226[.]74[.]162
ドメイン
3389[.]space
URL
hxxps://gitee[.]com/c-999/ss/raw/master/ss/a
hxxps://gitee[.]com/c-999/ss/raw/master/ss/config[.]json
hxxps://gitee[.]com/c-999/ss/raw/master/ss/dir[.]dir
hxxps://gitee[.]com/c-999/ss/raw/master/ss/h32
hxxps://gitee[.]com/c-999/ss/raw/master/ss/upd
hxxps://gitee[.]com/c-999/ss/raw/master/ss/x86_64
hxxps://gitee[.]com/c-999/ss/raw/master/ss/h64
hxxps://gitee[.]com/c-999/ss/raw/master/ss/x
hxxps://gitee[.]com/c-999/ss/raw/master/ss/run
hxxps://gitee[.]com/c-999/ss/raw/master/ss/logo[.]jpg
hxxps://gitee[.]com/c-888/ss/raw/master/ss/a
hxxps://gitee[.]com/c-888/ss/raw/master/ss/cron[.]d
hxxps://gitee[.]com/c-888/ss/raw/master/ss/dir[.]dir
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/x
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/x86_64
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/run
hxxps://gitee[.]com/c-888/ss/raw/master/ss/upd
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/upd
hxxps://gitee[.]com/c-888/ss/raw/master/ss/x
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/cron[.]d
hxxps://gitee[.]com/c-888/ss/raw/master/ss/h64
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/a
hxxps://gitee[.]com/c-888/ss/raw/master/ss/config[.]json
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/config[.]json
hxxps://gitee[.]com/c-888/ss/raw/master/ss/run
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/h32
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/dir[.]dir
hxxps://gitee[.]com/c-888/ss/raw/master/ss/x86_64
hxxps://gitee[.]com/c-888/ss/raw/master/ss/h32
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/h64
hxxp://93[.]174[.]93[.]149/[.]xxxzlol[.]tar[.]gz
hxxps://gitee[.]com/c-888/ss/raw/master/ss/logo[.]jpg
hxxps://gitlab[.]com/c-18/ss/raw/master/ss/logo[.]jpg
ハッシュ:
Logo.jpg: ad68ab153623472bbd8220fb19c488ae2884d9b52bc65add5d54b1821b4b743a
a: 6ec8201ef8652f7a9833e216b5ece7ebbf70380ebd367e3385b1c0d4a43972fb
cron.d: f6a150acfa6ec9d73fdecae27069026ecf2d833eac89976289d6fa15713a84fe
dir.dir: a20d61c3d4e45413b001340afb4f98533d73e80f3b47daec42435789d12e4027
h32: 45ed59d5b27d22567d91a65623d3b7f11726f55b497c383bc2d8d330e5e17161
h64: 7fe9d6d8b9390020862ca7dc9e69c1e2b676db5898e4bfad51d66250e9af3eaf
logo.jpg (from gitee[.]com): f1f041c61e3086da8157745ee01c280a8238a379ca5b4cdbb25c5b746e490a9b
logo.jpg (from gitlab[.]com): ad68ab153623472bbd8220fb19c488ae2884d9b52bc65add5d54b1821b4b743a
run: 0c358d826c4a32a8c48ce88eb073f505b555fc62bca6015f5270425c58a0d1c5
upd: 187d06f1e6020b6787264e2e700c46c463a7818f07db0b051687f3cba65dbe0b
x (32-bit miner): 6e80a9d843faf27e239b1a767d29c7443972be1ddf5ff5f5f9fc9a2b55a161f5
x86_64 (64-bit miner): 2ad07f8d1985f00cd05dafacbe5b6a5b1e87a78f8ae8ecdf91c776651c88a612
最近の活動:
IPS
123[.]249[.]9[.]149: Issues get request for 0720.bin
118[.]24[.]150[.]172: Rocke’s HFS, also resolves to C2 sydwzl[.]cn
ドメイン:
sydwzl[.]cn
blockbitcoin[.]com: Reached out to by Install.exe
dazqc4f140wtl[.]cloudfront[.]net: file server
3g2upl4pq6kufc4m[.]tk: file server
d3goboxon32grk2l[.]tk: file server
enjoytopic[.]tk: file server
realtimenews[.]tk: file server
8282[.]space: older C2
Rocke に登録されているドメイン(必ずしもすべてに悪意があるわけではない):
5-xun[.]com
88180585[.]com
firstomato[.]com
jxtiewei[.]com
ncyypx[.]net
URL
hxxp://d20blzxlz9ydha[.]cloudfront[.]net/Install.exe
hxxp://www[.]amazon[.]com:80/N4215/adj/amzn.us.sr.aps?sz=160×600&oe=oe=ISO-8859-1;&sn=12275&s=3717&dc_ref=http%3A%2F%2Fwww.amazon.com
hxxp://www[.]amazon[.]com:80/s/ref=nb_sb_noss_1/167-3294888-0262949/field-keywords=books
ハッシュ
55dbdb84c40d9dc8c5aaf83226ca00a3395292cc8f884bdc523a44c2fd431c7b 0720.bin
751cb6c39691904ffbef86fe3bdfa737e4ba64add4dd90358245fa2b775 3307.bin
89b3463664ff13ea77256094844c9cf69d3e408d3daf9ffad3aa18af39bab410 TermsHost.exe
d341e3a9133e534ca35d5ccc54b8a79f93ff0c917790e7d5f73fedaa480a6b93 a7
442e4a8d35f9de21d5cbd9a695a24b9ac8120e548119c7f9f881ee16ad3761e6 bashf
7674e0b69d848e0b9ff8b82df8671f9889f33ab1a664f299bcce13744e08954c bashg
7051c9af966d1c55a4096e2af2e6670d4fc75e00b2b396921a79549fb16d03d4 lowerv2.sh
2f5bf7f1ea7a84828aa70f1140774f3d4ce9985d05a676c8535420232e2af87e pools.txt
ba29d8a259d33d483833387fad9c7231fbb3beb9f4e0603b204523607c622a03 config.json
7c2dbc0d74e01a5e7c13b4a41d3a1f7564c165bd532e4473acea6f46405d0889 r88.sh
d44e767132d68fdb07c23c848ff8c28efe19d1b7c070161b7bd6c0ccfc858750 rootv2.sh
35cb971daafd368b71ad843a4e0b81c80225ec20d7679cfbf78e628ebcada542 Install.exe
654ec27ea99c44edc03f1f3971d2a898b9f1441de156832d1507590a47b41190 ZZYO
F808A42B10CF55603389945A549CE45EDC6A04562196D14F7489AF04688F12BC XbashY
725efd0f5310763bc5375e7b72dbb2e883ad90ec32d6177c578a1c04c1b62054 reg9.sct
d7fbd2a4db44d86b4cf5fa4202203dacfefd6ffca6a0615dca5bc2a200ad56b6 m.png
ece3cfdb75aaabc570bf38af6f4653f73101c1641ce78a4bb146e62d9ac0cd50 hidden executable in m.png
本稿は 2018年8月30日に Talos Group のブログに投稿された「Rocke: The Champion of Monero Miners」の抄訳です。