仮想通貨発掘量の決め手となる計算能力が比較的低い「モノのインターネット(Internet of Things、IoT)デバイス」上での発掘は実用的ではありません。にもかかわらず、IoT デバイスを狙って仮想通貨を発掘する攻撃や、IoT デバイスを対象とする仮想通貨発掘マルウェアがアンダーグラウンド市場で販売されていることが確認されています。
トレンドマイクロは、「Secure Shell(SSH)」、「Telnet」、および「File Transfer Protocol(FTP)」サービスをエミュレートするように設計したハニーポットを通して、IP アドレス「192[.]158[.]228[.]46」から送信されたボットによる攻撃を確認しました。この攻撃は、22 番、2222 番、そして 502 番を含め、SSH や IoT デバイスに関連したポートを検索していました。特に今回の攻撃では、SSH サービスが使用する 22 番ポートが利用されました。SSH サービスを実行しているすべてのサーバおよび IoT デバイスが今回の攻撃の対象になり得ます。
■攻撃の流れ
今回確認されたボットは、「Remote Desktop Protocol(RDP)」を有効化している Windows PC でした。このボットは、利用可能なデバイスを特定すると、URL を指定してファイルをダウンロードする Linux コマンド「wget」を実行してスクリプトをダウンロードします。このスクリプトが仮想通貨発掘ツール(コインマイナー)をインストールします。
この不正なスクリプト “mservice_2_5.sh” は「hxxp://p1v24z97c[.]bkt[.]clouddn[.]com/」にホストされています。”mservice_2_5.sh” が実行されると、別の URL「hxxps://www[.]yiluzhuanqian[.]com/soft/linux/yilu_2_5[.]tgz」からファイルをダウンロードし、一時フォルダ「/tmp」に保存します。このドメイン名は、中国語で「あらゆる方法でお金を稼ぐ」という意味です。「/tmp」フォルダの使用は、Linux サーバに対する攻撃でよく利用される手法です。ダウンロードされたファイルにはコインマイナーが含まれています。また、”mservice_2_5.sh” は、再起動後にも仮想通貨発掘活動を継続するために、指定したコマンドを定時実行するための設定ファイル「crontab」にジョブを登録します。
スクリプト “mservice_2_5.sh” がファイルをダウンロードする 2 番目のドメインを調査したところ、この Web サイトは金融詐欺サイトと推測される不正サイトでした。1 番目の URL は攻撃を開始する出発点としてのみ利用されています。これは、この URL がブロックされても、別の URL に切り替えるだけで、不正サイトを失うことなく活動を継続することが可能なためだと考えられます。
上述した攻撃の他に、この不正サイトはソーシャルエンジニアリングによって、ユーザにコインマイナーをインストールするように促します。今回の事例では、発掘する通貨は「Monero」または「Ether」でした。発掘された仮想通貨はそのまま攻撃者の利益になります。この不正サイトは正規の Web サイトに偽装していますが、さらに詳しく情報を収集した結果、問題の不正サイトを通して仮想通貨を発掘する仕組みを解説したブログ「hxxps://www[.]zjian[.]blog/148[.]html」と、チュートリアル動画「hxxps://www[.]bilibili[.]com/video/av19589235/」を確認することができました。
■攻撃活動の仕組み
“mservice_2_5.sh” は、実行されるとまず「Baidu[.]com」に「ping」コマンドを送信し、インターネット接続の有無を確認します。
図 1:インターネット接続を確認するコード
次に、実行環境のオペレーティングシステム(OS)を判定します。特に、Linux の場合は、どのディストリビューションが使用されているかまで確認します。
図 2:オペレーティングシステム(OS)を判定するコード
その後、デバイス名として、コマンド実行時に与える引数「$2」の値を設定します。引数が指定されていない場合、「ip -4 route get」コマンドを実行し、その結果を加工してデバイス名とします。
図 3:デバイス名を設定するコード
図 4 は、「hugepage」と「memlock」を設定するコードです。これにより、デバイスのパフォーマンスを向上し、より多くの計算能力を仮想通貨発掘に割り当てます。
図 4:「Hugepage」と「memlock」を設定するコード
以上の設定が終わると、図 5 のコマンドを実行し、Linux の正規パッケージ「libhwloc4」のダウンロードを装ってコインマイナーを含む圧縮ファイルをダウンロードします。この圧縮ファイルは「/opt」フォルダに解凍され、実行されます。
図 5:コインマイナーをダウンロードし、解凍および実行するコード
興味深いことに、”mservice_2_5.sh” は、再起動後にも発掘活動を継続するために「crontab」にジョブを登録します。
図 6:「crontab」にジョブを登録することで活動を持続
図 7 は、この攻撃により作成されるフォルダおよびファイルです。
図 7:攻撃により作成されるフォルダとファイル
「yilu」フォルダ直下の “cmd.txt” ファイルには、バイナリファイル “mservice” を実行するコマンドが引数とともに一覧として記載されています。このバイナリファイルが、上記不正サイトに関連するコインマイナー「YiluzhuanqianSer」をインストールします。
図 8:コインマイナーをインストールするコマンド
“conf.json” ファイルには、Web サーバを対象とするバックドア「WebShell」が含まれています。
図 9:”conf.json” ファイルに含まれた WebShell
「Work」フォルダには、2 つのバイナリファイルと、上述したファイルとは別の “cmd.txt” および “workers.json” が含まれています。この “cmd.txt” には、コインマイナーを実行する際に使用するコマンドが記載されています。
図 10:「Work」フォルダ内の “cmd.txt”
“workers.json” ファイルには、仮想通貨を発掘するための設定が記載されています。
図 11:”workers.json” に記載された仮想通貨発掘のための設定
今回の攻撃が IoT デバイスだけを狙ったものであるかどうかは不明です。しかし、冒頭で述べたように、IoT デバイスを狙う不正な仮想通貨発掘活動は以前から確認されており、Linux を対象とするボットネット「Mirai」の事例に代表されるように、IoT デバイスを狙うボットが引き起こしたセキュリティインシデントは何度か大きな話題になっています。仮想通貨の発掘のように、金銭を目的とする攻撃において、ボットネットの利用はもっとも一般的な手法です。1 台のデバイスを侵害するだけでは不十分かもしれませんが、今回のようにボットを利用して拡散し、一連のデバイスで仮想通貨を発掘した場合、十分な利益を上げられる可能性があります。
■不正な仮想通貨発掘活動の被害に遭わないためには
今回、攻撃者は、ありふれた不正サイトを利用して不正な仮想通貨発掘活動を隠ぺいしようとしていました。しかし、仮想通貨の発掘には大量の電力と計算能力を必要とするため、PC の動作が普段よりも重たいなどの兆候に注意を払うことで気づくことができる場合があります。
不正な仮想通貨発掘活動が勢いを増す中、以下の基本的なセキュリティ対策を実施し、そのような攻撃の影響を緩和することが重要です。
- 既知の脆弱性を利用する攻撃を防ぐために、定期的にデバイスのファームウェアを更新すること
- 不正アクセスを防止するために、デバイスの認証情報を初期設定から変更し、強力なパスワードを使用すること
- 以下のような既知の攻撃経路に注意を払うこと
- ソーシャルエンジニアリングの手法を利用したリンクや添付ファイル
- さまざまな Web サイト、サードパーティ製アプリケーション、および電子メールからダウンロードされるファイル
■トレンドマイクロの対策
クロスジェネレーションで進化を続ける「XGen™セキュリティ」は、AI 技術をはじめとする先進技術と実績の高いスレットインテリジェンスを融合した防御アプローチにより、データを保管するサーバ、データを交換するネットワーク、データを利用するユーザの各レイヤーで最適化されたセキュリティを提供します。Web/URLフィルタリング、挙動解析、カスタムサンドボックスのような機能を備えたクロスジェネレーション(XGen)セキュリティアプローチは、既知または未知/未公開の脆弱性を狙い、個人情報の窃取や暗号化、不正な仮想通貨発掘活動を行う脅威をブロックします。XGen は「Hybrid Cloud Security」、「User Protection」、そして「Network Defense」へのソリューションを提供するトレンドマイクロ製品に組み込まれています。
組込み型ホームネットワークセキュリティ「Trend Micro Smart Home Network™」をご利用のお客様は、以下のルールによってブルートフォース(総当り)攻撃によるログイン試行から保護されています。
- 1059418, SSH Brute Force Login
■侵入の痕跡(Indicators of compromise、IoC)
今回の脅威に関連するファイル名は以下の通りです。
- mservice_2_5.sh
- yilu.tgz
- yilu_2_5.tgz
今回の脅威に関連する URL は以下の通りです。
- hxxp://p1v24z97c[.]bkt[.]clouddn[.]com
- hxxps://www[.]yiluzhuanqian[.]com/soft/linux/yilu_2_5[.]tgz
今回の脅威に関連する IP アドレスは以下の通りです。
- 114[.]114[.]114[.]114
- 192[.]158[.]228[.]46
送信先ポート番号は以下の通りです。
- 1993
- 1992
「COINMINER_TOOLXMR.O-ELF」として検出される脅威に関連する SHA256 値は以下の通りです。
- e4e718441bc379e011c012d98760636ec40e567ce95f621ce422f5054fc03a4a
- 2077c940e6b0be338d57137f972b36c05214b2c65076812e441149b904dfc1a8
- adb0399e0f45c86685e44516ea08cf785d840e7de4ef0ec9141d762c99a4d2fe
- 6bbb4842e4381e4b5f95c1c488a88b04268f17cc59113ce4cd897ecafd0aa94b
参考記事:
- 「Cryptocurrency-Mining Bot Targets Devices With Running SSH Service via Potential Scam Site」
by Jindrich Karasek and Loseway Lu
翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)