11

Wordpressがいかに脆いツールかKali Linuxを使い説明 - 脆弱性診断

 個人的に大嫌いで嫌な思い出もあり、サルでも使える非エンジニア向けツール、Wordpressの脆弱性を診断し、セキュリティ面でどんなことに気をつければいいか考えます。

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

前提

Kali Linux実行環境があること。
Virtual BoxにKali Linuxインストール

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

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

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

すると以下wpscanの画面が立ち上がります。
Inkedキャプチャ_LI.jpg

途中以下のように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で脆弱性を突いたペネトレーションテスト

キャプチャ.PNG

 最後に [i]User(s) Identified: というところに、Wordpressに登録されているユーザ名が表示されます。
 なぜWordpressでこんなに簡単にユーザ名(ログインID)がわかってしまうかは、Wordpressを使ったサイトのあるソースのbodyタグにユーザ名がきっちり表示されているからです。
Inkedキャプチャ_LI.jpg
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使わなきゃいけないのっていうか、そもそもこんな対策しなきゃいけないんだったら脆いツール以外のなんでもないと思います。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away