
Slack Enumeration and Extraction Tool - Slackワークスペースから機密情報を抽出する
これはPythonで開発されたツールで、ネイティブのSlack APIを使用して、アクセストークンが与えられたSlackワークスペースから「興味深い」情報を抽出します。
2018年5月時点で、Slackの顧客数は800万を超え、その数は急速に増加しています。統合と「ChatOps」の可能性は無限であり、チーム(開発者だけではありません!)が非常に強力なワークフローやSlackボット/アプリケーションのやり取りを作成できるようにします。
大企業から小企業に至るまで、Slackのようなツールが情報セキュリティのガバナンス/ポリシーのレーダーから外れることは珍しくなく、その結果、機密性の高い情報が本来あるべきでない場所に置かれてしまう危険な状況に陥ります。
このツールの目的は2つあります。
このツールを使用すると、オフラインで都合の良いときに簡単に機密情報を収集できます。
注:私はPythonのn00bであり、スクリプトが大幅に最適化・改善される可能性があることは間違いありません。プルリクエストは自由に送ってください。適宜確認してマージします!
このツールは、ネイティブのSlack APIを使用して「興味深い」情報を抽出し、現在以下の情報を探します。
Slack Webアプリケーションは複数のCookieを使用します。特に注目すべきは、その名も... d というCookieです。この d Cookieは、被害者がアクセスできるすべてのワークスペースで同じです。つまり、単一の d Cookieが盗まれると、攻撃者は被害者がログインしているすべてのワークスペースにアクセスできるようになります。Slack Webアプリケーションでの私の経験では、一度ログインすると、無期限にログイン状態が続きます。
Slack APIトークンはワークスペースごとのトークンです。1つのトークンで(私の知る限り)上記の d Cookieのようにすべてのワークスペースにアクセスすることはできません。
ツールが情報を検索・抽出するには、Slack Cookieに加えてAPIトークンを提供する必要があります。このトークンは、クライアントからSlack APIに送信されるリクエストのフォームデータに含まれています。したがって、SlackPirateを使用するには、以下の情報を提供する必要があります。
--cookie フラグを使用して d Cookieをツールに提供します。ツールは関連するワークスペースとトークンを出力します。--token フラグを使用してトークンをツールに提供します。これは、開発者ツールやその他のネットワーク監視手段を使用するか、Slackのプロセスメモリをスクレイピングして見つけることができます。トークンは xoxc- で始まります。トークンとCookieの両方を必ず渡してください。認証するには両方が必要です。
スクリプトはPython 3.5、3.6、3.7で開発、テスト、動作確認されています。Python 2での簡単なテストでは互換性の問題がいくつか発生しました。
git clone https://github.com/emtunc/SlackPiratepip install virtualenvvirtualenv SlackPiratesource SlackPirate/bin/activatepip install -r requirements.txt./SlackPirate.py --helpgit clone https://github.com/emtunc/SlackPiratechmod +x SlackPirate.pypip install -r requirements.txt./SlackPirate.py --helpgit clone https://github.com/emtunc/SlackPiratepip install virtualenvvirtualenv SlackPirateSlackPirate\Scripts\activate.batpip install -r requirements.txtpython SlackPirate.py --helpgit clone https://github.com/emtunc/SlackPiratepip install -r requirements.txtpython SlackPirate.py --helppython3 SlackPirate.py --help
python3 SlackPirate.py --interactive
python3 SlackPirate.py --cookie <cookie>
これにより、次の処理が行われます。
python3 SlackPirate.py --token <token>
これにより、次の処理が行われます。
True を返した場合のみ続行します。python3 SlackPirate.py --token <token> --s3-scan
python3 SlackPirate.py --token <token> --no-s3-scan
python3 SlackPirate.py --token <token> --verbose


公開Slackワークスペースが設定されており、誰でも参加して新機能、変更、機能リクエストについて話し合ったり、単に助けを求めたりできます。招待リンクはこちらです: https://join.slack.com/t/slackpirate/shared_invite/zt-6o3d9tjq-PhbMxtM2o5ALgFkOB9V_dg