Взломан сайт на MODX Evo 1.1

Сегодня было обнаружено заражение сайта на базе MODX Evo 1.1
Используя /index-ajax.php, был загружен шел в /assets/files,
затем еще несколько бэкдоров по разным каталогам и в файл /index.php
Файл .htaccess также был переписан.
Последствия были устранены и проведены мероприятия для предотвращения подобной ситуации:
— большинство каталогов стали read-only
— каталоги с возможностью записи приобрели deny access to \.php$
— активирован mod_security с установка запрета file php upload
Это все конечно здорово и в случившемся себя нисколько не оправдываю, но!
До сих пор было известно об уязвимости /index-ajax.php версий MODX Evo 1.0.*
Я что-то пропустил? Или об уязвимости Evo 1.1 (index-ajax.php) еще не известно?
Как то меня это напрягает.
Стараюсь security fixes не пропускать, а тут такая ситуёвина…

16 комментариев

avatar
Вы все еще используете index-ajax.php? Тогда вирусы идут к вам.
avatar
Давно уже на всех сайтах поудалял этот файл, кстати да.
avatar
я тоже, всю прошлую неделю мучился. Ещё подключил сервис virusdie.ru ссылка реферальная))), сейчас уже всё ок
avatar
Вы могли бы описать пошагово, как настроить вот эти вещи:
— каталоги с возможностью записи приобрели deny access to \.php$
— активирован mod_security с установка запрета file php upload
avatar
/assets/files/.htaccess, /assets/images/.htaccess, /assets/media/.htaccess:
Options -Indexes
<Files ~ ".(php|phtml)$">
  Deny from all
</Files>
запрещает доступ к .php файлам в каталоге. Даже если пхп файл будет загружен в соответствующие каталоги — доступа к ним не будет

a2enmod security2 (у меня 2.4 апач)
в файл /etc/modsecurity/modsecurity.conf дописываем:
SecRule FILES "@rx \.php$" "id:'400011',drop,log,msg:'PHP files not allowed upload'"
SecRule FILES_NAMES "@rx \.php$" "id:'400012',drop,log,msg:'PHP files not allowed upload'"

service apache2 restart
как то так…
хотя потом сделал проще на всех серверах, по совету первых коментаторов сделал в конфиге апача:
<code><Files "index-ajax.php">
    Require all denied
</Files>
</code>
т.е. просто запретил доступ к index-ajax.php
Комментарий отредактирован 2016-11-28 14:08:30 пользователем Vampire
avatar
Спасибо.
Подскажите, как прописать эти правила в .htaccess:
SecRule FILES "@rx \.php$" "id:'400011',drop,log,msg:'PHP files not allowed upload'"
SecRule FILES_NAMES "@rx \.php$" "id:'400012',drop,log,msg:'PHP files not allowed upload'"
avatar
<IfModule mod_security.c>
    SecRule FILES "@rx \.php$" "id:'400011',drop,log,msg:'PHP files not allowed upload'"
    SecRule FILES_NAMES "@rx \.php$" "id:'400012',drop,log,msg:'PHP files not allowed upload'"
</IfModule>

только вот mod_security2 не позволит этого сделать
да и как оказалось, нифига это не помогло
полегчало только после обновления до 1.2 и сканирования EvoCheck (обнаружился дивный скрытый плагин)
avatar
Автор, можно не так категорично?
Не «MODX Evo 1.1 взломан», а ваш сайт. А то блин зашёл, аж сердце ёкнуло — 0day, думаю, обнаружили =)
Таких ломаных сайтов у меня за неделю прошло через руки штук 20.
Комментарий отредактирован 2016-11-28 13:21:33 пользователем 1px
  • 1px
  • 0
avatar
ммм… А разве index-ajax.php не является частью MODx Evo 1.1?
Вся проблема в том, что об уязвимости index-ajax.php modx 1.0.* гудели на каждом углу, а о 1.1 — тишина.
Хотя — да, согласен. Перечитал заголовок — звучит зловеще )))
Я хотел сказать «взломан сайт» — почему «сайт» не дописал — не знаю.
Тяжелое утро было )))
avatar
Крепитесь, тут у всех неделька та ещё выдалась, я так думаю =)
А нет ли детального описания бага с index-ajax.php?
Есть гора проектов, где он у меня используется, и переписывать всё ой как неохота.
avatar
Если было бы описание бага, то наверное уже и заплатка была бы.
А так чисто по логам вычислил, что через index-ajax.php (POST) залили файл /assets/files/minify.php с адреса 88.99.37.173
А потом уж началось массовое юзание этого шела со всего мира и заливка всякого дерьма.
Комментарий отредактирован 2016-11-28 14:04:59 пользователем Vampire
avatar
Ну такое и я видел. Параметры бы...
Сейчас себе поставил прослойку, которая будет логировать весь post в файлик. Пока тишина.
avatar
Есть такое! Тоже уже неделю занимаюсь тем, что ставлю всякие апдейты, в надежде… а потом на следующий день вычищаю весь залитый на сайт шлак и левые файлы…

И я посмотрел в логах — у меня тоже заражение произошло после POST-обращения к файлу index-ajax.php с адреса 88.99.37.173!

И следующим запросом видно, что обратились к файлу /assets/files/tmp_Wje3EEUCw.php, и ответ пришел с кодом 200, то есть скорее всего предыдущий скрипт этот файл и создал.

И далее от родного modx там мало что осталось :)
avatar
Вышел новый evo — This is release includes critical security enhancements and should be considered a mandatory upgrade.

Надеюсь, что обновление закроет проблемы с безопасностью. У нас почти все сайты на modx взломаны :(

В общем надо теперь лечить, а потом обновлять
Комментарий отредактирован 2016-12-02 07:06:14 пользователем sgloomer
avatar
Может скажу баян, но вот revisium.com/ru/blog/modx_evo_attack.html
avatar
Ссылка на github в статье битая, пошёл посмотреть на заплатку и увидел, что с момента её установки (я сделал это 20.11) она претерпела некоторые изменения. Поставлю, пожалуй, повторно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.