
Slack Enumeration and Extraction Tool - извлечение конфиденциальной информации из рабочего пространства Slack
Это инструмент, разработанный на Python, который использует нативные Slack API для извлечения «интересной» информации из рабочего пространства Slack при наличии токена доступа.
По состоянию на май 2018 года у Slack более 8 миллионов клиентов, и это число быстро растёт — возможности интеграции и «ChatOps» безграничны и позволяют командам (не только разработчикам!) создавать действительно мощные рабочие процессы и взаимодействия с ботами/приложениями Slack.
Как это часто бывает в крупных и малых корпорациях, такие инструменты, как Slack, нередко остаются вне поля зрения служб информационной безопасности и политик, что в конечном итоге приводит к опасным ситуациям, когда конфиденциальная информация оказывается там, где ей быть не следует.
Цель этого инструмента двояка:
Инструмент позволяет легко собирать конфиденциальную информацию для автономного просмотра в удобное для вас время.
Примечание: я новичок в Python и не сомневаюсь, что скрипт можно значительно оптимизировать и улучшить — пожалуйста, не стесняйтесь создавать pull request; я рассмотрю их и, если уместно, приму!
Инструмент использует нативные Slack API для извлечения «интересной» информации и ищет следующее (на данный момент):
Веб-приложение Slack использует несколько куки-файлов — наиболее интересный из них называется, как вы уже догадались, d. Этот d-куки одинаков для всех рабочих пространств, к которым имеет доступ жертва. Это означает, что одного украденного d-куки достаточно, чтобы атакующий получил доступ ко всем рабочим пространствам, в которые вошла жертва; мой опыт работы с веб-приложением Slack показывает, что после входа вы остаётесь в системе на неопределённый срок.
Токен Slack API — это токен на рабочее пространство. Один токен не может (насколько мне известно) получить доступ к другим рабочим пространствам так же, как d-куки, который даёт доступ ко всем пространствам.
Чтобы инструмент мог искать и извлекать информацию, вам нужно предоставить ему токен API в дополнение к Slack Cookie. Этот токен включается в данные формы запросов, отправляемых клиентом к Slack API. Итак, для использования SlackPirate необходимо предоставить следующую информацию:
d-куки с помощью флага --cookie. Инструмент выведет связанные рабочие пространства и токены.--token. Его можно найти с помощью devtools или другого мониторинга сети, либо извлечь из памяти процесса Slack. Токен начинается с xoxc-Обязательно передавайте и токен, и куки — они оба необходимы для аутентификации.
Скрипт разработан, протестирован и подтверждённо работает на 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