
Nacos Derbyコマンド実行脆弱性悪用スクリプト
Nacos Derby コマンド実行脆弱性の悪用スクリプトです。デフォルトでは User-Agent バイパスを利用して本脆弱性を悪用します。
Nacos は、サービス登録・検出・設定管理のためのオープンソースプラットフォームです。初期バージョン(≤2.4.0-BETA)では、Nacos は組み込みデータベースとして Apache Derby をデフォルトで統合しています。Derby データベースはデフォルトでアクセス制御が設定されていないため、攻撃者は未承認で特定のインターフェースにアクセスし、任意の SQL 文を実行でき、最終的にリモートコマンド実行の脆弱性が発生します。
脆弱性の原理:
未認証アクセス: デフォルト設定では、Nacos の Derby データベースインターフェースにアクセス制御が設定されておらず、誰でもアクセスできます。
SQL インジェクション: 攻撃者は特定の HTTP リクエストを通じて、Nacos の Derby インターフェースに悪意のある SQL クエリを送信します。例えば、以下の URL にアクセスします:
http://<Nacos服务器地址>:8848/nacos/v1/cs/ops/derby?sql=select * from users
これにより、ユーザーテーブルのすべてのデータが返されます。
リモートコマンド実行(RCE): さらに深刻なことに、攻撃者は Derby の特定の機能を利用して、SQL 文を通じて任意のコードを実行できます。例えば、CALL 文を使用してリモートの悪意のある JAR パッケージをロードし、その中のコードを実行することで、被害者のサーバー上で任意のコマンドを実行できます。
修正・対策:
Nacos のアップグレード: 公式は最新バージョンで本脆弱性を修正済みです。Nacos を最新バージョンにアップグレードすることを推奨します。
Derby インターフェースの無効化: 組み込みデータベースを使用しない場合は、Derby インターフェースを無効にして、未承認のアクセスを防ぐことを推奨します。
認証の有効化: Nacos の認証メカニズムを設定し、承認されたユーザーのみが関連インターフェースにアクセスできるようにします。
この脆弱性の悪用は、データ漏洩、サービスの中断、さらにはサーバーの完全な制御奪取につながる可能性があり、非常に危険です。したがって、影響を受けるユーザーは上記の対策を速やかに実施することを強く推奨します。
nacos_derby_rce.py [-h] -u URL [-a TOKEN]