表題通り、久々にこのサイトがハッキングを受けた。
ざっくりした対処しかしなかったが、忘れないようにメモを残しておく。

被害を受けたのは、さくらのスタンダード側で運営していたサイト群。
さくらのVPS側(別館)は無事。

具体的には
 ・ぼくんちのバックステージ
 ・ぼくんちのTV 本館
 ・ぼくんちのカルテ
 ・444
この4つが被害を受けた。
その中でも特に、このバックステージが標的になっていた。
それ以外のサイトは、侵入の形跡はあれども、おそらく外部に被害は出ていない。
ウイルス駆除のついでに、バックステージや本館を(ようやく)HTTPS化した。

いつから?

だいぶ前から。たぶん、2021年の晩秋頃から。
その頃、サーバーメンテで、私の契約していた「さくらのスタンダードのサーバ」にアップデートがあった。

一部のコードが正常動作しなくなったが、サーバーアップデートが原因で動かないトコがあるんだろう。。。とタカを括っていた。なので「暇な時に直そう」くらいに考えていた。(今回メンテして分かった。ハッキング対処が終わったら、全部正常に動いた。アップデートは関係なかった。)

ドコから侵入された?

MovableType4 のコメントまたはトラックバック cgi から侵入された。
とっくの昔に MT5>MT6と移行していたが、MT4 > MT5 の移行時に SQlite > MySQLの移行も行っており、「何かあった時のために」とMT4 と SQlite のディレクトリをそのまま残していた。
その直後、急に忙しくなって、引っ越し検証 と MT4 & SQlite はそのまま放置。
中途半端な引っ越しをしてしまった。

何がおきた?

PHPコード が動作しなくなった(アップデートのせいだと思ってた)
3~5日に1回のペースでバックステージへのスパムコメントの報告メールが届くようになった。(ちょっと増えたけど、以前からあったコトなので気にしなかった)
しかし、MT6 の管理画面や、MySQL のデータベースを見ても、スパムの件数は増えていない。(ここで気が付くべきだった。MT4 が残っている事を忘れている)

今月に入り、スパムコメントの報告メールが毎日のように入るようになった(※ サーバーログを確認したら11月21日が起点だった)
ここに来て、ようやくスタンダード側の MT6 の管理画面が正常に動いていない、ハッキングされている事に気が付く。(これが昨日)

具体的な被害

「Movable Type をインストールした ディレクトリ」と「スタンダードサーバーのルートディレクトリ」に「Fox-C」ディレクトリが生成され、そこにウィルスらしきモノを仕込まれていた。(ファイルを開くとセキュリティソフトが反応する)

これかな?(時期的にも一致する)
Movable Typeの「XMLRPC APIにおける脆弱性」 その3【悪意のある攻撃の足跡】 - CMSに挑戦
メモ1:フジイアニ@FScomさんはTwitterを使っています
メモ2:年末年始のドタバタ | YOHSUKE ISHIDA PERSONAL WEBあああ
メモ3:Movable Type XMLRPC API を経由した OS コマンドインジェクション - 電脳情報局
メモ4:「Movable Type」の XMLRPC API における OS コマンド・インジェクションの脆弱性について(JVN#41119755):IPA 独立行政法人 情報処理推進機構

時期的にも、症状的にも、これが一致する。
上記リンクでは言及されていないが、当方ではすべてのディレクトリに .htaccess を設置され、設定を上書きされていた。(二重にハッキングされたかな?PHP や CGI が動かなくなったのはこれのせい。)

他にも複数のディレクトリやファイルを設置されていた(ただし、このサイトは2017年移行更新していなかったので、日付ソートで簡単にみつかる。簡単に削除できる&ウィルスなし。ダミーで設置かな?)

また、http://web.tvbok.com/index.html と http://tvbok.com/index.html の2つには、20~30個の外部リンクが見えないように仕込まれていた。これらには「dofollow」の指定があり、強制的にジャンプさせるような仕組みは発見できなかったので、単なるSEO目的かもしれない。

リンク先を読んだ感想

脆弱性があったのは「xmlrpc.cgi」だったのか。
そして、MT6 や MT7でも被害を受けていたのか。
私のサーバーでは、現行運用中である MT6 側は .htaccess 書き換え程度で、消し忘れのMT4側のみが大きな被害を受けた。MT4 が古いから被害を受けたワケではなく、たまたまだったか。(というか、今年の11月後半に別のハッキングを受けてMT4経由でスパムコメントが増えたのかもしれない。)

リンク先の内容を読む限り、乗っ取ったサーバーを踏み台にして、大量のスパムメールをばら撒くウィルスのようだ。
サーバーログを確認した限り、6月以降スパムメールをばら撒いた形跡はない(180日でログが消えるので、それ以上古いログは追跡できず)
それより古い時期に、私のサーバーからスパムメールが送られていたら、申し訳ない。

また、リンク先には「Fox-Cディレクトリが削除できない」云々が記述してあるが、パーミッションを弄る技術があればサクっと削除できる。

かきかえられた .htaccess の中身

ちなみに、.htaccess の中身はこんなカンジだった。

<FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|suspected)$">
Order Allow,Deny
Deny from all
</FilesMatch>

拡張子が CGI であれば動く (スルーされる) けど、そこからphp や py を呼び出すと、そこかで動かなくなる仕組み。だから mt.cgi は動くけど、検索や投稿、プラグイン系が動かない。いやらしい。

ウイルスの中身

久々に野生のウィルスゲットだぜ~~と思ったが、最近忙しいのでサンドボックスを作ってソコにウイルスを置いて・・・・というのが面倒で即、駆除してしまった。
どういう挙動を示すのかは不明。

今回の対処

ササっと済ませたかったので、たいしたことはしていない。

  • 古いMTのディレクトリを削除
    脆弱性対処済みの最新MTを新たにインストール
  • 「Fox-C」ディレクトリなど、いかにも怪しそうなのは中身のみ全削除。ディレクトリは残す。でもパーミッションをガチガチに変更。
  • その他、日付の新しい見覚えのないディレクトリを削除
  • .htaccess 改ざんは大したコトなさそうなので、php や CGI、py の入っているディレクトリのみで削除。
  • 画像やHTMLのみのディレクトリは、部分的に放置(全部で.htaccess 削除はめんどいし、どうみても無害)
  • ついでに、15年以上更新をしていない、その他のサイトを削除。
    (こいつらがハッキングされたら、もう気が付けない)
  • さらについでに、バックステージや本館をHTTPS化

以上。

今回はここまで

とりあえず、バックステージ内の「今となっては 私以外は誰も見ないだろう」というようなページが3~4ページ書き換えられた。
昨年から「書き換えられた直後」に私がアクセスしててもセキュリティソフトは全く反応していなかったので、閲覧者には何の被害もないだろう。が、暫くの間はスパムメールの温床になっていたと思う。
ウイルスメールを開いたり、別サイトでウィルス感染したPCに、私のサーバー内のウイルスがペイロードされたこともあるかもしれない。
そう思うと申し訳ない気持ちで一杯になると同時に、気分が悪い。

ここ5年くらい、忙しいこともありサイト運営がおざなりだった。
ハッキング被害は、こういう時に起きるものなのだなあ、と反省する次第。