Техника добавления вредоносного контента в буфер обмена пользователя при помощи CSS, известна давно. Ничего не подозревающая жертва копирует с сайта, вместе с куском кода, нежелательную команду, которая впоследствии будет вставлена в терминал из буфера обмена. Данная техника атак имеет ряд очевидных минусов, но теперь ей на замену предлагают похожий и куда более опасный вектор атак, использующий JavaScript.

При помощи CSS действительно можно добавить в буфер обмена жертвы что-нибудь нехорошее, но есть одна проблема: жертва должна скопировать что-то с сайта злоумышленника, а потом вставить эти данные в терминал и выполнить команду, не заметив подвоха. По понятным причинам подобные атаки — это скорее теоретический концепт, на практике их используют редко.

Независимый исследователь Дилан Эйри (Dylan Ayrey) решил стряхнуть пыль с этой методики и вдохнуть в нее новую жизнь. Похоже, ему это удалось. Эйри предложил использовать JavaScript вместо CSS, что делает атаку гораздо опаснее. Исследователь уже представил свой proof-of-concept, назвав новый вектор атак Pastejacking. Эйри поясняет:

«Разница в том, что в данном случае текст может быть скопирован в буфер непосредственно после [нажатия CTRL + C], может быть скопирован спустя некоторое время, а также это простой способ добавления в буфер и шестнадцатеричных символов, которые могут быть использованы для атаки на VIM».

JavaScript действует гораздо хитрее, чем CSS. Теперь пользователю не нужно копировать весь вредоносный текст с сайта в буфер, будет достаточно и пары символов. В теории, злоумышленник может добавить вредоносный Pastejacking код на всю страницу, и если жертва скопирует и вставит в консоль что-либо с такого сайта, за ее спиной будет выполнена вредоносная команда. Хуже того, жертве даже не нужно будет нажимать Enter, чтобы команда в терминале выполнилась, в ряде случаев хватит и простого CTRL+V.

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

К примеру, у пользователя что-то случилось, и он нашел в сети полезную статью с командами для cmd.exe. Жертва копирует кусок кода из статьи, и вредоносный сайт добавляет в буфер обмена десяток строк кода, скачивает с удаленного сервера малварь и устанавливает ее на машину пользователя. Все это происходит без ведома жертвы и без каких-либо предупреждений, в консоли пользователь видит ровно то, что копировал с сайта.

Так, простейшее демо, созданное Эйри, предлагает скопировать с сайта строку

echo "not evil"

которая в консоли будет подменена на строку

echo "evil"\n

Для сокрытия вредоносной деятельности, как описано выше, Эйри тоже предложил простое решение:

touch ~/.evil
clear
echo "not evil"

Замечу, что для срабатывания атаки копирование нужно осуществлять с клавиатуры, если копировать мышью, трюк не работает.

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

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    6 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии