SOY CMSのフォーラムにインストーラを利用した方はインストール後にインストーラを削除してくださいと投稿されていたので、
インストーラを削除しなかった場合はどうなるのかを調べてみた。
SOY CMS フォーラム • トピックの表示 - インストーラー削除のお願い
とりあえず、MySQL版のインストーラをダウンロードしてきて試す。
インストーラは
/ルートディレクトリ/cms_installer
となるように配置し、
ブラウザで、http://example.com/cms_installerを指定して表示
インストーラーが表示されたので、
画面の指示に従い、SOY CMSのインストールを行う。
インストールの要件を確認したり、
データベースの設定を行ったり、
再度確認で、
インストールを実行する。
インストール終了後にインストール時に管理画面を開いてみると、
ログインフォームが表示されました。
初期管理者を作成してログインをしてみると、
いつものようこそSOY CMSへの画面が表示されました。
これでインストールは終了です。
さて、ここからが本番
ブラウザで、http://example.com/cms_installerを開いてみると、
この画面が表示された。
上のインストールの手順に従い、再度インストールを試してみる。
今回はデータベースの作成画面で、
悪意のある攻撃者になった気持ちで自身で用意したデータベースの情報を入力して、
インストールを実行してみる。
インストール後、管理画面を表示してみると、
初期ログインの画面が表示されました。
この時点で今まであったサイトが消えたことが確定です。
※サイトディレクトリが消えているわけではないので、うまくやれば復活できる
引き続き悪意のある攻撃者になった気持ちだとすると、
次は何をするかというと、
この画面のまま保留にして、本当の管理者が再度初期化するのを待つ。
そうすることで、
このサイトの管理者が初期管理者として登録するIDを得ることができた。
この後は、、
管理画面のURLもIDもわかっていることだし、
総当り攻撃でこのサイトの管理者のパスワードを盗む。
こんなザルなことをする人だ。
おそらく他のサイトでもパスワードを使いまわしているだろうから、
他のWebサービスのログインを片っ端から試してみる。
※訂正(2016年7月10日)
管理画面のURLを同じものにすると、初期化を行うか判定するためのcms.dbがすでに作られているため、
この画面は表示されないんだった。
というわけで、
初期化画面のまま保留にして新規登録するのを待つという手はなし
もしくは、
パスワードは他に用意したSOY CMSで作成してしまい、
それを今回のデータベースの初期管理者のパスワードとして挿入してログイン。
SOY ShopにEC CUBE2.4系のログインチェックを導入しました
速攻でサイトを復元して、
そこに踏み台用のコードを仕込んで他サイトをひたすら攻撃。
とりあえずわかったことは、
使用しているCMSがSOY CMSであることがわかったら、
管理画面のURLを特定する前にインストーラーがあるか確認をする。
インストーラーを使った方は十中八九、管理画面は
http://example.com/cms/admin
なので、
管理画面が表示されることを確認でき次第、
インストーラーを開き、再インストールを開始する。
ちなみに、
他CMSでもインストーラを使うものは同様のリスクがある。