17 January 2016

Атака на пользователей Linux или как собрать ботнет руками админов

Information Security
Для чистоты эксперимента предлагаю перейти по ссылке и выполнить по указанной инструкции «установку полезных пакетов». Инструкция для владельцев Ubuntu.

По ссылке всего лишь «демонстрация» данного вида атаки, но в любом случае данные действия лучше производить на полигоне виртуалке.

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

Небольшое предисловие: часто бывает что работая с мануалами по настройке сервера лень вписывать все команды вручную, особенно длинные. Так же большинство приложений для работы в консоле игнорируют вставку перевода строки и просто моментально выполняют код.
Что если при копировании на странице кода подменить его таким образом, что бы при вставке в консоль — автоматически исполнились нужные команды и нюанс составляет только то, каким образом скрыть от глаз пользователя плохой код.

В итоге пришла такая мысль:
1. Просим пользователя повысить привилегии до рута, что как бы вполне логично, учитывая дальнейшую установку пакетов.
2. Пишем длинную команду, заставляя тем самым пользователя скопировать (именно скопировать а не ввести код руками).
3. При копировании — буфер обмена подменяется связкой нужных для проведения атаки команд. А именно:
set +o history && echo 'echo you hacked!' > /tmp/test.sh && chmod +x /tmp/test.sh && /tmp/test.sh && printf "\033c" && 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 "\033c"

4. Включаем обратно историю
set -o history


Вторая строка — запись в историю введенной раньше команды.
И собственно код полезной нагрузки.
В итоге (зависит от используемой консоли), при вставке скопированного кода непосредственно в консоль — выполнятся нежелательные команды, которые не отобразятся в истории и на экране.

Если все прошло как надо — по адресу /tmp/test.sh будет находится «зловред», который в момент вставки кода в консоль успешно выполнился.

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

P.S Приведенный выше пример — всего лишь мои догадки о возможной проблеме. На практике с таким не сталкивался.
Статья написана только с целью предостеречь пользователей о таком, вполне возможном векторе атаки.


UPD. Спасибо ValdikSS за наводку thejh.net/misc/website-terminal-copy-paste. Обновил пример.

Хотелось бы так же услышать мнение пользователей, на сколько реальная угроза на практике. И заметили ли вы выполнение кода после вставки скопированной команды в консоль.
Only registered users can participate in poll. Log in, please.
Заметили ли вы выполнение «вредоносного» кода после вставки команды в консоль?
18.65% Да 119
10.5% Нет 67
6.11% Код не сработал (если да, хотелось бы услышать в комментариях по какой причине) 39
64.73% Не тестировал 413
638 users voted. 322 users abstained.
Tags:ботнетlinux
Hubs: Information Security
+44
44.8k 148
Comments 111