STEWS: WebSocketのセキュリティテストと列挙

STEWSはWebSocketのセキュリティテストのためのツールスイートです。
この研究はOWASP Global AppSec US 2021で初めて発表されました。
機能
STEWSは以下の機能を提供します:
- 発見: ドメインのリストをテストしてWeb上のWebSocketエンドポイントを見つける
- フィンガープリント: エンドポイントで動作しているWebSocketサーバーを特定する
- 脆弱性検出: WebSocketサーバーが既知のWebSocket脆弱性に対して脆弱かどうかをテストする
このリポジトリに含まれるホワイトペーパーは、実施した研究の詳細を提供します。
含まれているスライドデッキはOWASP AppSec US 2021で発表されました。
この研究の一環として作成された補完的なリポジトリには以下があります:
インストールと使用方法
STEWSの各機能(発見、フィンガープリンティング、脆弱性検出)には個別の手順があります。各フォルダのREADMEを参照してください。
WebSocketの発見
発見のREADMEを参照してください
WebSocketのフィンガープリンティング
フィンガープリンティングのREADMEを参照してください
WebSocketの脆弱性検出
脆弱性検出のREADMEを参照してください
なぜこのツールなのか?
WebSocketサーバーはセキュリティの分野でほとんど無視されてきました。
これは部分的には、WebSocketエンドポイントに対して明確に対処されていない3つのハードルによるものです:
- 発見
- 列挙/フィンガープリンティング
- 脆弱性検出
STEWSはこれら3つの点に対処しようとしています。現在のセキュリティテストツールでは、手動で構成されたWebSocketテストのサポートが著しく欠如しているため、カスタムツールが必要でした:
- サポートされていてスクリプト可能なWebSocketセキュリティテストツールが全般的に不足しています(例:NCCのサポートされていないwssipツール、nucleiのWebSocketサポートの欠如、nmapのWebSocketサポートの欠如)
- Burp SuiteはWebSocket拡張のサポートを欠いています(例:このPortSwiggerフォーラムスレッドおよびこれを参照)。
- より深いWebSocket固有のセキュリティ研究が不足しています(Awesome WebSocket Securityリポジトリに公開されたWebSocketセキュリティ研究がリストされています)
- 現代のウェブにおけるWebSocketの普及(STEWS発見ツールの結果に見られるように)