脆弱性を利用したスマートデバイスへの攻撃は、「モノのインターネット(Internet of Things、IoT)」機器を使用する多くのユーザにとって以前からの課題となっています。中でも、もっとも悪名高い脅威は、常に変化を続けてきたIoTマルウェア「Mirai」でしょう。Miraiは過去、多くのキャンペーンで、弱いパスワードや初期設定の認証情報をそのまま使用しているデバイスの侵害に利用されてきました。2016年にMiraiのソースコードが流出してからは、さまざまな亜種が出現しています。
トレンドマイクロは、「Miori」と呼ばれるMiraiの新しい亜種を確認しました。Mioriは、主に中国で利用されているWebアプリケーション開発フレームワーク「ThinkPHP」で遠隔からのコード実行(Remote Code Execution、RCE)が可能になる脆弱性を利用して拡散します。この脆弱性を利用する攻撃は比較的新しく、「Proof-of-Concept(PoC、概念実証型エクスプロイト)」は、2018年12月11日になって初めて公開されています。影響を受けるThinkPHPのバージョンは、5.0.23より前の5.xと5.1.31です。トレンドマイクロのクラウド型セキュリティ技術基盤「Trend Micro Smart Protection Network(SPN)」の統計でも、問題のRCE脆弱性に関連したイベントが最近増加しています。
Mioriの他にも、「IZ1H9」や「APEP」のような既知のMiraiの亜種が同一のRCE脆弱性を利用して拡散していることが確認されました。これらの亜種はすべて、Telnetを介して、工場出荷時の初期設定の認証情報を使用して侵入および拡散します。感染したLinuxマシンはボットネットの一部となり、「分散型サービス拒否(distributed denial-of-service、DDoS)攻撃」に利用されます。
■Mioriの解析
MioriはMiraiの多くの亜種の1つに過ぎません。セキュリティ企業「Fortinet」は、「Shinoa」と呼ばれる別のMiraiの亜種との際立った類似性を指摘しています。トレンドマイクロ独自の解析によると、MioriはThinkPHPのRCE脆弱性を利用し、図1のコードによって「hxxp://144[.]202[.]49[.]126/php」から脆弱なマシンにマルウェアをダウンロードして実行していました。
図 1:Mioriをダウンロードして実行するコードを遠隔から実行
実行に際して、Mioriは以下のメッセージをコンソールに表示します。
図 2:実行時にMioriがコンソールに表示するメッセージ
MioriはTelnetを開始し、他のIPアドレスに対して侵入を試行します。また、コマンド&コントロール(C&C)サーバからのコマンドを受信するために42352番ポート(TCP/IP)をリッスンします。そして、対象システムの感染を検証するコマンド「/bin/busybox MIORI」を送信します。
図 3:Mioriが送信するコマンド
「Miori」で確認された文字列(XOR暗号の鍵:0x62)
トレンドマイクロは、Mioriのバイナリデータに埋め込まれた設定テーブルを復号し、表1の文字列を確認しました。これらの文字列にはMioriが利用するユーザ名とパスワードが含まれており、その中のいくつかは簡単に予想できそうなものや初期設定のものでした。
ユーザ名/パスワード | 注目すべき文字列 |
1001chin adm admin123 admintelecom aquario default e8ehome e8telnet GM8182 gpon oh root support taZz@23495859 telecomadmin telnetadmin tsgoingon ttnet vizxv zte |
/bin/busybox kill -9 /bin/busybox MIORI(感染の検証) /bin/busybox ps(停止用のパラメータ) /dev/FTWDT101\ watchdog /dev/FTWDT101_watchdog /dev/misc/watchdog /dev/watchdog /dev/watchdog0 /etc/default/watchdog /exe /maps /proc/ /proc/net/route /proc/net/tcp /sbin/watchdog /status account enable enter incorrect login lolistresser[.]com(C&Cサーバ) MIORI: applet not found(感染の検証) password shell system TSource Engine Query username your device just got infected to a bootnoot |
■Mioriに類似したMiraiの亜種「IZ1H9」および「APEP」
さらなる調査により、Miraiのその他の亜種「IZ1H9」および「APEP」がホストされた以下の2つのURLを確認することができました。
- IZ1H9:hxxp://94[.]177[.]226[.]227/bins/
- APEP:hxxp://cnc[.]arm7plz[.]xyz/bins/
上記URLに位置するx86バージョンのバイナリファイルを解析したところ、これらの亜種は両方ともMiraiおよびMioriと同じ難読化手法を使用していました。
「IZ1H9」で確認された文字列(XOR鍵:0xE0)
ユーザ名/パスワード | 注目すべき文字列 |
00000000 12345 54321 123456 1111111 20080826 20150602 88888888 1234567890 /ADMIN/ admin1 admin123 admin1234 antslq changeme D13hh[ default ezdvr GM8182 guest hi3518 ipc71a IPCam@sw ipcam_rt5350 juantech jvbzd klv123 klv1234 nimda password qwerty QwestM0dem root123 service smcadmin support svgodie system telnet tl789 vizxv vstarcam2015 xc3511 xmhdpic zlxx. zsun1188 Zte521 |
/bin/busybox IZ1H9(感染の検証) /bin/watchdog /dev/FTWDT101\ watchdog(ウォッチドッグの無効化) /dev/FTWDT101_watchdog /dev/misc/watchdog /dev/watchdog /dev/watchdog0 /dev/watchdog1 /etc/default/watchdog /etc/resolv.conf /proc/ /proc/net/tcp /sbin/watchdog assword enable enter IZ1H9: applet not found j.#0388(実行後にコンソールに表示) linuxsh linuxshell nameserver ncorrect system TSource Engine Query |
「APEP」で確認された文字列(XOR鍵:0x04)
ユーザ名/パスワード | C&C サーバ | 注目すべき文字列 |
123456 888888 20150602 1q2w3e4r5 2011vsta 3ep5w2u admintelecom bcpb+serial# default e8ehome e8telnet fliruser guest huigu309 juniper123 klv1234 linux maintainer Maxitaxi01 super support taZz@01 taZz@23495859 telecomadmin telnetadmin tsgoingon vstarcam2015 Zte521 ZXDSL |
cnc[.]arm7plz[.]xyz scan[.]arm7plz[.]xyz |
%4’%-\F/bin/busybox APEP(感染の検証) /bin/watchdog(ウォッチドッグの無効化) /dev/FTWDT101/watchdog /dev/FTWDT101_watchdog /dev/misc/watchdog /dev/watchdog /dev/watchdog0 /etc/default/watchdog /etc/watchdog /maps/ /proc/ /proc/net/tcp /sbin/watchdog /status CIA NIGGER enable enter incorrect linuxshell password shell start system terryadavis |
「APEP」が利用する別の脆弱性
APEPは、Telnetへのログイン試行に加え、拡散のために脆弱性「CVE-2017-17215」も利用します。CVE-2017-17215は「Huawei HG532」ルータに影響を与える別のRCE脆弱性です。この脆弱性は「Satori」の亜種や「Brickerbot」の亜種でも利用が報告されています。Huaweiはセキュリティ通知を通して問題の脆弱性攻撃を回避する手段について概説しています。
図 4:Huawei製ルータのRCE脆弱性「CVE-2017-17215」を利用した攻撃
■被害に遭わないためには
初期設定の認証情報を利用したTelnetへのログイン攻撃は新しい手法ではありません。しかし、工場出荷時の初期設定パスワードの変更はしばしば見落とされ、多くのユーザがインターネットに接続したデバイスにアクセスするために初期設定パスワードを利用しています。このような状況の中、初期設定の認証情報や脆弱性を利用するさまざまなMiraiの亜種が生み出されてきました。
ユーザは、ハッカーによるデバイスの乗っ取りを防ぐために、初期設定の認証情報を変更することが推奨されます。また、一般的なルールとして、定期的にスマートデバイスのシステムを最新バージョンに更新してください。それにより、デバイスの機能を更新するだけでなく、侵入経路となり得る脆弱性に対処することが可能になります。デバイスが対応している場合は自動更新機能を有効化してください。
前述したベストプラクティスに加え、本記事で解説したような脅威からIoTデバイスを保護するために設計されたセキュリティ対策製品の利用を検討することも可能です。トレンドマイクロの組込み型ホームネットワークセキュリティ「Trend Micro Smart Home Network™」を搭載したルータをご利用のお客様は、以下の侵入防止ルールによって本記事で解説した脆弱性を利用する攻撃から保護されています。
- 1135215 WEB ThinkPHP Remote Code Execution
■侵入の痕跡(Indicators of Compromise、IoCs)
SHA256値 | 検出名 |
ee9c7a5b9f7059bdd0649eaaa0adb762683c79fbda91746048332813b44fa1e2 | Backdoor.Linux.MIRAI.AR |
0d3a8933735a8d19c234db8a5ba1a0c2de390ae59b7298494a4e3bf139851d5f | Backdoor.Linux.MIRAI.AR |
a6956f98deec26bdaed948cd36ef6bfe954dbba227fd66ad3babd3a7fa4b4d96 | Backdoor.Linux.MIRAI.AR |
239c9aeec6e17a2739c12b7a4821b99be53375b085210a14d2f4f3e362dd3b7c | Backdoor.Linux.MIRAI.AR |
adb8271ed2342f50fd602353251574504672992db45fdde7e1e9a223cbd9a10a | Backdoor.Linux.MIRAI.AR |
868a582cd87418faac09859527b1b9405b287799429c424552551a5a3ddfe1b3 | Backdoor.Linux.MIRAI.AR |
25a5415a04ff746d0cfa4f5e82b00d7aaac60e92424dd94bb8cf9626e6b724ef | Backdoor.Linux.MIRAI.AR |
f271d7a3290581f552376cf00006b961fcf54b0d9aa1365c4550113a1132f32d | Backdoor.Linux.MIRAI.AR |
bd188c69264362b8a09d14af6196b83a6c3da5d6d3b6dc95b97fe87108500c91 | Backdoor.Linux.MIRAI.AR |
c5e79ceb1878ad4aebf3e8a33a66aeed535aecc1e5ebca0dd0122a6ecfbfe207 | Backdoor.Linux.MIRAI.AS |
e51c2675430ebb1e49b4187508eae926fdfc52560074a23f937fe50c72c3d56d | Backdoor.Linux.MIRAI.AS |
76049e93887525e097c9fd06bdc31dad6a118082f5b2fc581020ae11ad80be95 | Backdoor.Linux.MIRAI.AS |
119c33956bb26fdb697b2e042cde106c98cb1562fdbd5bb2acb2d8e7e603a303 | Backdoor.Linux.MIRAI.AS |
4825e628d3d6442870821823c14bac5bcab93658e3dbf426b8e6c479320077a9 | Backdoor.Linux.MIRAI.AS |
4dfab085dcc8d1a4ea6be2f6ca08970d238ffcd4b9ee0728d1f38070750e5f7b | Backdoor.Linux.MIRAI.AS |
937df675fba3e58e41514ec1881bd9298043533ca9e113b91240d916761fa704 | Backdoor.Linux.MIRAI.AS |
d6cf67dea7f89d87636f80eba76d4bfcdd6a5fc6540967c446c33522e95f156e | Backdoor.Linux.MIRAI.AS |
1b20bedd8a69695ba30a4284c19fe84e5926ed8de4f9074b4137ee07e6674d77 | Backdoor.Linux.MIRAI.AS |
37b6a3b2ca8681abfcaa79868963046aeaab8a46e123d5311d432bd9d11fcc80 | Backdoor.Linux.MIRAI.AS |
19eb54eea5dfd71d5753ed94e1845fa81b88545f47c14a2c90960da8e06e6c1b | Backdoor.Linux.MIRAI.AS |
ec77dcab385c31bbbf228df92dcaecc947279c3143afc478807184395b06a6e6 | Backdoor.Linux.MIRAI.AS |
83619527ba2e4c20d1eb5206f058ca55358b4b3ac032ee8d22616a020c8853d0 | Backdoor.Linux.MIRAI.AS |
27f6c7ce88d874a270d197bb91d419783bf5e08e16fa43ced57607748f2fc5b2 | Backdoor.Linux.MIRAI.AS |
404ea2a77693b0ab4c76da65aae7451d83d621a75b8eb8d2736998bf1c23ecf3 | Backdoor.Linux.MIRAI.AS |
64e1f581d42f2c9e0c1f13b4f814d4a4b0cad2e3ac1c8a754f6a912ab07b4bc1 | Backdoor.Linux.MIRAI.AS |
231d0913bba4b8c02f93fca2a917762eb94013d31f0ac4c9703b498b6ab9a87f | Backdoor.Linux.MIRAI.AS |
bf3190c7746775a7756d76d0c4bbeedeb1b4bc2a14fb3465da0bd49dfae14503 | Backdoor.Linux.MIRAI.AS |
eba3e81fcedaaa9661c5faa41b98c1d7906fdad7f960530f936ac2ad0b921ac3 | Backdoor.Linux.MIRAI.AS |
ad463ae6c08a085a1c45fc8da32c736bb1ced083d0cc0619a7d0a919c43a3717 | Backdoor.Linux.MIRAI.AS |
eefa90ebde0d5d16c71315f292f86a72735e62af686a7872d1d153694582404d | Backdoor.Linux.MIRAI.AS |
7408a894f4c278155b5ab28ebd48269075ee73ad24dc877cecd7b41a97b6d975 | Backdoor.Linux.MIRAI.AS |
282836e3d6649d9f97cdbf6b373329386a4fd290b87599f84f1d84ecfe5586eb | Backdoor.Linux.MIRAI.AS |
73036a31742e52cca9cfb02883cef62efb7f9129c14e2e2fd3064d2b4b8ec6e0 | Backdoor.Linux.MIRAI.AS |
関連する不正なURLは以下の通りです。
- hxxp://144[.]202[.]49[.]126/miori[.]mips
- hxxp://144[.]202[.]49[.]126/miori[.]mpsl
- hxxp://144[.]202[.]49[.]126/miori[.]arm
- hxxp://144[.]202[.]49[.]126/miori[.]arm5
- hxxp://144[.]202[.]49[.]126/miori[.]arm6
- hxxp://144[.]202[.]49[.]126/miori[.]arm7
- hxxp://144[.]202[.]49[.]126/miori[.]sh4
- hxxp://144[.]202[.]49[.]126/miori[.]ppc
- hxxp://144[.]202[.]49[.]126/miori[.]x86
- hxxp://144[.]202[.]49[.]126/miori[.]arc
- hxxp://144[.]202[.]49[.]126/php
- hxxp://94[.]177[.]226[.]227/bins/
- hxxp://cnc[.]arm7plz[.]xyz/bins/
- hxxp://scan[.]arm7plz[.]xyz
参考記事:
- 「With Mirai Comes Miori: IoT Botnet Delivered via ThinkPHP Remote Code Execution Exploit」
by Augusto Remillano II and Mark Vicente (Threats Analysts)
翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)