MovableTypeのXMLRPC APIにおける脆弱性を利用した攻撃を受けてしまいました(経過・復旧・対応方法)

2021年10月20日に、IPAから情報提供されている、「Movable Type」の XMLRPC API における OS コマンド・インジェクションの脆弱性ですが、当サイトも攻撃を食らっておりました…。
というのも、昔Movable Type(以下MT)でブログを作っていた時があり、サイトをそのまま残してしまっていたため、脆弱性のあるmt-xmlrpc.cgiが放置されたままの状態でした。
同様に、mt-xmlrpc.cgiの脆弱性を利用した攻撃を受けた方のために、被害状況と、対応について説明いたします。

「Movable Type」の XMLRPC API における OS コマンド・インジェクションの脆弱性について
https://www.ipa.go.jp/security/ciadr/vul/20211020-jvn.html

この脆弱性を利用した攻撃ですが、攻撃者がmt-xmlrpc.cgiの有無をボットを利用して手当たり次第確認し、見つけ次第攻撃する手法を採っているように思われます。
※ほぼ使っていない、アクセスが滅多に無いサイトのMTに対して攻撃を受けましたので、かなり広範囲に収集しているようです。
PowerCMSでも同様の脆弱性があり、企業、個人含め脆弱性対応していないサイトは多数あると予想されますので、今後被害を受けるサイトも多数出てくるのでは、と思います。


■被害を受けた日時
2021年11月23日 17時32分

■被害を把握した日時
2021年11月23日 18時頃

■把握出来たきっかけ
Webサイトが403エラーになったため

■403エラーの原因特定
サーバーにアクセスしたところ、設置した記憶が無いファイルが存在することを確認しました。
.htaccessに記載されているディレクティブが実行不可だったため、403エラーになっていました。
幸い、403エラーが表示されていたため、設置されたトロイの木馬についてもアクセス出来ない状況となっていました。
また、トロイの木馬が設置されたディレクトリは、Webサイトとして使っていないディレクトリだったため、403エラーでなくても被害は無かったものと思われます。

■設置されたファイル
設置されたファイルは、
1,Webサーバーの全ディレクトリに、.htaccessが設置される
2,CVE-2016-5195.I トロイの木馬の変種のファイルがWebサーバー直下に設置される
となります。

1,Webサーバーの全ディレクトリに、.htaccessが設置される
バーチャルホストを利用して複数のサイトを設置していますが、すべてのサイトの、すべてのディレクトリに、.htaccessが設置されていました。
設置された.htaccessの中身は以下となります。
このサイトも含め、WordPressを使っていますが、FilesMatchを見るにWordPressも乗っ取れるよう、アクセス権限を変更しているように見受けられます。
———
<FilesMatch “.(PhP|php5|suspected|phtml|py|exe|php|asp|Php|aspx)$”>
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch “^(postfs.php|votes.php|wjsindex.php|lock666.php|font-editor.php|ms-functions.php|contents.php|jsdindex.php|wp-login.php|load.php|themes.php|admin.php|settings.php)$”>
Order allow,deny
Allow from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
———

2,CVE-2016-5195.I トロイの木馬の変種のファイルがWebサーバー直下に設置される
ファイル名は「FoxAuto-N」のほか、同じようなファイル名のものがいくつか存在していました。
これらは、サーバー上で削除しています。
セキュリティソフトのESETによる評価は「FoxAuto-N;Linux/Exploit.CVE-2016-5195.I トロイの木馬の変種」でした。

■復旧対応
不正に設置された.htaccessにより403エラーが発生していましたので、全ディレクトリから、.htaccessを削除しました。
WordPressの動作に必要な.htaccessは、再作成しました。
全ディレクトリのファイル削除を手動で行うのは大変なので、WinSCPのファイル検索機能を利用して抽出→一括削除を行いました。

他に、不正に設置されたファイルがないか確認しましたが、確認されませんでした。
※.htaccessと同じ頃に更新されたファイルが無いか、タイムスタンプで確認

データベースも確認しましたが、こちらには問題はありませんでした。

■脆弱性への対応
MTは使っていないため、全ファイルを削除しました。
MTを使っている場合は、mt-xmlrpc.cgiの権限から実行権限を削除する、あるいはmt-xmlrpc.cgi自体を削除するのが良いと思います。
また、念のためサーバーパスワードをより複雑なものへ変更しました。

2242までのM.2 NVMe SSD専用!コンパクトかつ高速なUSB SSDエンクロージャ ElecGear NV-2242Aのレビュー

2242サイズまでのSSDに限定することで、サイズがとてもコンパクトなSSDエンクロージャー、ElecGear NV-2242A。
本体に直接USB TypeA端子が付いているので、そのままPCに差し込むことができてとても便利です。
このElecGearのSSDエンクロージャー、端子がTypeAとTypeCの2種類、対応するSSDがNVMeとSATAの2種類、計4種類がラインナップされています。
今回購入したのは、TypeA・NVMeのNV-2242Aとなります。



ElecGear NV-2242Aの外見、付属品

パッケージの中には、NV-2242A本体のほか、SSDサイズ変換アダプタ、ドライバー、熱伝導シート、ストラップ、マニュアルが入っています。

本体はアルミ素材を切削加工されているようで、加工精度はとても高く蓋も寸分違わず取り付けが可能で、ぐらつくことは有りません。
キャップにはマグネットが内蔵されており、本体と磁力でピタッとくっつきます。
キャップを使わないときは、磁力を利用してスチールのデスクなどに貼り付けておくことも出来ます。
表面は黒のアルマイト加工されており、本体側の縁は1mm弱程度角を落としており、高級感があります。

SSDの変換アダプタですが、長さを変更するためのもので、調整するサイズにあわせて基盤をカットします。
2230→2242、2260→2280、2230→2260、2242→2280、2230→2280の5通りの長さに調整可能です。
今回は2242サイズのSSDを利用しますので、変換アダプタは使いませんでした。

熱伝導シートですが、12mm×12mm、1mm厚のサイズのものが10枚入っています。
NVMeのSSDは熱を持ちますので、本体に熱を逃がすためにもSSDと本体のアルミケースが接着するように、熱伝導シートを利用しましょう。

今回は、付属のものではなく、手持ちの熱伝導シートを使用しました。
使用したSSDはWestern Digital製のSD SN520 256GBですが、コントローラーチップ側に2mm厚、フラッシュメモリ側に1mm厚を挟むとちょうどケースとぴったり接触できました。
基盤裏側には、JMicronのUSB3.1 Gen.2 to PCI-Express Gen3 x2ブリッジコントローラーのJMS583が搭載されていますが、こちらは1mm厚の熱伝導シートを載せると、裏蓋とぴったりでした。

SSDは何を選んだら良いか

ElecGear NV-2242Aに搭載されているブリッジコントローラーのJMS583ですが、PCI-E Gen3 x2の対応となりますので、理論値の帯域は16.0Gbps(2oooMB/s)が上限となります。
ただし、接続するUSBが3.1 Gen2ですので、最大10Gbpsが上限となりますので、ブリッジコントローラー側の帯域はあまり考える意味は有りません。
今回は、書き込み性能がUSB 3.1 Gen.2の理論値に近い、シーケンシャル最大読取2400MB/s、最大書込950MB/s、ランダムIOPS最大読取170K、書込120KというスペックのWestern Digital WD SN530を組み込むことにしました。
Amazonで販売されているものもありますが、中国?の聞いたことがないメーカーのものばかりでしたので、Western Digital製のSSDのほうが安心感は圧倒的です。

SN530使用時のベンチマークスコア

AMD B550のUSB3.2に接続した際のベンチマークスコアです。
Readは最大速度の半分以下ですが、USB3.1 Gen2の上限値10Gbpsに近い速度が出ているのでUSBメモリとは比にならないくらい高速です。
Write側はSSDのスペックの最大値に近い数値をたたき出しています。
ランダム性能も優秀で、持ち運べるサイズのUSB接続のデバイスでこれだけの速度が出れば十分かと思います。

なお、性能をフルに引き出すためには、10GbpsのUSB3.1 Gen2(またはUSB3.2 Gen2)に接続する必要があります。
USB3.0(USB3.1 Gen1、またはUSB3.2 Gen1)は5Gbpsが上限のため、ベンチマークでも500MB/s弱の速度しか出ません。

気になる動作時の温度

発熱が大きいNVMeのSSDを使うだけあって、温度が気になるところです。
Crystal Disk Markのベンチマーク実行中の温度を、放射式温度計で測定してみました。

最大で50度弱くらいの表面温度となります。
触るととても熱く感じるけど、やけどするほどでもない、といった温度でしょうか。
SN530のサーマルスロットリング発動温度は85℃とのことなので、まだ十分にマージンはありそうです。

ただ、外付けのデバイスですので、抜き取る際に50℃という温度は、あまり積極的に触りたくありません。
そのため、リング状のストラップが付属しているのだと思います。
リングに指をかけ引っ張れば、本体に触れずに取り外すことが可能です。

1000MB/sに近い転送速度、小型で持ち運びが便利、コネクタ付きでケーブル不要と、とても便利な一品。

ElecGear NV-2242Aで気に入っているところは、

  • 2242サイズとしたことで、本体がとても小さくて持ち運び簡単
  • アルミ素材のボディのため放熱に優れる
  • USBコネクタが本体に付いているので、扱いがとても簡単

という点です。
特に、サイズの小ささとコネクタが付いているので直接PCに取り付けが可能な点は、とても便利。
長時間使っていると本体がかなり熱くなりますが、気になる点はそれくらいでしょうか。
高速かつ小型のUSBストレージを探している方には、お勧めの製品だと思います。

SSDを組み込む際に1点、重要な注意点です。
かならず、本体のアルミケースとSSDのチップが接触するよう、付属の熱伝導シートで調整してください。
厚みが足りないところは2枚重ねれば2mm厚になりますので、適宜調整して取り付ける必要があります。
熱伝導シートの厚みが足りず、ケースに放熱できない状態だと、SSD側の温度があっという間に上昇し、サーマルスロットリングが発動して動作が遅くなる、あるいは最悪の場合SSDの故障に繋がる可能性もありますので、注意が必要です。

余ったM.2 SSDを有効活用!Transcend USB3.1 M.2 SSD 外付けケース TS-CM80S レビュー

近年SSDの高速化・大容量化の進歩が速く、数年前の製品があっという間に旧世代になってしまう状況です。
最新のSSDでは、シーケンシャル性能に至っては7000MB/sを超えるものも出てきています。
買い換えで余ったSSDですが、テンポラリドライブで使うといったことも可能ですが、容量が少ないものは余らせてしまうことも。
私の手元にも、X1 Carbon Gen3から取り外した、SATAタイプの256GBのSSDが余っていて使い道がありませんでした。
そこで、余ったSSDを活用すべく、USB接続のケースを買ってみました。

TS-CM80Sを選んだ理由

今回購入したのは、TranscendのTS-CM80Sという製品です。

SSDの外付けケースには、SATA用、nvme用、両対応のもの、と3種類あります。
今回は使用するSSDがSATAなので、SATA対応のものを選びました。
様々な製品がリリースされていますが、その中でもTS-CM80Sに決めた理由は、なんといってもスリムで小さいという点。
34 × 7 ×120 mmのサイズしかなく、長さは120mmと長めですが、厚さに至っては7mmしかありません。
SSDを入れるのにギリギリのサイズで、他社製のものと比べても圧倒的に薄いです。

日本語マニュアル、工具付属。組み立てはとても簡単。

組み立ては簡単で、日本語のマニュアルも付属するので迷うことはないと思います。
ドライバーも付属するので、工具は必要ありません。
このドライバー、付属するものとしては質が良いので、他の用途でも使えそうです。

SSDを取り付けたあと、蓋をネジ止めするのですが、ネジ止めした上に、カバーを両面テープで取り付けます。
両面テープのため、一度貼ってしまうと取り外しが少し面倒です。
ですので、頻繁にSSDを入れ替えるという用途には向かないと思われます。
※もしくは、両面テープで貼り付けるカバーは使わないで済ますか

SSDの性能をフルに引き出せる

SATAタイプのSSDはそこまで熱は持たないものが多いと思いますので、放熱については問題無いと思います。
使っていて、ほんのり暖かくなる程度です。

速度ですが、AMD B550のUSB3に接続し測定したところ、SSD自体の速度とあまり変わりない速度をたたき出しています。
USBメモリと比べると圧倒的に高速で、データを持ち歩くのにはとても便利です。

UASPに対応したUSB3.0への接続がおすすめ

UASP(USB Attached SCSI Protocol)とは、簡単に言えば、USB接続されたデバイスを高速化する技術です。
USB3.0の端子でも、古いものはUASPに対応していないものもあるので注意です。

試しに、UASP対応、非対応でどれくらい速度差があるのか、試してみました。
UASP非対応のµPD720200と、UASP対応のAMD B550に接続した状態で、CrystalDiskMarkで速度を測定しました。

上は、UASP非対応のµPD720200でのベンチマーク。

上は、UASP対応のB550のUSBに接続した状態のベンチマーク。

見て解るとおり、圧倒的にUASP対応の端子に接続した方が、性能が上がっています。
今時のPCであればUSBもUASPに対応していると思いますが、USB3.0が登場した当初のPCでは非対応の場合も多いので注意です。

USBメモリはもはや不要、高速で使い勝手良好

USBメモリと比べると速度は圧倒的。少しかさばるものの、2.5インチの外付けHDDよりは圧倒的に小型・軽量、しかも容量が大きいとくれば、自ずと使う場面が増えてきます。
外出時に仕事用のデータを利用するために使っていますが、SSD自体はBitlockerで暗号化し、FastCopyを使ってドキュメントフォルダーを同期するようにしています。
同期にかかる時間も短いですし、外出時に自宅のPCと同期したファイルを一式持ち歩いていれば、どこでも作業可能で便利です。