0 Пользователей и 1 Гость просматривают эту тему.
  • 56 Ответов
  • 11995 Просмотров
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Лечил сайт знакомым сегодня (вернее, вчерашнюю ночь и сегодня днем), еще на Joomla 1.0.15. Сам его делал им лет кажется 8 назад, до сих пор работает, все нормально. Гос организация, ничего менять не хотят, сидит при нем тихая женщина и новости ставит. Все работало, как ни странно, отлично, но стал дико тормозить с августа примерно. Посмотрел тестром tools.pingdom.com, главная грузится около 3 сек, все внутренние - по 24-26 сек, причем это именно задержка, после этого таймаута все грузится очень быстро. Сайт, конечно за эти годы очень нагружен. Сначала грешил на это, почистил архивы, повыкидал старые-старые материалы (у них все хранилось с 2006 года), посмотрел базу, вычистил дикие по размеру таблицы со статистикой. Оптимизировал таблицы. Посмотрел темплейты, выкинул кое-какие мало нужные явовские скриптики, отключил несколько устаревших модулей. Почистил кеши. Не помогло никак, совсем никак, те же 25 сек задержки.  

Попросил их админа прислать мне логи, желательно апачевские и php-шные. Он прислал, сказал - уже почти месяц постоянно лезет ошибка, не может запуститься какой-то файл php. Полез по адресу - оказалось, в папочке com_poll (в компонентах). Смотрю - файл есть, кажется sitedata.php назывался. Нашел чистую копию этой Joomla (сам же когда-то оставлял им в виде бекапа) - а там в соответствующей папке такого файла (и еще трех, там же) быть не должно. Скачиваю - антивирус ругается. Ну, все ясно. Отключаю антивирус, скачиваю, открываю - незнакомый код и куча "чего-то" закодированного base64. Три остальные - примерно тоже. Полез дальше - нашел такие же лишние файлы еще в двух папках - com_banners и com_content. В них примерно то же самое, и вообще довольно много кода (один из них hostdata.php). Посмотрел код, почитал в инете - ну точно, PHP-Shell, и в коде указание на биржу размещения то ли рекламы, то ли ссылок trustlink.ru, обращение к их базе, подгрузка каких-то клиентов, установка параметров прокрутки каких-то объявлений и др. Основной файл td.php. Повеселило наличие тут же jpg файлов, неизвестных мне, которые, при открытии в Notepad++ оказались файлами стилей :). Дата у всех этих файлов - 07.2014. Убил все это, и сайт перестал запускаться, белый экран. Поставил обратно - запустилось. Опытным путем понял, что дело как раз в наличии этого файла td.php.

Понял, что дело еще и в темплейтах. Полез смотреть index.php - все в порядке, лишнего кода нет (сам их делал когда-то). template ....xml тоже в порядке. Думал-думал, и для порядка полез посмотреть в папку CSS (в темплейтах)... и опс :) - там стоит лишний файл. Должны быть файлики CSS и index.html, а там еще какой то index.php. Открыл его - а там опять, куча кода в base64. Что там- так и не понял, декодировать сходу не удалось, только видно, что ссылок много. Что интересно дата 03.2011 (!). Убил, сайт сразу стал нормально грузиться, так что видимо как раз этот файлик подгружал. Убил опять td.php - сайт опять пропал, включая админку. Поставил обратно - ожил. Полез искать в настройках, и в файле global.php нашел аккуратно врезанную строчку с вызовом этого файла. Что интересно, дата у global.php тоже старая, поэтому не обратил на него внимания сразу. Убил строчку - все встало на места, сайт летает, загрузка всех страниц полторы - две секунды.

Так вот я замечательно провел прошедший день :) Пишу, потому как вдруг кому-нибудь пригодится :)
« Последнее редактирование: 25.10.2014, 02:07:00 от busik »
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Ну а что толку то почистели?, нужно еще и профилактику по предотвращению сделать! по обнаруженному файлу td.php смело могу заявить что залились к вам через JCE, на днях видел эксплоит который работает с этим названием, следовательно вам надо ставить патчь под него, ну и кучу всего, инфы на форуме для этого достаточно!
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Ну а что толку то почистели?, нужно еще и профилактику по предотвращению сделать! по обнаруженному файлу td.php смело могу заявить что залились к вам через JCE, на днях видел эксплоит который работает с этим названием, следовательно вам надо ставить патчь под него, ну и кучу всего, инфы на форуме для этого достаточно!

О, спасибо, там кажется как раз JCE и стоит (был по крайней мере), завтра посмотрю. Кажется, через JCE где-то у меня уже было что-то
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
О, спасибо, там кажется как раз JCE и стоит (был по крайней мере), завтра посмотрю. Кажется, через JCE где-то у меня уже было что-то

Залез, заменил JCE на старенький редактор JoomlaFCK ... слышал что он тоже дырявый, но модет быть получше все таки
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Залез, заменил JCE на старенький редактор JoomlaFCK ... слышал что он тоже дырявый, но модет быть получше все таки
Достаточно было поставить патчь на JCE, если капнуть и на JoomlaFCK что нить найдется, даже вроде что то было!
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Достаточно было поставить патчь на JCE, если капнуть и на JoomlaFCK что нить найдется, даже вроде что то было!

Я упоминал, там стоит еще Joomla 1.0.15, и JCE соответствующий (версия 1.ХХ.ХХ какая-то). так что патчей никаких нет. Знать бы что руками поправить, я бы сделал. Плохо, что, видимо, придется отказаться от JCE  - там у них несколько сайтов, все старые, на всех одинаковый JCE, а сотрудница, которая при них сидит, обучена как раз пользоваться JCE (а переучиваться ей уже поздно - возраст не тот :)
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Дополнение - неопознанные юзеры
« Ответ #6 : 17.10.2014, 13:32:05 »
Посмотрел список юзеров на сайте, их там немного (в принципе когда-то я сам их и заводил, каких попросили, самостоятельная регистрация запрещена) - обнаружил двух непонятных юзеров с правами author - simple, зареген на адрес simple@(домен).ru и verysimple на адрес verysimple@(домен).ru. И того, и того убей Бог не помню, чтобы я регистрировал. Спросил их админа - в его почтовике таких юзеров (и адресов) нет. У одного из юзеров стоит дата последнего посещения 1999 год, когда сайта еще и в помине не было. У обоих стоит выбранный редактор пользователя, который я никогда не ставлю (простой HTML). Тут я и догадался, что похоже это - "засланные казачки" :)
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Я упоминал, там стоит еще Joomla 1.0.15, и JCE соответствующий (версия 1.ХХ.ХХ какая-то). так что патчей никаких нет. Знать бы что руками поправить, я бы сделал. Плохо, что, видимо, придется отказаться от JCE  - там у них несколько сайтов, все старые, на всех одинаковый JCE, а сотрудница, которая при них сидит, обучена как раз пользоваться JCE (а переучиваться ей уже поздно - возраст не тот :)

Вот так выглядит патчь от автора ai-bolit'a:
Код
  defined( '_JEXEC' ) or die( 'Restricted access' );

   $user = &JFactory::getUser();
   if ((@$_GET['option'] == 'com_jce') || (@$_POST['option'] == 'com_jce'))
   {
if (($user->usertype != "Super Administrator") &&
        ($user->usertype != "Administrator")) {
            die('<h1>Access Denied</h1>');
        }
   }

вам остается посмотреть соответствуют ли классы вашей версии с классами патча, если нет, то просто переправить и отдельным файлом про инклудить в индекс после строчки
Код
$mainframe->initialise();
согласно описанию патча, он тестировался на версиях 1.5.х и 2.5.х
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Вот так выглядит патчь от автора ai-bolit'a:
Код
  defined( '_JEXEC' ) or die( 'Restricted access' );

   $user = &JFactory::getUser();
   if ((@$_GET['option'] == 'com_jce') || (@$_POST['option'] == 'com_jce'))
   {
if (($user->usertype != "Super Administrator") &&
        ($user->usertype != "Administrator")) {
            die('<h1>Access Denied</h1>');
        }
   }

вам остается посмотреть соответствуют ли классы вашей версии с классами патча, если нет, то просто переправить и отдельным файлом про инклудить в индекс после строчки
Код
$mainframe->initialise();
согласно описанию патча, он тестировался на версиях 1.5.х и 2.5.х


Спасибо, попробую
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Вот так выглядит патчь от автора ai-bolit'a:
Код
  defined( '_JEXEC' ) or die( 'Restricted access' );

   $user = &JFactory::getUser();
   if ((@$_GET['option'] == 'com_jce') || (@$_POST['option'] == 'com_jce'))
   {
if (($user->usertype != "Super Administrator") &&
        ($user->usertype != "Administrator")) {
            die('<h1>Access Denied</h1>');
        }
   }

вам остается посмотреть соответствуют ли классы вашей версии с классами патча, если нет, то просто переправить и отдельным файлом про инклудить в индекс после строчки
Код
$mainframe->initialise();
согласно описанию патча, он тестировался на версиях 1.5.х и 2.5.х


Я правильно понял, это в JCE.php надо поставить?
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Дополнение - опять пролезли
« Ответ #10 : 25.10.2014, 02:02:23 »
Патч к JCE, который рекомендовали выше, поставил. Проверил - вроде все работает. Включил JCE обратно в среду.

Полез сегодня проверять, пароли все работают. Но нашел несколько левых файлов, подсаженных, судя по дате, уже после первой чистки. В папке com_content - файл id_class.php, в корне сайта - файлы wso.php и ad.php. Последний, как сказал наш админ, это удаленный администратор баз данных, что то типа PHP MyAdmin, только в одном файле. В базе обнаружил неопознанных юзеров, три штуки, таких адресов в нашей базе нет. Файлы убил, юзеров заблокировал.

Потом посмотрел еще один сайт, тоже на Joomla 1.0.15, лежит рядом - в корне обнаружил левый файл test.php с кодом, который должен был выводить фразу "Сайт больше существовать не будет". В прошлый раз его тоже не было. В файл была, если не ошибаюсь, установка даты, так как файл был 2007 года (время создания 00 часов) с правами 644. Вычистил код, но удалить не смог, хотя заходил с правами апача. Поставил права 777, но все равно при удалении получил ошибку. Попросил админа - он удалил своими средствами. Пока ехал домой - файл с тем же кодом возник опять, но назывался test.html, опять 2007 года (время создания 00 часов) с выводом фразы "Здравствуй, мир!". Опять вычистил, сменил права, но удалить не смог. Удалял админ.

Теперь ждем завтрашнего дня :)
« Последнее редактирование: 25.10.2014, 02:08:50 от busik »
*

WebDisaster

  • Захожу иногда
  • 108
  • 12 / 0
Скорее всего, где-то остался шелл, который был и до "чистки". А вообще - логи в руки, и копать. Там все ответы.

P.S. У самого десятый год работает огроменный сайт на Joomla 1.0. Но уже последние месяцы доживает - "хозяин" решил переходить на другую "заказную" CMS и делать всё заново с нуля.
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Дополнение (временное решение)
« Ответ #12 : 27.10.2014, 00:04:23 »
Токо что админ отписался - переделал в apache все так, что статика отдается через одного владельца, php работает как другой, а apache чисто как номинальный владелец, до процесса apache дело вообще не доходит. Надеемся, хоть временно поможет
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Токо что админ отписался - переделал в apache все так, что статика отдается через одного владельца, php работает как другой, а apache чисто как номинальный владелец, до процесса apache дело вообще не доходит. Надеемся, хоть временно поможет

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

busik

  • Захожу иногда
  • 186
  • 7 / 0
Если я правильно понял, суть сделанных вами действий, то тут вообще помойму реверсом попахивает, чревато когда несколько сайтов на одном сервере...

Да, у нас их немало. А в чем может быть проблема?
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Я на время поиска шелла, включил бы PHP как модуль, чтобы PHP не имел права писать в файлы .
Или просто запрет на запись в каталог/файлы.А в нужные папки, для записи кеш, картинок, положить файл с запретом на исполнение скриптов
*

LyalyaChornaya

  • Захожу иногда
  • 236
  • 15 / 1
Я на время поиска шелла, включил бы PHP как модуль, чтобы PHP не имел права писать в файлы .
Или просто запрет на запись в каталог/файлы.А в нужные папки, для записи кеш, картинок, положить файл с запретом на исполнение скриптов
draff, не могли бы разъяснить подробнее? Вот это
Цитировать
включил бы PHP как модуль
и вот это
Цитировать
файл с запретом на исполнение скриптов
. У меня была такая же проблема, пришлось восстанавливать сайт с нуля. Пока я гоняла вирусов в одних файлах, заново заражались те, что уже проверила
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
draff, не могли бы разъяснить подробнее? Вот это  и вот это .
PHP как модуль можно включать в настройках для пользователя, если у него есть права. Это VPS/VDS
На виртуальном хостинге PHP как cgi или fast-cgi, и нельзя изменить
файл .htaccess пжлста
Код
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
файл .htaccess пжлста
Код
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
Куда можно положить этот файл для постоянного нахождения там. кроме папки /images? Можно ли так защитить папку с шаблоном? Повлияет ли это на запись файлов по ftp?
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Куда можно положить этот файл для постоянного нахождения там. кроме папки /images? Можно ли так защитить папку с шаблоном? Повлияет ли это на запись файлов по ftp?
Шаблон- нет, там же исполняемые файлы .пхп для вывода в браузер разметки.
в папки /tmp , /cache , и везде, где есть вложенные каталоги, типа /templates/you_templates/images
На ФТП- нет
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
@LyalyaChornaya
проще сайт на время работ закрыть той же http авторизацией или в лоб повесить forbiden, если знаете что делать, а не на долго потерять пользователей не критично
а вообще "гонять" надо на локалке или другом сервере
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Куда можно положить этот файл для постоянного нахождения там. кроме папки /images? Можно ли так защитить папку с шаблоном? Повлияет ли это на запись файлов по ftp?
В папку с шаблонами я ложу вот такой htaccess
Цитировать
Order Allow,Deny
Deny from all
<Files ~ "\.(bmp|css|csv|doc|gif|html|jpg|jpeg|js|pdf|png|ppt|psd|swf|tiff|txt|xls|BMP|CSS|CSV|DOC|GIF|HTML|JPG|JPEG|JS|PDF|PNG|PPT|PSD|SWF|TIFF|TXT|XLS)$">
Allow from all
</Files>
работает все на ура, ложу его во все папки кроме administrator
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
В папку с шаблонами я ложу вот такой htaccess работает все на ура, ложу его во все папки кроме administrator

Мне нравится. Разумно, по-моему
*

busik

  • Захожу иногда
  • 186
  • 7 / 0
Дополнение номер 2 - поймалось еще :)
« Ответ #23 : 28.10.2014, 01:08:39 »
Только что с админом уловили что от пострадавшего сайта идут невидимые ссылки на порносайты, выводились в левом нижнем углу сайта. Покопался в темплейтах (их там работает два), нашел следующее:

В CSS файле в конце вписан код, делающий показываемые линки невидимыми (класс .ssil2)

В папке images (в темплейтах) найдены четыре файла:

1. img.jpg - внутри код в encode Base64
2. simple.jpg - внутри то же самое

оба NOD32 идентифицируются как вирусы, как только включился, сразу их убил (я его временно отключал). PHP код вызова этих файлов был врезан внизу файла index.php перед </body>. Кстати, он-лайн тестер вирусов https://www.virustotal.com/ проверял этот сайт и не пикнул.

3. ML_lcode.php - собственно код
4. [sitename].ru.links.dat - список ссылок

Последний содержал перечисление ссылок типа:

%2Fcontent%2Fview%2F810%2F41%2F__LINK__<a href='http://yurist116.info/'>Ищу бесплатнои юридические услуги в Казани</a>__END__
%2Fcontent%2Fview%2F810%2F41%2F__LINK__<a href='http://www.personal-exclusive.ru/'>Yjdjcnb hr v в Самаре</a>__END__
%2Fcontent%2Fview%2F810%2F41%2F__LINK__<a href='http://www.zavod-tkz.ru/kozlovoy.php'>Смета на монтаж козлового крана в Москве</a>__END__
%2Fcontent%2Fcategory%2F13%2F66%2F1%2F__LINK__Аппетитные голые <a href="http://www.kisok.net/">проститутки</a> с чулками и бикини заставят Вас играть по их правилам.__END__
%2Fcontent%2Fcategory%2F13%2F66%2F1%2F__LINK__<a href='http://www.malchiki.nl'>Элитные парни по вызову</a> 24 часа в сутки.__END__
%2Fcontent%2Fcategory%2F13%2F66%2F1%2F__LINK__<a href='http://gay.malchiki.nl'>гей интим услуги Москва</a> обявления__END__
%2Fcomponent%2Foption%2Ccom_contact%2Fcatid%2C43%2FItemid%2C3%2F__LINK__<a href='http://apollo-zmk.ru/products/stroitelnye-metallokonstrukcii/balki/'>балки и прогоны</a>__END__
%2Fcontent%2Fview%2F1204%2F76%2F__LINK__<a href='http://alukonkazan.ru/vkhodnye-gruppy.html'>Изготовление входные группы Казань</a>__END__
%2Fcontent%2Fview%2F1204%2F76%2F__LINK__<a href='http://acm4.ru/vibroplita-vaker-pokupka'>виброплита бензиновая</a>__END__
%2Fcontent%2Fview%2F1204%2F76%2F__LINK__<a href='http://www.sembi.ru/registracija-ooo-v-svao-sviblovo.html'>регистрация Ооо бабушкинская</a>, которым нужна гарантированная и__END__

и далее такого добра про аппетитных толстушек, девок по вызову и т.д на 64к

Последнее обновление этого файла было 15 мин назад (на момент вычищения).

Вот, на сегодняшний вечер/ночь пока все успехи :)
« Последнее редактирование: 28.10.2014, 01:13:11 от busik »
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
В папку с шаблонами я ложу вот такой htaccess работает все на ура, ложу его во все папки кроме administrator
Это работает также и на подпапки? а что для админки посоветуете?

upd
Проверил, работает и на подпапки. Только мне пришлось для шаблона также добавит ico и woff.
« Последнее редактирование: 28.10.2014, 10:19:32 от AlekVolsk »
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Это работает также и на подпапки? а что для админки посоветуете?

upd
Проверил, работает и на подпапки. Только мне пришлось для шаблона также добавит ico и woff.

Для админки, бейсик авторизацию и сложный пароль, не мение 15 символов с верхним и нижним регистром и спец символами, такое естественно можно обойти через xss на которую клюнет админ, но все же риск снижается к минимум, и еще в темплейтах, файлы возможные для редактирования тоже права установить на 0444
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Бейсик-авторизация - слышал. но не знаю. что это.
Пароль - куда уж круче, >20 символов всегда, к тому же еще и в разной раскладке))
Можно на всю папку установить 444, а при обнове снова менять на 644, чтобы иметь возможность обновиться, но это гемор, конечно.
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Бейсик-авторизация - слышал. но не знаю. что это.
В корень админки ложешь .htaccess со следущим содержанием:
Цитировать
AuthName "Access Denied"
AuthType Basic
AuthUserFile /[ПОЛНЫЙ ПУТЬ ДО АДМИНКИ]/administrator/.htpasswd
require valid-user
а затем ложим рядышком .htpasswd который можно сгенерировать здесь _ttp://www.htaccesstools.com/htpasswd-generator/
к примеру логин:пасс admin -> admin:$apr1$ttYMJi8C$gCJwuIsCdAZYOKVdpa4OO/
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
сейчас уже мало панелей осталось даже на шарадах на хостах используются, где не предоставляется ограничение доступа к папкам сайта через бейсик авторизацию, про сервера вообще нету речи
.htpasswd - можно назвать как угодно по своему, положить в любую папку пользователя на хосте выше папки сайта и в htaccess прописать путь к файлу и имя файла
По SSH создаем файл, где будут располагаться пользователи, для которых будет открыт доступ к графикам производительности:
Код
# htpasswd -c /путь/каталог/.htpasswd имя_пользователя
жмем ввод и появится поле ввода паса еще ввод и подтвердить ввод, все файл создан и лежит в указанной папке

Если требуется добавить еще одного пользователя:
Код
# htpasswd /путь/каталог/.htpasswd имя_пользователя
и как и с первым пас добавить
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скрипт для поиска вирусов и вредоносных скриптов на сайте "AI-Bolit"

Автор revisium

Ответов: 110
Просмотров: 63257
Последний ответ 30.08.2023, 12:53:33
от SeBun
Re: Кажется вирус на сайте

Автор motokraft

Ответов: 24
Просмотров: 3009
Последний ответ 04.05.2022, 14:04:17
от ProtectYourSite
На сайте появился вирус

Автор Lifar

Ответов: 3
Просмотров: 672
Последний ответ 23.04.2021, 10:12:05
от ProtectYourSite
Регистрируются боты на сайте непрерывно.

Автор Stich SPb

Ответов: 27
Просмотров: 13290
Последний ответ 22.02.2021, 17:42:48
от soty20
Вирус на сайте, редирект, что делать как лечить!

Автор flyingspook

Ответов: 792
Просмотров: 275406
Последний ответ 23.02.2020, 21:18:16
от draff