Сотни сайтов на WordPress стали жертвами масштабной кампании, в ходе которой злоумышленники похищают пароли посетителей. Атака объединяет девять этапов: от внедрения скрытого сценария в браузер до кражи учетных данных. Каждый шаг тщательно продуман, чтобы обойти типовые средства защиты, и почти не оставляет следов для анализа.
Описание
Первый этап начинается с компрометации легитимного сайта. На него добавляют вредоносный плагин, который автоматически активируется при каждом обращении. Когда посетитель открывает страницу, плагин регистрирует в его браузере фоновый скрипт. Такой скрипт перехватывает все запросы к сайту и может изменять содержимое страниц. Важно, что он не активируется для администраторов ресурса, поэтому владелец сайта не видит никаких подозрительных признаков. В результате атака может оставаться незамеченной в течение длительного времени. Кроме того, скрипт удаляет из ответов сервера специальные заголовки безопасности, которые могли бы заблокировать выполнение вредоносного кода.
Уникальность этой кампании, зафиксированной Netskope Threat Labs, состоит в том, где именно хранится вредоносный код для следующего этапа. Вместо традиционного сервера злоумышленники используют смарт-контракт (программу, записанную в блокчейне). По данным аналитиков, подобная схема доставки опасного содержимого через распределенный реестр встречается впервые. Она дает операторам возможность менять код в любой момент, не оставляя на взломанном сайте никаких файлов. Кроме того, блокчейн невозможно заблокировать или изъять, что делает атаку устойчивой к внешнему вмешательству.
Дальше в дело вступает социальная инженерия. Посетителю показывают поддельную панель проверки reCAPTCHA с надписью о подозрительном трафике. После нажатия на галочку в буфер обмена копируется команда, которую пользователь должен вставить в окно выполнения Windows и запустить. Для пользователей macOS предусмотрена безвредная заглушка, поэтому подозрения не возникают. Таким образом, человек самостоятельно запускает вредоносный код, а у антивирусных программ нет ни файла, ни вложения для проверки. Команда использует доверенный компонент Windows, что дополнительно снижает бдительность.
Следующий этап использует файл, который одновременно является аудиозаписью в формате MP3 и исполняемым кодом. Такой формат обманывает системы, определяющие тип файла по расширению или сигнатуре. Доверенный компонент Windows запускает скрытую часть, которая создает запланированное задание. Оно выполняется в памяти, без записи на диск, что делает его невидимым для традиционных антивирусов. Вдобавок вредоносные сценарии маскируются под обычные системные процессы, поэтому администратору сложно заметить аномалию.
Еще одна ступень прячет основную вредоносную программу внутри обычного изображения. Картинка размещена на легитимном сервисе доставки контента, который используется множеством сайтов. Блокировка такого ресурса привела бы к нарушению работы тысяч легитимных сервисов, поэтому злоумышленники чувствуют себя в безопасности. Внутри изображения зашифрованы данные, которые извлекаются только в памяти компьютера. После этого вредоносный код запускается без сохранения на диск, что исключает его обнаружение по сигнатурам.
На завершающем этапе запускается программа для кражи паролей. Она собирает сохраненные учетные данные из браузеров, а также сведения о системе. Затем эта информация передается на управляющий сервер злоумышленников. Для скрытия трафика используются зашифрованные запросы к системе доменных имен, которые маскируют соединение под обычный интернет-трафик. Кроме того, вредоносная программа внедряет в систему собственный корневой сертификат, что позволяет перехватывать зашифрованные соединения. Внешне она маскируется под легитимное приложение Microsoft, поэтому случайный взгляд на свойства файла не вызовет подозрений.
Особенность атаки - почти полное отсутствие постоянных следов. Вредоносные файлы не сохраняются на диск, управляющие серверы быстро меняются, а код в блокчейне можно переписать в любой момент. Даже после очистки взломанного сайта фоновый скрипт в браузере продолжает работу, пока его не удалят вручную. Это означает, что стандартная процедура удаления вредоносного ПО с сервера не решает проблему полностью. Помимо основной схемы, кампания использует второй канал доставки: он внедряет код прямо на страницы без браузерных сценариев. Оба канала связаны общим блокчейн-контрактом и сервером сбора данных. Злоумышленники специально выстроили цепочку так, чтобы каждый следующий этап открывался только после успешного выполнения предыдущего, что снижает вероятность обнаружения.
Защита от подобных кампаний требует комплексного подхода. Прежде всего необходимо блокировать подозрительные сетевые соединения на уровне инфраструктуры, чтобы разорвать цепочку на ранних этапах. При устранении последствий взлома следует удалять не только вредоносные файлы с сервера, но и фоновые сценарии из браузеров всех пользователей, посещавших сайт. Регулярные проверки трафика и своевременные обновления CMS (системы управления сайтом) также снижают риск заражения. Наблюдение за активностью смарт-контрактов может помочь выявить подготовку новых атак.
Атака демонстрирует, как современные методы скрытия вредоносного кода уходят от традиционных сигнатурных детекторов. Использование блокчейна, стеганографии и фоновых скриптов делает обнаружение сложным, но не невозможным. Компании, которые интегрируют данные об угрозах и анализируют поведение, а не только файлы, получают больше шансов противостоять таким кампаниям.