Хакеры атаковали сервер PHP.net

Хакеры атаковали сервер PHP.net

Официальный сайт языка программирования PHP стал жертвой хакеров, которым удалось заразить ресурс вредоносным программным обеспечением, что спровоцировало добавление в «черные списки» сайта PHP.net многими антивредоносными сервисами и невозможность входа на сайт для миллионов пользователей. Как стало известно, вчера вечером Google добавила php.net в свои «черные списки» и это привело к тому, что пользователи браузеров Chrome и Firefox получили предупреждения об опасности захода на сайт PHP.



Как сообщается, неизвестные хакеры разместили на популярном проекте вредоносный JavaScript-код под названием Userprefs.js. Он запрашивал через сторонние серверы данные о пользовательских браузерах и проверял на наличие в них известных уязвимостей, чтобы потом попытаться там разместить эксплоит. В случае успеха, компьютер пользователя оказывался зараженным вредоносным кодом.

Дэниэль Пек, специалист по исследованиям Barracuda Networks, говорит, что хакерам, вероятно, удалось заразить какое-то количество посетителей PHP.net. так как всплеск вредоносной активности среди посетителей ресурса был отмечен. Также он сообщил, что большая часть уязвиостей была ориентирована на Adobe Flash Player, хотя доподлинно список уязвимостей неизвестен.

Удалось установить, что размещенный JavaScript связывался почти с десятков контрольных серверов, подгружая с них данные об уязвимостях и эксплоиты, причем на четырех серверах выявлена особенно высокая активность.

The PHP Group, управляющая PHP.net говорит, что сейчас сайт полностью очищен от вредоносного содержимого, а исходные коды PHP, предлагаемые для скачивания, не были заменены. Расмус Лердорф, создатель языка программирования PHP, говорит, что код был размещен всего на одной странице, но система Google Safe Browsing отметила весь сервер PHP.net как опасный.

В заявлении PHP Group говорится, то пока неясным остается, как именно хакеры проникли на серверы, но специалисты продолжают вести расследование.

Согласно данным системы веб-аналитик Alexa, сайт PHP является 228-м самым посещаемым сайтом в интернете.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

Правила обработки запросов при этом добавляются динамически, а фильтрация осуществляется по регулярным выражениям, соответствующим подмножествам знаков, которые могут присутствовать на определенных позициях в URL.

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

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