
Инструмент для первоначального доступа и пост-эксплуатации Entra ID и M365 с графическим интерфейсом на основе браузера
________ _________
/ / by RedByte1337 __ / /
/ _____/___________ ______ | |__ / _____/_____ ______
/ \ __\_ __ \__ \ \____ \| | \ \_____ \\____ \ | |
\ \_\ \ | \/ __ \| |_> | \ \/ \ |_> \___ |
\______ /__| |____ | __/|___| /_______ / ___/ ____|
\/ \/|__| \/ \/|__| \/
Ниже описан рекомендуемый процесс установки с использованием pipx для избежания конфликтов зависимостей.
GraphSpy создан для работы во всех операционных системах, хотя в основном он тестировался на Linux и Windows.
Другие варианты установки и подробные инструкции смотрите на странице установки в вики.
# Install pipx (skip this if you already have it)
apt install pipx
pipx ensurepath
# Install the latest version of GraphSpy from pypi
pipx install graphspy
После установки приложение можно запустить с помощью команды graphspy из любого места в системе.
Запуск GraphSpy без аргументов командной строки запустит GraphSpy и сделает его доступным по адресу http://127.0.0.1:5000 по умолчанию.
graphspy
Теперь просто откройте http://127.0.0.1:5000 в вашем любимом браузере, чтобы начать работу!
Используйте аргументы -i и -p, чтобы изменить интерфейс и порт для прослушивания.
# Run GraphSpy on http://192.168.0.10
graphspy -i 192.168.0.10 -p 80
# Run GraphSpy on port 8080 on all interfaces
graphspy -i 0.0.0.0 -p 8080
Подробные инструкции и другие аргументы командной строки смотрите на странице запуска в вики.
Полные сведения об использовании смотрите в GitHub Wiki.
Для краткого обзора возможностей ознакомьтесь с официальным анонсом в блоге.
Если вы вносите вклад в GraphSpy или изменяете внутренние компоненты, начните здесь:
Храните свои токены доступа и обновления для нескольких пользователей и областей (scopes) в одном месте.


Легко переключайтесь между ними или запрашивайте новые токены доступа с любой страницы.

Легко создавайте и опрашивайте несколько кодов устройств одновременно. Если пользователь использовал код устройства для аутентификации, GraphSpy автоматически сохранит токен доступа и токен обновления в своей базе данных.

Настройте автоматические действия, которые будут выполняться сразу после успешной аутентификации по коду устройства.

Просматривайте, изменяйте и создавайте методы MFA, привязанные к учётной записи пользователя.

Следующие методы MFA можно добавить из GraphSpy для обеспечения персистентности:

Запрашивайте, импортируйте или используйте первичные токены обновления прямо из GraphSpy.
Эти PRT гораздо мощнее обычных токенов обновления, поскольку они не привязаны к одному конкретному приложению, а могут использоваться для получения токенов доступа для ЛЮБОГО приложения/области от имени пользователя (как FOCI, так и не-FOCI).

Кроме того, эти PRT-токены можно использовать для генерации PRT-куки, которые можно импортировать непосредственно в браузер, чтобы получить полный интерактивный доступ к любому веб-приложению, интегрированному с Entra ID SSO.

Регистрируйте ключи Windows Hello For Business (whfb) в GraphSpy для комбинации пользователя и устройства или импортируйте их из другого инструмента или скомпрометированного устройства.
Эти ключи WinHello можно использовать для генерации новых первичных токенов обновления для пользователя, даже после сброса пароля, что делает их очень мощным средством персистентности в учётной записи!

Просматривайте файлы и папки в OneDrive пользователя или на любом доступном сайте SharePoint через интуитивно понятный интерфейс файлового проводника.
Конечно, файлы также можно напрямую скачивать или загружать новые.

Кроме того, выводите список недавно открытых пользователем файлов или файлов, доступ к которым предоставлен пользователю.

Откройте веб-почту Outlook пользователя одним щелчком, используя только токен доступа Outlook (FOCI)!


Или используйте модуль Outlook Graph, чтобы выводить список, читать, искать, удалять, отвечать или отправлять электронные письма, имея только токен доступа для MS Graph API!

Создавайте полностью HTML-форматированные письма прямо в GraphSpy и добавляйте изображения и вложения.

Читайте и отправляйте сообщения с помощью модуля Microsoft Teams с FOCI-токеном доступа Skype API (https://api.spaces.skype.com/).

Ищите ключевые слова во всех приложениях Microsoft 365 с помощью Microsoft Search API.
Например, используйте это для поиска любых файлов или писем, содержащих такие ключевые слова, как "password", "secret", ...

Выполняйте произвольные API-запросы к любым конечным точкам, используя токены доступа, хранящиеся в GraphSpy.

Шаблоны пользовательских запросов с переменными можно сохранять в базе данных для удобного повторного использования типовых пользовательских API-запросов.

Выводите список всех пользователей Entra ID и их свойств с помощью Microsoft Graph API.

Просматривайте дополнительные сведения о пользователе, такие как членство в группах, назначенные роли, устройства, роли приложений и разрешения API.

GraphSpy поддерживает несколько баз данных. Это удобно при одновременной работе над несколькими проектами, чтобы держать токены и коды устройств в порядке.

Используйте тёмный режим по умолчанию или переключайтесь на светлый режим.
Смотрите страницу Примечания к выпуску в GitHub Wiki
Хотите, чтобы вы или ваша организация были указаны здесь как ключевой спонсор этого проекта или даже упомянуты внутри самого GraphSpy? Или вам просто нравится GraphSpy и вы хотите поддержать мою работу?
Загляните на мою страницу спонсора.
Если у вас нет возможности спонсировать, но вы всё равно хотите выразить благодарность, можете вместо этого поставить звезду. ⭐
Основной мотивацией для создания GraphSpy было отсутствие простого способа выполнять действия после компрометации, направленные на приложения Office365 (такие как Outlook, Microsoft Teams, OneDrive, SharePoint, ...), имея лишь токен доступа.
Хотя существовало несколько инструментов командной строки, предоставляющих базовые функции, ни один из них не приблизился к интуитивно понятному интерактивному опыту, который обеспечивают оригинальные приложения (например, интерфейс в стиле файлового проводника в OneDrive и SharePoint).
Однако множество предыдущих исследований было выполнено бесчисленным количеством других людей (особенно касательно фишинга с помощью кодов устройств, что и стало первоначальной причиной создания такого инструмента).