個人的に大嫌いで嫌な思い出もあり、サルでも使える非エンジニア向けツール、Wordpressの脆弱性を診断し、セキュリティ面でどんなことに気をつければいいか考えます。
※ただ実際に脆弱性を突いて攻撃したり、パスワード解析をしてサイトに侵入したら犯罪です。使用は自己責任でお願いします(ただWordpressを使うことも自己責任です)。
前提
Kali Linux実行環境があること。
Virtual BoxにKali Linuxインストール
Wordpressを使ったサイトの脆弱性とログインIDを表示
Wordpressを使ったサイトの脆弱性を診断しつつ、どんなユーザ名が使われているかを表示させます。Kali Linuxでwpscanコマンドを実施します。
※wpscan自体Ruby製で実はKali Linuxでなくても使えます。
wpscan --url "サイトURL" --enumerate u
途中以下のようにWordpressのバージョンが表示されます。
[+] WordPress version 4.7.13 identified (Latest, released on 2019-03-13).
| Detected By: Rss Generator (Passive Detection)
このサイトは4系のバージョンを使っています。バージョン5より前は重大な脆弱性が見つかっているため、これは悪意を持った人の攻撃対象です。
・「WordPress」の脆弱性「CVE-2019-8942」と「CVE-2019-8943」について解説※トレンドマイクロブログより
途中 [!] というマークで表示された箇所があります。サイト自体が脆弱性を持っている、または脆弱性を持ったプラグインが使われている場合表示されるのですが、このサイトは14個も脆弱性を持っています。ご丁寧にその脆弱性に対するexploitまで表示されることもあります。
※脆弱性を持ったツールの脅威について
・Kali LinuxのMetasploitで脆弱性を突いたペネトレーションテスト
最後に [i]User(s) Identified: というところに、Wordpressに登録されているユーザ名が表示されます。
なぜWordpressでこんなに簡単にユーザ名(ログインID)がわかってしまうかは、Wordpressを使ったサイトのあるソースのbodyタグにユーザ名がきっちり表示されているからです。
WordpressはログインIDが露呈することを「仕様」としているそうですが、
・WordPress Username Disclosure, Vulnerability or Not?
そんな議論があること自体が脆弱というか…
Wordpress管理画面の侵入について
そのため表示されたユーザ名をテキストにし、パスワードリストを作成すれば、
以下のコマンドでブルートフォース攻撃ができてしまいます。ただパスワードリストの作成方法にはコツがいります。
wpscan --url "サイトURL" -U ユーザリストファイル名 -P パスワードリストファイル名
※パスワード解析について
・Kali LinuxでJohn The Ripper,hydraによるパスワード解析
そうしてパスワードが検索された場合、管理画面に侵入されてしまうので、
Wordpressの管理画面を https://xxx/wp-admin のままにすべきではないです。
最後に
Wordpressは誰でも記事が投稿できて便利だと思いますが、世にさらす以上、最低限のセキュリティには気をつけるべきだと思います。
管理画面のURLを変更したり脆弱性を持ったツールの情報を取得し、アップデートするなどの対策は必要だと思います。
こちらのサイトもしっかりまとまっていると思います。
・WordPressの脆弱性攻撃被害事例と今からできる対策とは? ※CyberSecurityTimesより
またセキュリティの分野でも著名な徳丸浩さんのブログより、まさにと思う記事がありましたので紹介させていただきます。
・WordPressの侵入対策は脆弱性管理とパスワード管理を中心に考えよう
そしてログインIDが見えてしまうことに対しては、Google Apps Loginのみで管理画面にログインできる方法があるそうです。
・Google Apps Login
OAuth使うってことですが、じゃあGoogle Apps,Gsuite使わなきゃいけないのっていうか、そもそもこんな対策しなきゃいけないんだったら脆いツール以外のなんでもないと思います。