Случайное письмо от хедхантера Google выявило уязвимость в ключах DKIM

Случайное письмо от хедхантера Google выявило уязвимость в ключах DKIM

Отправляя электронное письмо математику, будьте осторожны. Мало ли что он обнаружит в байтах служебной информации. Именно это произошло в случае с американским математиком Захари Харрисом (Zachary Harris), которого хедхантер Google хотел пригласить на собеседование.

Вместо того, чтобы вдумчиво вчитаться в текст предложения, Зак обратил внимание на размер ключа DKIM в подписи сообщения. DKIM (DomainKeys Identified Mail) — метод аутентификации отправителя путём проверки цифровой подписи почтового сервера. DomainKeys использует существующую систему DNS для передачи открытых ключей шифрования от каждого домена. Сервер получателя сверяет цифровую подпись отправителя с именем домена, указанного в обратном адресе, сообщает xakep.ru.

Харрис полез проверять DKIM, потому что письмо показалось ему странным. Математик хотел убедиться, что сообщение оригинальное, а не отправлено от какого-то мошенника. И вот здесь он обнаружил, что ключ шифрования, который использовался для генерации цифровой подписи для домена google.com, имеет размер всего лишь 512 бит, что по нынешним меркам маловато. Стандарт вводили в начале 2000-х, когда вычислительные мощности были в десятки раз слабее. Было предусмотрено, что подпись DKIM может быть сгенерирована ключом не только 1024+ бита, но и 384, 512 или 768 бит. Сейчас есть облачные хостинги, где можно недорого купить время вычислительного кластера, что и сделал Харрис. В течение нескольких дней он подобрал оригинальный ключ шифрования, это обошлось ему в $75.

Обладая хорошим чувством юмора, Харрис использовал сгенерированный ключ для отправки письма Ларри Пейджу с адреса электронной почты Сергея Брина, подписал письмо настоящей подписью почтового сервера google.com и добавил свой собственный адрес электронной почты в поле Reply-To.

Харрис знал, что Google часто задаёт хитрые задачи на собеседованиях, чтобы проверить логику кандидата. Например, «Сколько теннисных шариков поместится в школьный автобус?» или «В какую сторону должен поворачиваться ключ в замке, запирающем дверцу автомобиля, когда замок открывают?». В общем, Харрис подумал, что это может быть скрытый тест, справится ли он со взломом ключа. Он справился.

Через пару дней Харрис проверил цифровые подписи google.com и обнаружил, что они увеличились до 1024 бит. Но письма от хедхантера с уведомлением об успешном прохождении теста всё не было. Тогда математик подумал, а может быть, это и не тест вовсе? Он посмотрел на цифровые подписи DKIM, которые используются для других доменов в интернете, и увидел, что Paypal, eBay, Apple, Amazon, Twitter и многие другие сайты, включая несколько банков, используют ключи шифрования 384, 512 или 768 бит, так что потенциальный злоумышленник может подделать обратный адрес письма, используя аутентичную цифровую подпись Apple или Paypal. Открываются богатые возможности для фишинга.

В августе Зак Харрис отправил информацию об уязвимости в CERT, она будет официально опубликована в течение ближайших дней.

Один клик администратора может отдать WordPress-сайт злоумышленнику

В ядре WordPress обнаружили цепочку уязвимостей Click2Shell, которая позволяет удалённо выполнить PHP-код на сервере без учётной записи атакующего. Для захвата сайта достаточно, чтобы авторизованный администратор открыл специально подготовленную ссылку.

Проблему нашёл исследователь pwn.ai Паулос Йибело. Согласно техническому отчёту, WordPress по-разному обрабатывал один и тот же параметр ссылки предпросмотра темы.

API каталога очищал значение и находил легитимную тему, а JavaScript в браузере администратора вставлял исходную строку в jQuery-селектор без должного экранирования.

В результате подготовленный URL заставлял интерфейс WordPress самостоятельно нажать кнопку установки. Администратор при этом не выбирал ни «Установить», ни «Активировать», а тема оставалась неактивной и внешне сайт продолжал работать как обычно.

Для полноценного RCE исследователи добавили второй компонент — уязвимую тему Mobile Repair Zone 2.5.4 из официального каталога. Во время предпросмотра WordPress загружал её PHP-код, после чего небезопасный AJAX-обработчик позволял скачать и выполнить произвольный плагин.

Дальше атакующий мог читать wp-config.php, красть ключи и данные БД, менять файлы, создавать администраторов и внедрять скрипты. Атака не является полностью автоматической: ссылку должен открыть вошедший в систему администратор.

Роли Author и Editor нужных полномочий не имеют. Доставить URL можно через целевой фишинг или уже существующую XSS-уязвимость.

WordPress закрыл дыру в версии 7.1.1 и выпустил патчи для поддерживаемых старых веток. Поскольку подробности и PoC уже опубликованы, откладывать обновление нельзя. Временной страховкой может стать DISALLOW_FILE_MODS, запрещающий установку тем и плагинов, но нормальное лекарство всё то же — патч.

RSS: Новости на портале Anti-Malware.ru