よく「Wordpress セキュリティ対策」でググると攻撃者に余計な情報を与えないという意味で「バージョン情報を非表示にする」と書いてある記事がちらほらあるのですが、Wordpressで構築されたサイト内にバージョン情報を消しきれてないケースがあることに気づきました。
よくある記事で紹介されているのは下記の2パターンがメイン。
- 各ページのMETAタグにバージョン情報が表示されているケース
- jsやcssなどのassetsファイルにバージョン情報がパラメータとして付与されているケース
atomやrdfなどのfeedに記載されていることもあったり、古いWordpressだとreadme.htmlに大きく記載されていることもある。
なので、バージョン情報が記載されている箇所をある程度網羅する必要がある。
そこで利用するのがWPScan。
WPScanは、ブラックボックス型のWordpressの脆弱性スキャナで、自身で構築したWordpressの検査に時々利用している。
gemでインストールできるのだが、Docker Imageもあるので、普段はこちらを利用しています。
https://hub.docker.com/r/wpscanteam/wpscan/
通常の利用方法でもバージョン情報を検出は可能なのだが、検出できた時点で探索をやめてしまうので、網羅的に探すことができない。
$ docker run -it --rm wpscanteam/wpscan --url https://target.tld/
と困っていたところ、 --wp-version-all
というオプションがあることを教えてもらった。これでバージョン情報が表示されている場所をある程度網羅ができそう。
$ docker run -it --rm wpscanteam/wpscan --url https://target.tld/ --wp-version-all
マニュアルに載っていないなと思ったら --hh
オプションのマニュアルにちゃんと書いてあった^^;
ここまでやっておいてなんだけど、バージョンを非表示にすることよりもちゃんと最新版にアップデートしていくほうに時間を使いたい。