Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Взлом СУБД

Докучаев Дмитрий aka Forb

Спецвыпуск: Хакер, номер #052, стр. 052-090-1


(forb@real.xakep.ru)

Обзор уязвимостей с наглядными примерами

Стало модным хранить информацию в БД - от сообщений на попсовых форумах до генетических кодов новейших белковых соединений. Понятно, что для хакеров такие базы являются предметом страстного желания и возможностью поправить свое материальное положение. А чтобы встать на защиту СУБД, надо понимать основные приемы ее взломщика.

Несмотря на то что SQL-сервер находится за брандмауэром и принимает подключения только с доверенных машин, стащить важную информацию с него не так уж и сложно. Более того, для этого даже не нужно быть суперхакером, достаточно получить доступ к одному серверу из локальной сети, и данные окажутся в преступных руках. Если, конечно, администратор не уделил серверу особого внимания.

Парольная проблема

Чаще всего взлом СУБД происходит из-за "плохого" пароля или из-за его полного отсутствия. Но даже если он и существует, взломать БД для хакера не составит особого труда. Чтобы ты в полной мере осознал проблему, приведем ряд примеров-взломов (от простого к сложному).

1. Как-то раз хакер баловался и сканировал nmap’ом какую-то русскую подсеть в зоне *.rose.ru, в которой находились серверы одного крупного хостера. Сканер записал в лог информацию об основных сервисах в этой подсети. На трех адресах (из 120) вертелись демоны MySQL. Хакеру стало интересно, какая информация хранится в этих СУБД. Он набрал в шелле команду "mysql –h host –u root", и... сервис сказал, что с его хоста не разрешено соединяться с базой. Тогда хакер попробовал другой хост, и... его пустили внутрь! Поразительно, но админ даже не удосужился установить пароль на вход. Кстати, информация была не такой уж и профанской: в БД хранились сведения о концертах каких-то московских музыкальных групп. Однако хакер ничего не стал изменять, а просто создал дополнительную базу с названием hack :). Через пару дней администратор ее заметил и взялся за ум.

2. Поздним вечером другой хакер сканировал на различные сервисы буржуйскую подсеть (хакеры вообще любят сканировать порты) Windows'овским сканером LanGuard. Просмотрев его отчет по диагонали, он, к своей радости, обнаружил два хоста с открытым портом 1433. Это означало, что на сервере крутился небезызвестный MS SQL. Ситуация похожа на предыдущий случай. Первый демон не пустил в гости, а второй поддался. Только вместо логина root хакер использовал учетную запись sa с пустым паролем. В базе хранился каталог кредитных карт одного крупного интернет-магазина. По-видимому, админ решил поднять бэкап-сервер и не позаботился о защите.

3. Подобным образом некий хакер несколько раз проникал на Windows'овские mysqld. Дело в том, что в ранних версиях разработчики забили на аутентификацию в Win32-сервисах. Действительно, даже при грамотной настройке сервис пускал абсолютно всех под любым именем пользователя без пароля :). Как-то раз, благодаря этому, хакеру удалось дефейснуть один популярный форум в локальной сети (правда, потом получил подзатыльник от администратора). Поэтому обязательно проверяй безопасность сервиса, если он крутится на Windows.

Содержание  Вперед на стр. 052-090-2