Для чистоты эксперимента предлагаю перейти по ссылке и выполнить по указанной инструкции «установку полезных пакетов». Инструкция для владельцев Ubuntu.
По ссылке всего лишь «демонстрация» данного вида атаки, но в любом случае данные действия лучше производить на полигоне виртуалке.
Ниже описание того, что случилось, в том случае, если вы не поленились произвести указанные выше действия.
Не большое предисловие: часто бывает что работая с мануалами по настройке сервера лень вписывать все команды вручную, особенно длинные. Так же большинство приложений для работы в консоле игнорируют вставку перевода строки и просто моментально выполняют код.
Что если при копировании на странице кода подменить его таким образом, что бы при вставке в консоль — автоматически исполнились нужные команды и нюанс составляет только то, каким образом скрыть от глаз пользователя плохой код.
В итоге пришла такая мысль:
1. Просим пользователя повысить привилегии до рута, что как бы вполне логично, учитывая дальнейшую установку пакетов.
2. Пишем длинную команду, заставляя тем самым пользователя скопировать (именно скопировать а не ввести код руками).
3. При копировании — буфер обмена подменяется связкой нужных для проведения атаки команд. А именно:
set +o history && echo 'echo you hacked!' > /tmp/test.sh && chmod +x /tmp/test.sh && /tmp/test.sh && printf "33c" && set -o history
sudo su
apt-get update && apt-get install mc && apt-get install vim && apt-get install htop && apt-get install man
Разбор первой строки:
1. Отключаем историю введенных команд
set +o history
2. Собственно создание и исполнение вредоносного кода
echo 'echo you hacked!' > /tmp/test.sh && chmod +x /tmp/test.sh && /tmp/test.sh
3. Очистка консольного экрана (можно и clear)
printf "33c"
4. Включаем обратно историю
set -o history
Вторая строка — запись в историю введенной раньше команды.
И собственно код полезной нагрузки.
В итоге (зависит от используемой консоли), при вставке скопированного кода непосредственно в консоль — выполнятся нежелательные команды, которые не отобразятся в истории и на экране.
В общем — используйте терминалы которые предупреждают о вставке кода с переводами строк и не вставляйте бездумно код с непроверенных источников.
Для Windows есть ConEmu который предупреждает о вставке подобного кода.
P.S Приведенный выше пример — всего лишь мои догадки о возможной проблеме. На практике с таким не сталкивался.
Статья написана только с целью предостеречь пользователей о таком, вполне возможном векторе атаки.
Хотелось бы так же услышать мнение пользователей, на сколько реальная угроза на практике. И заметили ли вы выполнение кода после вставки скопированной команды по установке пакетов в систему.
Автор: ganjar