Корзина

В вашем заказе пока нет услуг

Начните с выбора домена

Выбрать домен
Рекомендуем
Лайт Виртуальный хостинг 1 месяц
GlobalSign AlphaSSL Сертификаты 199 дней
Остались вопросы?
Мы с удовольствием вам поможем
Проверьте корректность введённого поля
Проверьте корректность введённого поля
Проверьте корректность введённого поля
Проверьте корректность введённого поля
Заказать звонок
Проверьте корректность введённого поля
Проверьте корректность введённого поля
Проверьте корректность введённого поля
Проверьте корректность введённого поля
Проверьте корректность введённого поля

Слабые пароли: наш SOC отразил массовую атаку на более чем 100 сайтов

20.12.2024

Попытка массового взлома сайтов на самом популярном в мире движке WordPress и известной платформе для электронной коммерции OpenCart была зафиксирована нашим центром кибербезопасности. Расследование показало, что слабые логин и пароль могут нанести ущерб десяткам сайтов всего за несколько минут. Проблема устранена для клиентов hoster.by, но описанные ниже индикаторы могут помочь защитить и другие сайты.

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

Мы проанализировали лог-файлы и собрали перечень индикаторов компрометации – характерных признаков атаки. По этим признакам быстро выявили еще больше сотни пострадавших клиентов, которые не использовали при этом WAF hoster Guard и другие инструменты защиты. Ход проведения атак был однотипным, лишь немного отличались некоторые индикаторы компрометации.

Каждый раз вход в CMS происходил под учетными данными пользователей. И в каждом случае это были слабые логины и пароли вида admin:admin или test:test123.

Все входы были сделаны с первой попытки и в короткий промежуток времени в 12 минут: с 10:55 до 11:07. Первые обращения были зафиксированы в 10:55. Активная фаза атаки длилась 3 минуты с 11:04 до 11:07. С 10:55 до 11:04 проводилась разведка путем обращения к главной странице ресурсов. Это говорит о том, что у злоумышленников заранее были все логины и пароли от веб-ресурсов.

Примечательно, что атака производилась с IPv6. За текущий год это всего второй подобный случай в “истории наблюдений” нашего SOC, как правило во время киберинцидентов используется IPv4.

IP-адрес злоумышленника: 2002:6dac:5ba2::6dac:5ba2

Пример POST-запроса входа: 

Вход в CMS.jpg

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


Ход атаки на примере сайтов на OpenCart

После получения доступа к ресурсу злоумышленник загружал вредоносный файл через отправку запроса. Для этого использовалась уязвимость в модификации OpCarts. При обращении к /admin/index.php?route=extension/installer/upload появляется возможность загрузки файлов, однако с явным ограничением "Требуются файлы модификаций .ocmod.zip или .ocmod.xml".



Для обхода ограничения был создан файл 02x24.ocmod.xml . В данном случае место, откуда злоумышленник загрузил файл, видно из логов:

путь к файлу 2.jpg

Путь: C:\Users\Administrator\Desktop\oc_upl2/modules20/02x24.ocmod.xml

Содержание файла 02x24.ocmod.xml : 

<?xml version="1.0" encoding="utf-8"?>
<modification>
<name><![CDATA[OpCarts]]></name>
<code>OpCarts</code>
<version>1.0 </version>
<author>teknohiz.com>/author>
<link>teknohiz.com</link>

<file path="catalog/controller/common/header.php">
<operation>
<search> <![CDATA[public function index() {]]>
<add position="after" trim="true"><![CDATA[
<$datasss = base64_decode('ВРЕДОНОСНЫЙ КОД');
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/image.php', 'w');
fwrite($fp, $datasss.PHP_EOL);
fclose($fp);
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/admin/image.php', 'w');
fwrite($fp, $datasss.PHP_EOL);
fclose($fp);
]]></add>
</operation>
</file>
</modification>

Структура XML 

Код внутри элемента <add> 

Код, который будет добавлен, включает:
  1. Декодирование строки:
    • Строка закодирована в base64 и декодируется с помощью функции base64_decode().
  2. Запись в файл:
Создание файла image.php:
  • fopen($_SERVER['DOCUMENT_ROOT'].'/image.php', 'w'): Открывает (или создает) файл image.php в корневом каталоге веб-сервера для записи ('w').
  • fwrite($fp, $datasss.PHP_EOL): Записывает в файл содержимое переменной $datasss, добавляя символ новой строки (конец строки) после него.
  • fclose($fp): Закрывает файл после завершения записи.

Создание файла admin/image.php:
  • fopen($_SERVER['DOCUMENT_ROOT'].'/admin/image.php', 'w'): Открывает (или создает) файл image.php в подкаталоге admin для записи.
  • Запись и закрытие выполняются аналогично первому файлу.

По итогу выполнения POST запроса:
В файл header.php добавляется код:
$datasss = base64_decode('ВРЕДОНОСНЫЙ КОД')
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/image.php', 'w');
fwrite($fp, $datasss.PHP_EOL);
fclose($fp);
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/admin/image.php', 'w');
fwrite($fp, $datasss.PHP_EOL);
fclose($fp);

В свою очередь эти функции, выполняясь из файла header.php, создают файлы:

/image.php

/admin/image.php

Содержанием которых является вредоносный код задекодированный из строки base64.

Сам вредоносный код довольно большой. Скриншот с выгрузкой запроса красноречиво показывает его длину.
блюр1.png
Параллельно с анализом лог-файлов мы изучили полезную нагрузку запроса. Сам запрос объемный, но довольно простой, поэтому аналитикам не составило труда быстро разобраться, что он делает и как именно. Код предназначен для создания и использования редиректов, для сбора информации о пользователях, а также для создания файлов на ресурсе. Это может быть необходимо для подготовки злоумышленником инфраструктуры с целью проведения других кибератак.

О вредоносном коде

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

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

Основной вредоносный функционал находится в функции get_file. Там же есть $file с зашифрованным кодом. При расшифровке base64 и анализе видно, что он используется для сбора данных о пользователях: с какого URL он пришел на сайт, информация об устройстве, браузере, операционной системе, cookie. Редиректы на вредоносные сайты происходит через HTTP-заголовок с добавлением JavaScript для выполнения редиректов в браузере.

Перенаправления осуществляются через HTTP-заголовки:


Или с использованием JavaScript:


Сам скрипт сканирует файловую систему, начиная с корневой директории веб-сервера (DOCUMENT_ROOT). Затем ищет файл index.php и исключает из поиска определенные директории (admin, wp-content) и файл (wp-config.php).

Потом генерируется код, который вставляется в начало найденных файлов

Пример кода, который генерируется в начале файла: 

Затем происходит перенаправление пользователей на внешние сайты из массивов $fulldom и $fulldoms

И далее перенаправляет на другие сайты, например, онлайн-казино.

Сайты, на которые выполняется редирект:

http://pitmalohit[.]online/

http://purinagun[.]space/

http://purinagun[.]online/

http://partagun[.]online/

http://jikolahit[.]online/

http://jikolahit[.]fun/

http://pitmalohit[.]website/help/

После внедрения кода права на файлы изменяются на 0444 (только чтение).

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

«Мы ежедневно фиксируем попытки разного типа атак на ресурсы клиентов и оперативно устраняем их последствия. Но в случае массовых взломов важно показать признаки, по которым все желающие смогут проверить свои сайты, которые находятся в зоне риска. Для этого мы подробно описываем результаты расследования», — комментирует генеральный директор hoster.by Сергей Повалишев.

«Эта массовая атака ярко показывает, как часто владельцы сайтов используют слабые пароли, по сути оставляя “открытые двери” для киберпреступников. Нет рекомендации более банальной и в то же время важной — убедитесь, что административная панель вашего сайта защищена стойким паролем. Вторая рекомендация — используйте инструменты защиты веб-приложений и осуществляйте мониторинг ваших ресурсов. Именно благодаря тому, что ряд клиентов использовали hoster Guard, наши аналитики быстро получили уведомления о подозрительной активности на этих сайтах и моментально пресекли попытку взлома», — комментирует руководитель центра кибербезопасности hoster.by Антон Тростянко.

Индикаторы компрометации:
IP-адреса:

2002:6dac:5ba2::6dac:5ba2

95.181.161.115

Время взлома:
10:55 - 11:07 16.12.2024

Инструменты и файлы используемые злоумышленником:
02x24.ocmod.xml

md5: 2dcdca14fc57398aa71a8f99c75b8744

sha1: a5b352a87faa7523c13a5e9ddc16b65161827329

sha256: 6af20907ec33cd814a5ceb7d640b3ac2ec02d70399180da754378afa3675ae36

Fullpath: C:\Users\Administrator\Desktop\oc_upl2/modules20/02x24.ocmod.xml

Модифицированные файлы:

header.php

Index.php

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

Созданные файлы:

image.php

md5: 1125a896ea650eba5fe8e362d11c471d

sha1: de74b40a3db83d155ae4e809c824ce47be6b438b

sha256: f9a7569a4ff11c6e11d570448a057913b39b0458adc6d4bcb34130cec95b3096

Admin/image.php

md5: 1125a896ea650eba5fe8e362d11c471d

sha1: de74b40a3db83d155ae4e809c824ce47be6b438b

sha256: f9a7569a4ff11c6e11d570448a057913b39b0458adc6d4bcb34130cec95b3096

Взаимодействия с ресурсами:

http://pitmalohit[.]online/

http://purinagun[.]space/

http://purinagun[.]online/

http://partagun[.]online/

http://jikolahit[.]online/

http://jikolahit[.]fun/

http://pitmalohit[.]website/help/
Поделиться:
Подпишитесь на email-рассылку!

Будьте в курсе новостей. Отправляем полезные письма каждый месяц.

Пожалуйста, введите адрес электронной почты
Пожалуйста, подтвердите согласие с условиями обработки персональных данных.
article mailing picture
Вы подписались на нашу рассылку!

Скоро вы получите новое письмо.

article mailing picture
Подождите, пожалуйста.
Идет формирование файла