検出されたテクノロジー
Tenableのスキャン結果で「検出されたテクノロジー」が検出された場合、その内容を確認し、実際に使用されているかどうか調査することが重要です。
自社開発のシステムであれば仕様書などのドキュメントを参照すればすぐに確認できますが、詳細な情報が不明な場合は、サイトにアクセスして探す必要があります。
検出したシステムの詳細を調べる
検出されたシステムやフレームワークが何かを特定します。
Tenableのレポートには、検出された技術の名前やバージョンが記載されているので、その情報をもとにGoogleで調べましょう。
出力例
The framework has detected the following technologies in the target application:
- PHP (v8.1.29)
- WordPress (v6.6.1)
- Nginx (v1.27.1)
- Apache (v2.4.58)
- jQuery (v3.7.1)
- Lodash (v3.10.1)
- Moment JS Framework (v2.30.1)
目次
調べた結果、当てはまるカテゴリを選択してください。
- サーバーサイドのシステム名称の場合
- PHP
- Nginx
- Apache 等
- CMSのシステム名称の場合
- WordPress
- Movable Type 等
- フロントサイドのシステム名称の場合
- jQuery
- Lodash
- Moment.js
サーバーサイドのシステム名称の場合
サーバーサイドのシステム名称の場合は、レスポンスヘッダに出力されていることが多いです。
ブラウザの開発者ツールで見る方法が楽だと思います。
・PHP
X-Powered-By: PHP/7.4.3
X-Powered-Byヘッダはphp.ini
ファイルを編集することで出力を防ぐことができます。
・Nginx
Server: nginx/1.18.0
Nginxのバージョン情報はnginx.conf
ファイルを編集することで出力を防ぐことができます。
・Apache
Server: Apache/2.4.41 (Ubuntu)
Apacheのバージョン情報はhttpd.conf
ファイルを編集することで出力を防ぐことができます。
CMSのシステム名称の場合
WordPressの場合は、ウェブページのHTMLやHTTPレスポンスに多くのWordPress固有のサインが含まれます。
・ソースコード
WordPressはデフォルトで、HTMLソースの<head>
タグ内にバージョン情報を含むmeta
タグを出力します。
<meta name="generator" content="WordPress 5.8.1" />
functions.phpファイルを編集することで出力を防ぐことができます。
・RSSフィード
WordPressはRSSフィードでもバージョン情報を出力します。これも攻撃者に対してバージョン情報を提供してしまう場所です。割と忘れがち。
<generator>https://wordpress.org/?v=5.8.1</generator>
functions.phpファイルを編集することで出力を防ぐことができます。
・wp-json(WordPress REST API)
WordPressのREST APIエンドポイント(wp-json)でもバージョン情報が含まれています。
{
"name": "mimikero",
...
"version": "5.8.1" // バージョン情報
}
functions.phpファイルを編集することで出力を防ぐことができます。
・XML-RPC
WordPressのXML-RPC機能もバージョン情報を提供する可能性があります。
この機能は外部のアプリケーションからWordPressにアクセスするために使用されますが、セキュリティリスクが高いため、使っていない場合は無効化することが推奨されます。
X-Pingback: https://****.com/xmlrpc.php
・readme.html ファイル
デフォルトで、WordPressのルートディレクトリにはreadme.html
というファイルが存在し、そこにインストールされているWordPressのバージョンが記載されています。
このファイルは外部からアクセス可能であるため、削除またはリネームすることが推奨されます。
https://****.com/readme.html
・wp-includesやwp-contentのリンクからの推測
WordPressのテーマやプラグインに関連するファイルが/wp-content/や/wp-includes/ディレクトリに格納されていることから、WordPressの利用が推測されます。これに加えて、特定のテーマやプラグインが使用されている場合、そのバージョンが出力されることがあります。
<link rel="stylesheet" href="https://example.com/wp-content/themes/twentytwenty/style.css?ver=5.8.1" />
この場合、?ver=5.8.1
のようにバージョン情報が付加されていることがあり、これはWordPressのコアバージョンやプラグイン、テーマのバージョンを示している可能性があります。
フロントサイドのシステム名称の場合
方法1: HTMLソースの検索
ここではjQueryを例として挙げます。
- 対象のWebページをブラウザで開き、右クリックメニューから”ページのソースを表示”をクリックします。
- Ctrl + F からシステム名 または バージョンで検索します。
- 下記のようなコードが出力されたら製品・バージョンが特定可能です。
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
方法2: F12ツール(開発者ツール)の「Network」タブを使用 (オススメ)
- 対象のWebページをブラウザで開き、F12キーを押して開発者ツールを表示します。
- 「Network」タブを選択し、ページのリソースをロードしている通信を確認します。
- Ctrl + F からシステム名 または バージョンで検索することで、製品・バージョンが特定可能です。
この方法はminifyやBundleされたJavaScript にも有用です。
関連リンク
Tenable Plugin | https://jp.tenable.com/plugins/was/98059 |