Техника добавления вредоносного контента в буфер обмена пользователя при помощи 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"

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

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



6 комментариев

  1. babysane

    25.05.2016 at 11:49

    «предлагает скопировать сайта сроку» — что такое срока?) Не пробовали перед отправкой дать кому-нибудь прочитать материал?)

    • Alex G

      Alex G

      25.05.2016 at 13:37

      Зато видно, что живые люди пишут новости вручную, а не бездушные роботы воруют друг у друга!

      • babysane

        25.05.2016 at 17:50

        Я, конечно, понимаю, что не ошибается тот, кто ничего не делает. Но когда это происходит на постоянной основе, то стоит задуматься о перепроверке материала перед публикацией.

        • Bill115

          29.05.2016 at 11:02

          Слышь, чувачелла, ты лучше JavaScript учи, а не русский язык. Тем более русский — это язык дебилов, все нормальные прогеры на английском шпрехают

  2. grg-sdn

    25.05.2016 at 22:01

    бляяяяяяяя, галктеГе в опасносте…мышиловка из серии, вот если мыша сама в нее залезет, закроет дверь и будет звонит в колокольчик, мол дело сделано…. если юзер знает, что такое терминал и консоль, значит он должен быть вкурсе что, откуда и зачем он копирует….исследования из серии, если подкинуть камень и сдать под него то будет ай-ай ))))))))))…сплошной пиар https://www.linkedin.com/in/dylan-ayrey-ba5bb76a ….а он скромняшка )))))) ыыыыыыыыыыыы

Оставить мнение