Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
nextcloud-federated-ocm-token — Nextcloud 35.0.0 — секрет федеративного общего доступа представляет собой app password без ограничения области действия для всего дерева Files владельца общего доступа | Kitploit
Инструменты/GitHubGitHub/abraxas/nextcloud-federated-ocm-token
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииВеб-безопасностьТестирование на ПроникновениеАутентификацияЛаборатории и Практика
GitHub
abraxas/nextcloud-federated-ocm-token

nextcloud-federated-ocm-token

Nextcloud 35.0.0 — секрет федеративного общего доступа представляет собой app password без ограничения области действия для всего дерева Files владельца общего доступа

Репозиторий
815 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Abraxas Labs - nextcloud-federated-ocm-token

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  nextcloud-federated-ocm-token

nextcloud-federated-ocm-token

Nextcloud Server 35.0.0 - Nextcloud GmbH

Секрет федеративного общего доступа создаётся как неограниченный PERMANENT_TOKEN app password для владельца общего доступа. API получателя возвращает его как refresh_token. При повторном использовании его как Bearer на WebDAV отправителя происходит вход от имени владельца и чтение файлов, которые никогда не были расшарены.

Злоумышленник, с которым вы поделились одним файлом через федеративный общий доступ, может войти от вашего имени в ваш Nextcloud, обойти 2FA и читать или перезаписывать все ваши файлы, а не только тот, которым вы поделились.

IDпока нет CVE
CWECWE-269, CWE-287
CVSSCritical: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N (федеративный получатель). Конвертация публичной ссылки хуже (нет аккаунта получателя на пире).
ПродуктNextcloud Server
Затронуто35.0.0 (da02f41) официальный nextcloud:35.0.0-apache
Аутентификацияфедеративный получатель (или конвертер публичной ссылки)
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1

Что может сделать атакующий

Вы делитесь одним файлом или папкой с bob на другом Nextcloud. Nextcloud создаёт 32-символьный секрет, сохраняет его как ваш app password и передаёт этот секрет Bob'у как refresh_token.

Затем Bob (или любой, кто конвертирует вашу публичную ссылку в федеративный общий доступ):

  • Входит от вашего имени на вашем сервере
  • Читает каждый файл в вашем домашнем каталоге, а не только расшаренный узел
  • Перезаписывает эти файлы
  • Обходит вашу 2FA (путь app-password)

Они не получают PHP-шелл на хосте. Им не нужен ваш пароль. Не принимайте общий доступ и не вызывайте OCM access-token первым: этот обмен блокирует область файловой системы. Лаборатория доказывает секрет до обмена.


Как я это нашёл

Общий доступ должен быть общим доступом. Один файл. Одна папка. Я прочитал FederatedShareProvider::createFederatedShare на теге v35.0.0. Он создаёт 32-символьный секрет как IToken::PERMANENT_TOKEN для владельца без области действия. PublicKeyToken::getScopeAsArray по умолчанию устанавливает SCOPE_FILESYSTEM => true. Это app password. Session::tryTokenLogin принимает постоянный Bearer.

Работа над OCM-обменом (PR #57234 / #57166) уже блокирует область файловой системы после первого обмена. В неофициальной публикации использовался этот хоп после обмена. Я попробовал его первым. На этом дереве обменянный токен — TEMPORARY, с именем OCM Access Token, и /remote.php/dav его отклоняет (allowOcmAccessToken false). DAV сказал нет.

Поэтому я не стал обменивать. ocm_discovery_enabled остался false, чтобы получатель не обменял его за меня. Два официальных бокса nextcloud:35.0.0-apache, overwrite.cli.url как docker DNS (http://sender / http://recipient). Оставьте это на 127.0.0.1, и S2S будет общаться сам с собой.

Alice делится одним файлом с bob@http://recipient. Bob читает ожидающие общие доступы. Длина refresh_token — 32. Длина access_token — 0. Неаутентифицированный Bearer GET приватного файла-свидетеля Alice, никогда не входившего в общий доступ, вернул 200, X-User-Id: alice.


Лаборатория

cd lab
./run.sh

Цель только http://127.0.0.1:18340 (отправитель) и :18341 (получатель).

SUCCESS NEXTCLOUD-OCM-PERMANENT-TOKEN who=federated-recipient uid=alice NEXTCLOUD-OCM-PERMANENT-TOKEN-WITNESS
  • lab/docker-compose.yml
  • lab/Dockerfile
  • lab/run.sh

Исправление

Создавайте федеративный секрет с областью файловой системы false с самой первой вставки. Не принимайте этот секрет как Bearer/Basic на /remote.php/dav. Первый обмен уже блокирует область FS; создание никогда не должно было выдавать app password.


Ссылки

  • github.com/nextcloud/server тег v35.0.0
  • Смежная работа по OCM: PR #57234 / PR #57166
  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null

Лицензия

GNU Affero GPL v3.0. См. LICENSE. Только loopback-лаборатория. Без гарантий.

Скачать инструмент