Новости

На этой неделе в разделе «Безопасность»: Cloudflare — это не DNS, не BADAUDIO и не Vuln

Возможно, вы заметили, что во вторник большая часть Интернета была недоступна. Это была проблема в Cloudflare, и на этот раз это был не DNS. На этот раз это было управление базами данных в сочетании с ограничением безопасности, которое при превышении становилось небезопасным.

В блоге Cloudflare по этому вопросу есть подробные сведения. Все началось с обновления того, как распределенная база данных ClickHouse Cloudflare отвечала на запросы. Ранее запрос системных столбцов возвращал данные только из базы данных по умолчанию. В рамках соответствующей работы эта система была изменена таким образом, что теперь этот запрос возвращает все базы данных, к которым у данного пользователя был доступ. Оглядываясь назад, кажется очевидным, что это могло вызвать проблемы, но никто не предполагал, что это вызовет проблемы. В результате запрос к базе данных для поиска функций управления ботами несколько раз возвращал одни и те же функции.

Этот список функций используется для загрузки в систему классификации ботов Cloudflare. Эта система использует некоторые возможности искусственного интеллекта и работает в системе core proxy. На самом деле существует две версии core proxy, и они ведут себя немного по-разному, когда список функций превышает лимит в 200 элементов. Когда в старой версии произошел сбой, весь трафик был классифицирован как бот. Настоящей проблемой был более новый код Rust. Эта версия основного прокси-сервера выдала ошибку в ответ, что привело к ошибкам HTTP 5XX и сбоям во всем Интернете.

Зависающий Azure

Существует странная проблема с облачным хранилищем, когда используется имя хранилища, а затем от него отказываются. Это очень похоже на то, что происходит, когда используется доменное имя, срок действия которого затем истекает: кто-то другой может прийти и зарегистрировать его. В Microsoft Azure есть свой вариант этого, в виде хранилища больших двоичных объектов Azure. И сотрудники исследовательской группы Eye Security обнаружили один из таких плавающих двоичных объектов в неожиданном месте: в собственной службе обновления работоспособности Microsoft. Версия 1. 0 этого инструмента действительно была доступна для использования. Простая полезная нагрузка, размещенная на одной из этих заявленных конечных точек blob-объектов, могла вызвать explorer. exe выполнение с произвольным параметром, что означает выполнение тривиального кода. Служба обновления работоспособности версии 1. 1 по умолчанию не уязвима, и для доступа к уязвимым расположениям больших двоичных объектов требуется внести изменения в реестр. Тем не менее, тысячи компьютеров, обращающихся к этим конечным точкам, могут быть уязвимы для захвата. После того, как было сообщено о проблеме, корпорация Майкрософт изменила имена больших двоичных объектов, чтобы предотвратить любое неправильное использование в будущем.

BADAUDIO

От APT24 появилась новая разновидность вредоносного ПО под названием BADAUDIO. Хотя термин «новый» здесь несколько неуместен, поскольку первые признаки этого конкретного вредоносного ПО были замечены еще в 2022 году. Что нового, так это то, что Google Threat Intelligence сообщает об этом. Кампания использует множество методов, таких как компрометация существующих веб-сайтов для использования вредоносного ПО в атаках «водопой», а также для рассылки спама и подводной охоты.

Примечательно, насколько запутан загрузчик вредоносных программ BADAUDIO, использующий сглаживание потока управления для защиты от анализа. Сначала рассмотрим, как в хорошем коде используются функции для группировки кода в логические блоки. Этот метод работает наоборот, размещая код в блоки случайным образом. Основным механизмом выполнения является дополнительная загрузка библиотеки DLL, при которой законное приложение запускается с вредоносной библиотекой DLL в пути поиска, опять же, в первую очередь для того, чтобы избежать обнаружения. Это чрезвычайно коварная вредоносная программа.

Не оставляйте значения по умолчанию

В плагине W3 Total Cache для WordPress есть RCE (удаленное выполнение кода). Уязвимость — это eval(), доступ к которой можно получить, поместив код на страницу для кэширования. Таким образом, если на сайте WordPress разрешены ненадежные комментарии и включено кэширование, остается устранить еще одно препятствие. И это значение W3TC_DYNAMIC_SECURITY, которое, по-видимому, предназначено для предотвращения именно такого рода уязвимостей. Итак, вот вам урок: не оставляйте такую функцию безопасности по умолчанию.

Это не уязвимость

У нас есть три истории, которые технически не являются уязвимостями. Первые два находятся в библиотеке mPDF, которая использует HTML-код и генерирует PDF-файлы, которые отлично подходят для упаковки документации. Первый интересный элемент в mPDF — это обработка css-правил @import. Интересно, что эти инструкции, похоже, вычисляются даже за пределами допустимого CSS и обрабатываются путем передачи URL-адреса в curl, чтобы фактически получить удаленный контент. Эти URL-адреса должны заканчиваться. css, но нет никакой проверки, есть ли это в параметре или нет. Итак, evil. org/?. css это абсолютно верно. Использование curl интересно еще и по той причине, что протокол Gopher допускает практически неограниченные TCP-соединения.

Следующая особенность mPDF заключается в том, как обрабатываются файлы. svg. В частности, как ведет себя ссылка на изображение xlink внутри svg, когда она использует префиксы phar://или php://. Это ссылки на архивы PHP или необработанные ссылки на php, и кодовая база mPDF уже защищает от таких махинаций, сопоставляя ссылки, начинающиеся с любого префикса. Проблема здесь в том, что после этого защитного кода происходит искажение пути. Перейдем сразу к сути, :/phar://и :/php://обойдут этот фильтр и, возможно, запустят код или приведут к утечке информации.

Теперь главный вопрос: почему ни одна из этих уязвимостей не работает? Даже если это обходной путь для исправления CVE с 2019 года? Потому что mPDF должен использоваться только с обработанными входными данными и не выполняет эту очистку в рамках своей обработки. И это действительно так. Вероятно, это большинство инструментов и библиотек, которые будут делать что-то вредоносное, если ввести вредоносные данные.

Существует еще одна «уязвимая» библиотека, esbuild, которая обладает потенциалом XSS (межсайтового скриптинга). Это связано с использованием функции escapeForHTML() и с тем фактом, что эта функция не удаляет кавычки. Передача вредоносного текста и неэкранированные кавычки приводят к большому хаосу. Так почему же это не является уязвимостью? Потому что анализируемые текстовые строки являются именами папок. И если вы можете загрузить произвольную папку на сервер, на котором запущен esbuild, у вас уже есть множество других способов запуска кода.

Биты и байты

Существует еще одна распространенная ошибка Fortinet, хотя она была исправлена с помощью FortiWeb 8. 0. 2. Она исправлена с помощью WatchTowr. Это обход пути, который обходит любую реальную аутентификацию. Есть пара простых в выполнении проверок, и тогда API cgi_process() может использоваться любым пользователем без аутентификации. Ой. Текстовый редактор Lite XL выглядит довольно изящно, работает в Windows, Linux и macOS и поддерживает плагины lua для расширения возможностей. Поддержка Lua-кода была серьезной проблемой, поскольку при открытии проекта автоматически запускались файлы конфигурации. lua, что позволяло напрямую использовать os. execute(). Открыть вредоносный проект, запустить вредоносный код. И, наконец, иногда лучше всего работает простой подход. [Eaton] обнаружил административную панель Cracker Barrel, встроенную в React JS, и все, что требовалось для обхода аутентификации, — это установить IsAuthenticated = true в локальном браузере. [Eaton] начал процесс раскрытия информации и заметил, что ошибка уже исправлена, по-видимому, обнаруженная независимо.

Как правило, собачий корм — это хорошая вещь: это когда компания использует свой собственный код внутри компании. Это не так здорово, когда это облачная компания, и у этого кода есть проблемы. У Oracle была именно такая проблема при запуске Oracle Identity Governance Suite. В нем было несколько способов обойти аутентификацию, например, наличие ?WSDL или ;. wadl в конце URL-адреса. Ах, Java — волшебная штука.


Другие статьи: