Windows-версия WhatsApp позволяет запускать Python и PHP без предупреждения

Windows-версия WhatsApp позволяет запускать Python и PHP без предупреждения

Windows-версия WhatsApp позволяет запускать Python и PHP без предупреждения

Проблема в безопасности последней версии WhatsApp (принадлежит компании Meta, признанной экстремистской и запрещенной в России) для Windows позволяет отправлять Python- и PHP-вложения, которые будут выполняться на устройстве пользователя без каких-либо предупреждений.

Для успешной эксплуатации этого бага в системе жертвы должен быть установлен Python. Это условие может сузить список потенциальных жертв до разработчиков софта.

Похожая проблема в свое время обнаружилась в другом мессенджере — Telegram. В апреле мы писали, что разработчики «телеги» устранили автоматический запуск Python-скриптов.

Вообще, WhatsApp должен блокировать ряд типов файлов, которые могут представлять опасность для пользователей. Тем не менее разработчики мессенджера заявили в беседе с BleepingComputer, что не планируют включать Python в список блокировки.

Интересно, что в этот же список не попадают файлы с расширением .php. На проблему в безопасности указал исследователь Саумьяджит Дас. Специалист экспериментировал с типами файлов, которые можно прикрепит в чатах WhatsApp.

Если попытаться отправить исполняемый файл в формате .EXE, мессенджер выведет получателю предупреждение, в котором будет две опции: «Открыть» и «Сохранить как».

 

Однако при попытке открыть файл Windows-версия WhatsApp отображает ошибку и предлагает сохранить полученное вложение. Такое поведение можно наблюдать в случае с файлами .EXE, .COM, .SCR, .BAT и Perl. Кроме того, Дас также обнаружил, что мессенджер блокирует .DLL, .HTA и VBS.

 

Однако ситуация совершенно иная с расширениями .PYZ (приложение Python ZIP), .PYZW (софт PyInstaller) и .EVTX (файл события журнала Windows). Такая же история с .PHP.

 

Сначала разработчики WhatsApp в ответ на отчет Даса сообщили, что проблема исправлена, однако тесты BleepingComputer показали, что это не так. По крайней мере, баг присутствует в версии v2.2428.10.0 для Windows.

Расширения 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