
SaltStackの脆弱性CVE-2020-11651およびCVE-2020-11652をテストするためのスキャンツール。
これは何ですか?
SaltStackの脆弱性CVE-2020-11651およびCVE-2020-11652をテストするためのスキャンツールです。
これらの脆弱性により、「リクエストサーバー」ポートに接続できる攻撃者は、すべての認証および認可制御をバイパスし、任意の制御メッセージを公開し、「マスター」サーバーファイルシステムのどこにでもファイルを読み書きし、rootとしてマスターに認証するために使用される秘密鍵を盗むことができます。その影響は、マスターとそれに接続するすべてのミニオンの両方で、rootとして完全なリモートコマンド実行が可能になることです。
インストール方法
このツールにはPython 2.7またはPython 3が必要です。外部要件はpipまたはeasy_installでインストールできます。例:
sudo pip install -r requirements.txt
使用方法
2つの検出方法が含まれています。
トークン開示 (-t)
この方法は-tオプションで呼び出され、脆弱性を悪用してSaltのrootトークンを読み取ろうとします。この方法は自己完結型ですが、新しいバージョンでのみ機能し、一部の古いバージョンはサポートされていません。
帯域外(DNS)へのリモートコード実行 (-c)
この方法は、nslookupコマンドを実行してAppcheck SentinelサーバーへのDNSルックアップをトリガーすることにより、脆弱性を悪用します。スキャナーはAppCheck DNSサーバーに問い合わせて、それが実行されたかどうかを判断します。これを達成するために、ツールはhttps://ptst.io/に接続する必要があります。
注:Sentinelの詳細については、以下のセクション[4]を参照してください。
推奨コマンドライン:salt_rce_scanner.py -r cidr_ip_range -t -c
[コマンドラインオプション]
/ _ \ / __ \ | | |
/ /\ _ __ _ __ | / / |__ ___ | | __
| _ | ' | ' | | | ' \ / _ / __| |/ /
| | | | |) | |) | _/\ | | | / (| <
_| ||./| ./ _/| ||_|___||_
| | | |
|| |_|
SaltStackスキャナー (CVE-2020-11651 & CVE-2020-11652)
著者: Gary O'Leary-Steele
バージョン: 0.1 Alpha
使用オプションを表示するには-hを使用してください
オプション引数: -h, --help このヘルプメッセージを表示して終了します -r CIDR_RANGE スキャンするターゲットホストまたはCIDR範囲 -p PORT ターゲットポート(デフォルトは4506) -c リモートコマンドインジェクションテストを有効にする(AppCheck Sentinelへの帯域外DNS) -t rootトークン開示チェックを有効にする -T THREADS 最大スレッド数(デフォルトは50) -o OUTPUT_FILE 出力ファイル
AppCheck Sentinel
= 背景 =
従来、Webアプリケーションのセキュリティ上の欠陥は、クライアントから提供された入力を変更し、サーバーからの特定の応答をトリガーしようとすることで検出されていました。たとえば、SQLインジェクションの欠陥は、データベースサーバーからシグネチャが返されるペイロードを送信することで検出されることが多く、他のケースでは、欠陥を検出するために測定できる特定の時間遅延をトリガーするようにペイロードが設計されています。いずれの場合も、これらの方法は、攻撃と応答の両方が通常のウェブサイトトラフィックと同じパスをたどり、脆弱性の即時確認につながるインバンド技術を使用します。
= 帯域外検出 =
しかし、インバンド技術が効果的でないケースもあります。たとえば、注文を収集し、後でバックエンドの注文処理システムを介してレビューされるeコマースサイトを考えてみましょう。AppCheckはルーチンスキャン中にeコマースサイト内の脆弱性(インバンド)を検出しますが、バックエンドの注文処理システム内の脆弱性は、後で(別のユーザーまたはプロセスによって)アクセスされるまでトリガーされない場合があります。
脆弱性をトリガーしても、欠陥を確認するための信頼できるインバンドメカニズムが提供されない場合もよくあります。たとえば、通常のサーバー応答時間が不安定な場合、サーバー応答時間の測定は信頼できない可能性があります。その他の場合、脆弱性が正常に悪用されたかどうかにかかわらず、サーバーの応答方法に影響を与えないことがあります。
これらの制限を克服するために、AppCheckはSentinelという名前の帯域外検出システムを実装しています。
Sentinelは、AppCheck攻撃ペイロードの結果としてトリガーされる帯域外接続を傍受する、特別に設計されたDNS、SMTP、HTTP(s)、およびSMBサービスをホストするクラウドベースの監視システムです。
スキャン中、AppCheckは、正常に実行されたときに帯域外接続をトリガーするように設計された特別に作成されたペイロードを送信します。Sentinelはその後、この実行を検出し、それに応じてスキャン結果を更新します。最も一般的な手法の1つは、ペイロード内に埋め込まれたDNSトークンの使用です。設計上、DNSクエリは、解決されるために特定のドメインの権威DNSサーバーに転送されます。したがって、脆弱なシステムがインターネットへのアクセスを許可されていない場合でも、DNS名を解決できる限り、Sentinelと通信できます。