WordPressは、 たくさん インターネット上のウェブサイトの数。 したがって、熟練した攻撃者や「スクリプトキディ」がWordPress Webサイトを標的にするのを好むのは当然のことです。 あなたがWebマスターであれ、セキュリティの専門家であれ、WordPress Webサイトのセキュリティ状況を評価する任務を負うと、攻撃者が通常利用する一般的なセキュリティの落とし穴に気づくのに役立ちます。 また、適切な侵入テストツールを使用することも重要です。
この記事では、多くのWordPressインストールで攻撃者が悪用する可能性のある一般的なセキュリティホール、不正行為、および有用な情報をいくつか取り上げます。 また、WordPress侵入テストの自動化に役立ついくつかのツールを紹介します。
注意喚起 —自分に属するシステム、または許可が与えられているシステムでのみセキュリティ侵入テストを実行します。 許可されたアクセスの制限を理解し、それらの制限内にとどまります。
一般的なWordPressのセキュリティ問題と不正行為
WordPressコードの古いバージョン
セキュリティの脆弱性を含む古いバージョンのWordPressコアを実行することは、おそらくWordPressに関連する最も一般的なセキュリティホールのXNUMXつです。 新しいバージョンのWordPressを使用すると、最新バージョンに簡単にアップグレードできますが、古いWordPressサイトが遅れることは珍しくありません。
古いバージョンのWordPressをインターネットで実行することは時限爆弾です。 WordPressの古いバージョンの多くにセキュリティの脆弱性が存在します。 これらのセキュリティ問題の多くは、一般的に悪用されています エンマス 攻撃者による。
WordPress Webサイトのセキュリティの脆弱性を監査する場合、これは通常、最初に確認したいことのXNUMXつです。 攻撃者にとって幸運なことに、WordPressはデフォルトで、使用されているWordPressのバージョンを含むHTMLメタタグを追加します。
WordPressのインストールで古いバージョンが実行されていることがわかっていると、攻撃者に既知の脆弱性を利用する機会を与える可能性があります。 使用 CVEセキュリティ脆弱性データベース WordPressコアの既知のセキュリティ問題を検索します。
WordPressのテーマとプラグインの古いバージョン
WordPressコアは非常に安全です。 何百万人ものユーザーや悪意のあるハッカーが同様にコードをテストして徹底的に見直します。 つまり、ほとんどの場合、セキュリティの問題は攻撃者に悪用される前に発見され、修正されます。 ただし、セキュリティの脆弱性の影響は受けません。 残念ながら、これは何千ものWordPressプラグインとテーマには適用されません。
誰でもテーマやプラグインを送信して、WordPress管理者がダウンロードして使用できるようにすることができます。 もちろん、これは あらゆる WordPressプラグインのコーディングは不十分であり、脆弱性に満ちています。 ただし、既知の脆弱性は、WordPressの侵入テストを実施するときに注意する必要がある大規模な攻撃対象をWordPressに公開します。
脆弱なWordPressプラグインとテーマのフィンガープリントを作成するために使用する、最も迅速で、間違いなく最も包括的なツールは、WPScanを使用することです。 WPScanはオープンソースです ブラックボックス WordPressセキュリティスキャナー コア、プラグイン、テーマ内の既知の脆弱性についてWordPress Webサイトをスキャンするために頻繁に使用されます。
ペンテスト中にWPScanを使用する場合は、サインアップして、 WPScan脆弱性データベース APIキー。 WPScan脆弱性データベースは、最新の既知の脆弱性とそれぞれのバージョンを持つWPScanの作成者によって維持されているデータベースです。
WPScanとさまざまな種類のスキャンを実行する方法の詳細については、次を参照してください。 WPScanを使い始める.
PHPとWebサーバーの古いバージョン
WordPressはPHP Webアプリケーションであるため、PHPセキュリティのベストプラクティスはすべてWordPressにも適用されます。 WordPress侵入テスト中、これは最初に探すべきことのXNUMXつです。 古いバージョンのPHPまたはWebサーバーソフトウェア(例:Nginx、Apache HTTP Server、IIS…)を実行しているWordPressインストールは、Webサイトをあらゆる種類の攻撃にさらす可能性があります。
WordPress Webサイトが使用しているWebサーバーとPHPのバージョンを簡単に把握できます。 多くの場合、攻撃者が行う必要があるのは、Webサイトから返されるHTTP応答ヘッダーに注意を払うことだけです。 curlを使用して、自分でリクエストを送信できます。
$ curl -s -D – http://167.71.67.124/ -o / dev / null | grep -i“ Server | X-Powered-By”
探して サーバー および Xパワードバイ 応答のHTTPヘッダー:
サーバー:Apache / 2.4.29(Ubuntu)
X-Powered-by:PHP / 5.5.9
Webサイトのバージョンと構成によっては、攻撃者は既知の脆弱性(例: https://www.cvedetails.com/vendor/74/PHP.html)ターゲットに関する追加情報を取得します。 そのような情報は役立ちます エスカレート 攻撃、またはWebサーバー上で直接コマンドを実行します。
WordPressユーザー名の列挙
システム管理者がそれを防ぐための対策を講じていない限り、デフォルトでは、WordPressはユーザー列挙攻撃に対して脆弱です。 WordPressユーザー列挙攻撃、WordPressが特定のリクエストに応答する方法の微妙な違いを探します。 応答に応じて、攻撃者はユーザーが存在するかどうかを判断できるため、攻撃者はこの情報をより大きな攻撃の一部として使用できる可能性があります。
以下は、WordPressユーザー名列挙攻撃を実行するWPScanのスクリーンショットです。
Webサーバーの設定ミス
ディレクトリ一覧とその他のWebサーバーの設定ミス
古いソフトウェアは別として、潜在的なWebサーバーの設定ミスを常に評価する必要があります。 Webサーバーの構成を誤ると、WordPressWebサイトが悪用されやすくなる可能性があります。 これは、Webサーバーが最新のソフトウェアを実行している場合でも発生する可能性があります。 一般的なWebサーバーの設定ミスは次のとおりです。
有効なディレクトリ一覧
ディレクトリリストは、非常によくある設定ミスです。 Apache Webサーバーでは、これがデフォルトで有効になっています。これは役に立ちません。 ディレクトリー・リストは、索引ファイルがない場合に、グラフィカル・インターフェースでWebサーバー上のファイルとディレクトリーをリストするだけです。
これ自体は特に有害ではありませんが、攻撃者がWebサーバーディレクトリのコンテンツを閲覧する可能性があります。 これにより、Webサイト上のすべてのファイルを閲覧できるようになる可能性があります。これらのファイルのほとんどは、一般にはアクセスできないはずですが、バックアップ、パスワード、構成ファイルなどです。
バックアップファイル
バックアップファイルはあまりにも一般的です Webサーバーの設定ミス。 通常、これは、システム管理者が運用システムで手動でファイルを編集するときに発生します。
潜在的に機密情報を公開するバックアップファイルの一般的な例は、PHPファイルのバックアップコピーです。 PHPファイルには、WordPressのwp-config.phpファイルなどの重要な構成データが含まれている場合があります。
次のシナリオを考えてみましょう— WordPress管理者はwp-config.phpに変更を加える必要があります。 ベストプラクティスに従い、Webサーバー以外の場所にファイルのコピーを保持する代わりに、ライブwp-config.phpのコピーを作成し、バックアップにwp-config.php.bakという名前を付けます。 sysadminがこのファイルを削除するのを忘れたと仮定しましょう。
攻撃者は要求するだけでファイルを読み取ることができます http://www.example.com/wp-config.php.bak。 拡張子が.phpではなくなったため、攻撃者はファイルを読み取ることができます。 したがって、PHPエンジンはそれを無視し、Webサーバーはそれをテキストファイルとして提供します。 これで、攻撃者は、WordPressデータベースの資格情報、シークレットトークン、およびそのファイルに保存したその他の機密性の高い構成情報を知ることができます。
一時ファイル
バックアップファイルと同様に、一時ファイルが間違った場所にあると、機密データが漏洩する可能性があります。 wp-config.phpをもう一度例にとります。 システム管理者がテキストエディタを使用してこのファイルを編集する必要があり、何らかの理由でプログラムが正常に終了しなかった場合、エディタが一時ファイルを残す可能性が十分にあります。 たとえば、人気のコマンドラインエディターVimは、*。ext〜ファイルの拡張子が付いたバックアップファイルを* .ext.swpファイルと一緒に保存します。 swpファイルはロックファイルとして使用されます。 また、すべての元に戻す/やり直し履歴、およびVimが必要とするその他の内部情報も含まれています。
したがって、クラッシュが発生した場合、Vimはwp-config.php.ext〜ファイルを残します。このファイルは、*。phpファイル拡張子で終わっていないため、バックアップファイルのようにプレーンテキストでアクセスできます。 この種の一時ファイルはVim専用ではありません— Emacs(別の人気のあるコマンドラインテキストエディター)も同様の一時ファイルを保存し、他の無数のツールも同様に保存します。
注意喚起 - 使う ファイル整合性監視プラグイン あなたのウェブサイトが一時ファイルとバックアップファイルを含むすべてのファイル変更について警告を受けるために。 このテクノロジーに慣れていない場合は、 WordPressのファイル整合性監視.
公開されたMySQL
システム管理者が犯す可能性のある最も深刻な誤設定のXNUMXつは、WordPress MySQLデータベースサーバーをインターネットに公開したままにすることです。 なぜこれがクレイジーに聞こえるのか、それはおそらくあなたが思っている以上に起こります。 以下は、インターネット接続デバイス用の検索エンジンであるShodanのスクリーンショットです。
もちろん、MySQLがインターネット上で公開されているからといって、誰かがそれに接続してWordPressデータベースにアクセスできるわけではありません。 ただし、特にwp-config.phpのバックアップを介したパスワードの漏えいや、弱いパスワードの推測など、他の攻撃と組み合わせて使用すると、災害シナリオにつながる可能性があります。
WordPressデータベースを制御すると、WordPressインストールのゲームオーバーになります。 攻撃者が行う必要があるのは、管理者パスワードをリセットすることだけです。 次に、悪意のあるプラグインを故意にインストールすることで、WordPress Webサイト、およびそれが実行されているサーバーを完全に制御します。
不要なサービスを実行する
もうXNUMXつの一般的なWebサーバーの構成の問題は、デフォルトの構成です。 多くの管理者はデフォルトの設定を実行し、不要なサービスを無効にしません。 ほとんどの場合、デフォルトのインストールでは多くの不要なサービスが実行されていますが、そのほとんどは、セキュリティで保護されていない場合、Webサーバーを攻撃にさらします。
WordPress侵入テスターとセキュリティ専門家のための侵入テストツール
ペネトレーションテスターは、さまざまなツールを使用して作業と技術を自動化します。 自動化は、セキュリティ評価/侵入テストの実行にかかる時間を短縮するのに役立ちます。
カリLinux
使用するツールは大きく異なります。 それは個人の好みと目前の問題に依存します。 ただし、開始するには、さまざまなツールを事前にインストールしておくことをお勧めします。
カリLinux以前はBackTrackとして知られていた、は、Linuxディストリビューションをテストするオープンソースの頼れるものです。 Kali Linuxには、プリインストールおよび構成済みのツールが多数バンドルされています。 これは、すぐに始めたいと考えている初心者ユーザーと、経験豊富な侵入テスターの両方に役立ちます。 Kali Linuxは無料で利用でき、仮想マシンで実行できます。
Nmapの
この無料スキャナーは、あらゆるペンテスターの武器庫の中で最も基本的で用途の広いスキャナーのXNUMXつです。 Nmapは主にポートスキャナーです。 ただし、NSEスクリプト言語を介してさまざまな種類のスキャンを実行するように拡張できます。
WPScan
WPScan (この記事の前半で説明)は、オープンソースのWordPressセキュリティスキャナーです。 既知のWordPressの脆弱性をスキャンします— WordPressコア内、およびWordPressプラグインとテーマ内の両方です。
WPScanは一連のブラックボックステストを実行できます。 つまり、ソースコードへのアクセスがありません。 その結果、WPScanはWordPressの脆弱性の脆弱性を迅速かつ正確に見つけるのに最適です。
OWASP ザップ
OWASP Zed攻撃プロキシ(ZAP) は無料のオープンソースWebアプリケーション侵入テストツールです。 Open Web Application Security Project(OWASP)はこのツールを管理しています。 OWASP ZAPは、次のようなさまざまな脆弱性についてWebアプリケーションをテストするために特別に設計されています。 クロスサイトスクリプティング(XSS) および SQLインジェクション(SQLi)。 ZAPは、その中心にプロキシです。 ペンテスターのブラウザとウェブサイトの間にあり、両者間で送信されたリクエストを傍受して検査します。
ZAPはプロキシとして機能するだけでなく、さまざまな脆弱性を自動的にテストすることもできます。 ファズ さまざまな入力。 ファジング は、セキュリティの脆弱性を明らかにすることを目的として、無効または予期しない入力がアプリケーションに提供されるセキュリティテスト手法です。
WordPressの侵入テスト– Webサイトのセキュリティ状況の評価
WordPressのセキュリティはXNUMX回限りの修正ではありません。 これは、XNUMXつの原則に基づく継続的なプロセスです。 強化>モニター>テスト>改善。 侵入テストを使用すると、 test 原理。 つまり、あなたはあなたのウェブサイトのセキュリティ態勢をチェックします。 その後、必要な対策を講じて、調査結果に基づいてセットアップを改善できます。
したがって、頻繁なWordPress Webサイト侵入テストをセキュリティプログラムの一部にする必要があります。 侵入テストを行う頻度を判断します。 Webサイトを頻繁に変更する場合は、頻繁にテストを行う必要があります。 ただし、ウェブサイトがめったに更新されない場合は、四半期ごとの侵入テストでうまくいきます。
ポスト WordPress Webサイトの侵入テスト 最初に登場した WPホワイトセキュリティ.
***これは、Security Bloggers Networkのシンジケートブログです。 WPホワイトセキュリティ によって作成された マーク・グリマ。 元の投稿を読む: https://www.wpwhitesecurity.com/penetration-testing-for-wordpress-websites/
出典:https://securityboulevard.com/2020/03/penetration-testing-for-wordpress-websites/