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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/cpandya2909/cve-2020-15778
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеРазработка Полезной Нагрузки
GitHubcpandya2909/cve-2020-15778

CVE-2020-15778

Технический разбор и proof-of-concept для CVE-2020-15778 — аутентифицированной уязвимости внедрения команд в OpenSSH scp (<=8.3p1), позволяющей удалённое выполнение кода через пейлоады с обратными кавычками в путях к файлам.

Репозиторий
1412533 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Разбор CVE id CVE-2020-15778.

Обнаружил: Chinmay Pandya

Электронная почта: [email protected]

LinkedIn: www.linkedin.com/in/chinmay-pandya

Название уязвимости: scp в OpenSSH 8.3p1 позволяет внедрение eval.

Продукт: Openssh

Затронутый компонент: SCP

Уязвимая версия: <=openssh-8.3p1

Исправленная версия: -

Номер CVE: CVE-2020-15778

Уязвимая строка: https://github.com/openssh/openssh-portable/blob/a2855c048b3f4b17d8787bd3f24232ec0cd79abe/scp.c#L989

Тип уязвимости: внедрение команд / внедрение eval (с аутентификацией)

Тип атаки: удалённая атака

Хронология раскрытия:

  • Проблема обнаружена - 9 июня 2020 г.
  • Получен CVE - 16 июля 2020 г.
  • Поставщик уведомлён - 9 июня 2020 г.
  • Получено подтверждение от поставщика - 9 июня 2020 г.
  • Публичное раскрытие 18 июля 2020 г.

О SCP

scp — это программа для копирования файлов между компьютерами. Она использует протокол SSH. По умолчанию она входит в большинство дистрибутивов Linux и Unix.

Проблема

При копировании файлов на удалённый сервер путь к файлу добавляется в конец локальной команды scp. Например, если вы выполните следующую команду

root@kitploit:~
scp SourceFile user@host:directory/TargetFile

будет выполнена локальная команда

root@kitploit:~
scp -t directory/TargetFile

При создании локальной команды scp имя файла не санитизируется. Атакующий может передать payload в обратных кавычках в качестве имени файла, и при выполнении локальной команды scp локальная оболочка также выполнит payload в обратных кавычках.

Пример

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

root@kitploit:~
scp  /sourcefile remoteserver:'`touch /tmp/exploit.sh`/targetfile'

После выполнения этой команды зайдите на удалённый сервер, и вы увидите, что в каталоге /tmp присутствует файл exploit.sh. Важно использовать одинарные кавычки в имени файла, чтобы предотвратить выполнение payload в локальной оболочке; использование escape-символов, таких как одинарные кавычки в имени файла, может предотвратить выполнение payload в локальной оболочке.


ЭТО ЭКСПЛОИТ С АУТЕНТИФИКАЦИЕЙ, И ДЛЯ ВЫПОЛНЕНИЯ КОМАНДЫ НА УДАЛЁННОМ СЕРВЕРЕ ТРЕБУЮТСЯ ДЕЙСТВИТЕЛЬНЫЕ УЧЁТНЫЕ ДАННЫЕ SSH / SCP


Ответ Openssh

Команда scp — это исторический протокол (называемый rcp), который полагается на такой стиль передачи аргументов и сталкивается с проблемами раскрытия (подстановки). Добавить "безопасность" к модели scp оказалось очень сложно. Все попытки "обнаружить" и "предотвратить" аномальные передачи аргументов имеют большие шансы сломать существующие рабочие процессы. Да, мы признаём, что ситуация отвратительная. Но мы не хотим ломать простые сценарии использования scp, пока не появится общепринятая замена. Если пользователи обеспокоены, им следует использовать rsync или что-то другое.

[Ссылки]

Код SCP - https://github.com/openssh/openssh-portable/blob/master/scp.c

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