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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-8110 — Python PoC-эксплойт для CVE-2025-8110, демонстрирующий произвольную запись файлов с переходом к RCE в Gogs через манипуляции с символическими ссылками и злоупотребление API. Предназначен для образовательных исследований в области безопасности и авторизованных лабораторных сред. | Kitploit
Инструменты/GitHubGitHub/xdezen/cve-2025-8110
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubxdezen/cve-2025-8110

CVE-2025-8110

Python PoC-эксплойт для CVE-2025-8110, демонстрирующий произвольную запись файлов с переходом к RCE в Gogs через манипуляции с символическими ссылками и злоупотребление API. Предназначен для образовательных исследований в области безопасности и авторизованных лабораторных сред.

Репозиторий
1 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

Произвольная запись файлов в RCE в Gogs (CVE-2025-8110) - Эксплойт для образовательных целей

Этот репозиторий содержит скрипт доказательства концепции (PoC) на Python для демонстрации и анализа уязвимости, зарегистрированной как CVE-2025-8110 в самоуправляемом Git-сервисе Gogs (версии 0.13.3 и ниже).


⚠️ Отказ от ответственности (Предупреждение)

[!WARNING] ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДНАЗНАЧЕНО ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И ИССЛЕДОВАНИЙ БЕЗОПАСНОСТИ. Использование данного материала против целей без предварительного письменного согласия их владельцев является полностью незаконным. Автор этого репозитория не несет ответственности за любой ущерб, вред или неправомерное использование, возникшее в результате применения этого кода. Используйте его всегда на свой страх и риск и только в контролируемых средах или санкционированных симуляциях (таких как лаборатории CTF).


Что такое CVE-2025-8110?

CVE-2025-8110 — это критическая уязвимость произвольной записи файлов, вызванная недостаточной проверкой при обработке символических ссылок (symlinks) через API PutContents в Gogs.

Механизм воздействия

Аутентифицированный злоумышленник может:

  1. Создать локальный Git-репозиторий, содержащий символическую ссылку, указывающую на конфиденциальный файл вне папки репозитория (например, на сам файл конфигурации сервера .git/config).
  2. Отправить (push) этот репозиторий на сервер Gogs.
  3. Использовать API Gogs для изменения файла символической ссылки. Поскольку API не проверяет, является ли целью ярлык, базовая операционная система переходит по ссылке и перезаписывает системные файлы с привилегиями, с которыми работает Gogs.
  4. Если служба Gogs работает от имени root, запись файлов может быть расширена до удаленного выполнения кода (RCE) путем внедрения желаемой команды в свойство sshCommand файла конфигурации Git.

Описание кода (exploit.py)

Скрипт автоматизирует весь процесс эксплуатации, используя действительные учетные данные и токен API, предварительно сгенерированный вручную в веб-интерфейсе Gogs:

root@kitploit:~
          ┌──────────────────────────────────────────────┐
          │          Машина атакующего (Kali)            │
          └──────────────────────┬───────────────────────┘
                                 │
         (1) Создает вредоносный  │ (3) Загружает Symlink (.git/config)
         репозиторий через API    │     через git push
                                 ▼
          ┌──────────────────────────────────────────────┐
          │      Локальный SSH-туннель (порт 8080)       │
          └──────────────────────┬───────────────────────┘
                                 │
                                 ▼
          ┌──────────────────────────────────────────────┐
          │           Сервер-жертва Gogs                 │
          │              (Порт 3001)                     │
          └──────────────────────┬───────────────────────┘
                                 │
                                 │ (4) API PUT "contents"
                                 │     Переходит по Symlink и записывает
                                 │     "sshCommand" в .git/config
                                 ▼
          ┌──────────────────────────────────────────────┐
          │     Выполнение полезной нагрузки от имени    │
          │                  ROOT                        │
          └──────────────────────────────────────────────┘

Основные компоненты скрипта:

  1. create_malicious_repo: Выполняет запрос POST к API Gogs (/api/v1/user/repos) с аутентификацией по предоставленному токену доступа для создания нового репозитория со случайным именем, генерируемым динамически.
  2. upload_malicious_symlink:
    • Клонирует только что созданный репозиторий в локальную временную папку /tmp/.
    • Создает символическую ссылку локально на машине атакующего, указывающую на .git/config (файл конфигурации Git сервера).
    • Выполняет commit и отправляет изменения обратно на сервер с помощью системной команды (git push).
  3. exploit: Определяет полезную нагрузку (payload) с помощью трюка внедрения в свойство sshCommand Git. При обновлении содержимого через API Gogs вынужден перезаписать свой собственный .git/config на сервере. Когда срабатывает последняя часть процесса Git, система Gogs выполняет команду терминала (обратную оболочку Bash), возвращая соединение на ваш слушающий Netcat.

Руководство по использованию в лабораториях (HTB - Silentium)

Предварительные требования

Убедитесь, что вы настроили глобальные идентификационные данные в Git перед запуском скрипта, чтобы избежать ошибок при автоматическом коммите:

root@kitploit:~
git config --global user.email "студент@безопасность.local"
git config --global user.name "студент"

Использование: python3 exploit.py -u (http://127.0.0.1:8080) -lh <ВАШ_VPN_IP> -lp 4446

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