Вредоносный JavaScript из тулкита Parrot TDS обнаружен на 70 000 сайтов

Вредоносный JavaScript из тулкита Parrot TDS обнаружен на 70 000 сайтов

Вредоносный JavaScript из тулкита Parrot TDS обнаружен на 70 000 сайтов

Масштабы TDS-системы Parrot, используемой киберкриминалом, оказались намного больше, чем сообщалось ранее. В 2021 году эксперты Sucuri выявили свыше 61 тыс. зараженных сайтов, работающих как шлюзы в рамках редирект-сервиса, в этом году — уже более 11 тысяч.

О появлении новой системы распределения трафика, которую в Avast нарекли Parrot TDS, стало известно в начале апреля. Ее функционирование обеспечивают скрипты, скрытно устанавливаемые на сайты WordPress и Joomla. Как оказалось, такие заражения в Sucuri отслеживают с февраля 2019 года — под именем NDSW/NDSX. По итогам прошлого года набор вредоносных скриптов, используемый в этой киберкампании, вошел в топ угроз для сайтов, выявленных экспертами.

Атака NDSW/NDSX начинается с JavaScript-инъекций. Вредоносный код внедряется во все файлы .js или добавляется к скриптам, встроенным в HTML-страницы; В редких случаях такой довесок можно обнаружить в базе данных, кешированной каким-нибудь плагином.

Подавляющее большинство вредоносных JavaScript-кодов содержат инструкцию if(ndsw===undefined), поэтому данный компонент тулкита исследователи условно назвали NDSW. Встречаются также варианты скриптов, использующие другую переменную — ndsj.

Основным назначением этих сценариев является запуск второй стадии атаки — доставка и выполнение JavaScript из внешнего источника. Для персонализации этой полезной нагрузки на скомпрометированный сервер обычно внедряется PHP-скрипт (в произвольную папку, но чаще всего — как /wp-admin/css/colors/blue/blue.php).

Этот прокси-компонент кодирует информацию о посетителе сайта (IP-адрес, браузер, реферер) и отправляет их на сервер TDS Parrot. Если ответ содержит ключевое слово «ndsx», происходит JavaScript-инъекция в зараженную веб-страницу — полезная нагрузка при этом выполняется на лету как встраиваемый сценарий. Поскольку скрипт, использующий переменную ndsx, загружается на стороне сервера, его источник невозможно выявить ни мониторингом трафика, ни статическим анализом на уровне клиента.

При отработке NDSX-скрипт скачивает со стороннего сайта финальную полезную нагрузку — откуда и какую, зависит от ранее составленного цифрового отпечатка жертвы. На Windows-компьютеры, по данным Sucuri, чаще всего доставляется JavaScript-загрузчик FakeUpdates, он же SocGholish, о котором в связи с Parrot сообщала Avast. Чтобы не направлять трафик на ресурсы, попавшие в черные списки, операторы TDS-системы часто меняют URL целевых зловредов.

В 2021 году Sucuri очистила от кодов Parrot TDS почти 20 млн JavaScript-файлов, найденных на зараженных сайтах; PHP-компонент был удален более 5400 раз. В этом году неприятных находок пока меньше — в первом случае 1,64 млн, во втором — 2900. Многие их этих сайтов вдобавок содержали бэкдоры, скрипты для черной оптимизации, японоязычный спам, JavaScript-редиректы, используемые в рамках недавно запущенной мошеннической кампании, а также уязвимые или устаревшие плагины и темы.

Взлом серверов для внедрения тулкита Parrot TDS в основном осуществляется с помощью эксплойтов, которых у злоумышленников, по всей видимости, много; этот арсенал постоянно обновляется, в том числе за счет 0-day. Получив доступ, взломщики закрепляют его путем установки бэкдоров и создания учетных записей админа CMS.

Сценарий вредоносных инъекций зависит от используемой уязвимости и уровня доступа, который она обеспечивает. Так, в тех случаях, когда уязвимость позволяет получить админ-доступ к сайту WordPress, хакеры обычно устанавливают фальшивый плагин wp-sp, wp-sps, wp-pimple или wp-dumpme, который создает PHP-прокси и открывает бэкдор, позволяющий выполнить любой код PHP на взломанном сайте.

Поскольку атаки на сайты в рамках текущей кампании NDSW/NDSX разнятся, Sucuri смогла дать лишь общие рекомендации по очистке от инфекции и усилению защиты:

  1. Смените пароль администратора CMS и удостоверьтесь, что все пользователи с админ-привилегиями вам известны.
  2. Проверьте все темы, плагины и другие сторонние компоненты на сайте, удалите незнакомые и неиспользуемые.
  3. Найдите и очистите все зараженные файлы и записи базы данных; их могут быть тысячи, поэтому придется использовать систему мониторинга целостности и бэкап — или как-то иначе автоматизировать этот процесс.
  4. Удостоверьтесь в актуальности CMS и всех компонентов сторонней разработки.
  5. Рассмотрите возможность использования WAF, который будет защищать сайт от большинства известных атак и сдерживать эксплойт, пока ваш софт ожидает обновления.

В МАКС нашли вход без пароля и СМС через токен в браузере

Вокруг российского мессенджера МАКС разгорелась новая дискуссия о безопасности. Пользователь Хабра под ником sansmaster рассказал, что для входа в веб-версию сервиса можно обойтись без пароля, СМС-кода и даже QR-аутентификации.

Правда, речь идёт не о взломе и не об уязвимости в классическом понимании.

Автор публикации обратил внимание, что после успешного входа в web.max.ru браузер сохраняет токен сессии в локальном хранилище (localStorage). Этот токен позволяет серверу идентифицировать пользователя и поддерживать активную сессию.

Через консоль разработчика браузера пользователь может извлечь сохранённый токен, а затем импортировать его в другой браузер или на другой компьютер. После перезагрузки страницы веб-версия МАКС откроется уже под нужной учётной записью, и всё это без ввода пароля, получения СМС или сканирования QR-кода.

 

По сути, речь идёт о переносе уже существующей сессии между браузерами. Сам автор подчёркивает, что никаких эксплойтов или обходов защиты здесь нет. Используются штатные механизмы браузера и данные, которые приложение само сохраняет на устройстве пользователя. Аналогичные принципы работы применяются и во многих других веб-сервисах.

 

Тем не менее публикация вызвала бурное обсуждение. Многие пользователи удивились тому, насколько легко можно получить доступ к токену через DevTools и перенести его в другую среду.

При этом есть важный нюанс. Для выполнения всей процедуры злоумышленнику уже необходим доступ к устройству или браузеру пользователя, где активна сессия МАКС. Без этого получить токен не получится.

Кроме того, выход из аккаунта или завершение сессии через настройки делает токен недействительным сразу на всех устройствах, где он использовался.

 

Фактически история стала ещё одним напоминанием о том, что токен аутентификации зачастую представляет не меньшую ценность, чем пароль. Если он попадает в чужие руки, то может открыть доступ к аккаунту без каких-либо дополнительных проверок.

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