Edited at

Kali LinuxでWordpressの脆弱性診断

 Kali Linuxで、非エンジニア向けツールWordpressの脆弱性を診断し、セキュリティ面でどんなことに気をつければいいか考えます。脆弱性診断の内容はあくまで私が用意した、もしくは私関連のサイトです。

※実際に脆弱性を突いて攻撃したり、パスワード解析をしてサイトに侵入したら犯罪です(無断で脆弱性診断も)。使用は自己責任でお願いします。

※自分も予想しないほど反響がすごい記事でしたのでいろいろと修正しました。本来私が載せたかった記事にしました。Wordpressはユーザ名が見えるということを「脆弱」というか「仕様」というか正直どうだっていいです。ただ単にWordpressに限らずユーザ名かパスワードのどちらか一方を知っていたら、二つとも知らない場合よりログイン突破の可能性が上がるということです。


前提

Kali Linux実行環境があること。

Virtual BoxにKali Linuxインストール

ちなみにKali(カーリー)はヒンドゥー教の破壊神のことです。

カーリー - Wikipedia


Wordpressを使ったサイトの脆弱性とログインIDを表示

Wordpressを使ったサイトの脆弱性を診断しつつ、どんなユーザ名が使われているかを表示させます。Kali Linuxでwpscanコマンドを実施します。

※wpscan自体Ruby製で実はKali Linuxでなくても使えます。

 wpscan --url "サイトURL" --enumerate u

すると以下wpscanの画面が立ち上がります。

途中以下のように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」について解説※トレンドマイクロブログより

途中 [!] というマークで表示された箇所があります。サイト自体が脆弱性を持っている、または脆弱性を持ったプラグインが使われている場合表示されます。ご丁寧にその脆弱性に対するexploitまで表示されることもあります。

※脆弱性を持ったツールの脅威について

・Kali LinuxのMetasploitで脆弱性を突いたペネトレーションテスト

 最後に [i]User(s) Identified: というところに、Wordpressに登録されているユーザ名が表示されます。

 なぜWordpressでこんなに簡単にユーザ名(ログインID)がわかってしまうかは、Wordpressを使ったサイトのあるソースのbodyタグにユーザ名がきっちり表示されているからとのこと。


Wordpress管理画面の侵入について

 そのため表示されたユーザ名をテキストにし、パスワードリストを作成すれば、

以下のコマンドでブルートフォース攻撃ができてしまいます。簡単なパスワードを設定している人がいないか確認することができます。

wpscan --url "サイトURL" -U ユーザリストファイル名 -P パスワードリストファイル名

※パスワード解析について

・Kali LinuxでJohn The Ripper,hydraによるパスワード解析

そうしてパスワードが検索された場合、管理画面に侵入されてしまうので、

Wordpressの管理画面を https://xxx/wp-admin のままにすべきではないです。


最後に

 Wordpressは誰でも記事が投稿できて便利だと思いますが、世に出す以上、最低限のセキュリティには気をつけるべきだと思います。

 管理画面のURLを変更したり脆弱性を持ったツールの情報を取得し、アップデートするなどの対策は必要だと思います。

 こちらのサイトもしっかりまとまっていると思います。

・WordPressの侵入対策は脆弱性管理とパスワード管理を中心に考えよう

 そしてログインIDが見えてしまうことに対しては、Google Apps Loginのみで管理画面にログインできる方法があるそうです。

※コメントしてくださった方より

・Google Apps Login