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

Взлом СУБД

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

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


Получить доступ к MS SQL значит завладеть всей системой. В отличие отсвоих конкурентов, разработчики этой СУБД включили некоторые функции, выполняющие системные команды. Одна из них называется xp_cmdshell. Причем в ряде случаев никто не запрещает выполнять внешние запросы даже под гостевым логином (если администратор не уделил должное внимание настройке СУБД). К примеру, однажды хакер баловался одним сканером Windows, определяющим возможность гостевого входа. Примечательно, что хакерское творение реализовано в виде единого bat-файла, который быстро сканирует заданную подсеть на наличие гостевого входа в MS SQL. Чтобы проверить сеть на уязвимость, необходимо положить в каталог с файлом scan.bat (www.securitylab.ru/35715.html) клиент isql.exe, а затем запустить сканер с параметром адреса сети (192.168.0.1/24, например). Сначала bat-файл проверит наличие MS SQL, затем попробует залогиниться под гвестом, а после этого попытается выполнить командный запрос через встроенную функцию xp_cmdshell. Полгода назад этот способ работал на ура :).

Как и для MySQL, к СУБД в Windows было написано очень много рабочих эксплойтов. Один из них до сих пор способен вызвать переполнение буфера в MS SQL SP2 и предоставить хакеру командный доступ к системе (www.packetstormsecurity.org/0211-exploits/sql2.cpp). Атака проводится на UDP порт 1434. Примечательно, но для осуществления взлома не потребуется знать логин и пароль на вход в MS SQL. Таким образом, в теории все сервисы до SP3 подчиняются хакеру. Но на практике это не так: эксплойт безбожно глючит при атаке на MS SQL SP2 и не всегда возвращает командный доступ при наличии SP1.

Если сервер имеет активный MS SQL, но все вышеперечисленные приемы не дали желаемого результата, хакеры пробуют подобрать пароль к СУБД. В этом им помогает замечательная утилита mssqlpwd (www.packetstormsecurity.org/Crackers/mssqlpwd.zip), которая имеет вид пропатченного клиента. Достаточно скормить ей увесистый словарик, и процесс перебора пойдет своим ходом.

Для MySQL также существуют переборщики. Один из известных брутфорсеров получил название hydra (thc.org). Этот многофункциональный Linux'овый переборщик способен осуществлять подбор паролей с поддержкой потоков, комболистов, словарей и т.д. Никто не запрещает запустить его в background на зарубежном шелле. При таком раскладе даже самый стойкий пароль обязательно подберется :).

И, конечно же, MS SQL и MySQL ломаются традиционной SQL-инжекцией. При определенном раскладе хакер получит доступ к командному шеллу с правами system. Расписывать теорию SQL-инжекции нет смысла, так как в этом номере есть отдельная статья.

Ты, наверное, заметил, что методы взлома MySQL и MS SQL несколько схожи. Действительно, эти СУБД построены на реляционной модели, поэтому язык обращения к ним практически одинаков. Что касается багов в самом софте, то хакеры уделяют одинаковое внимание как Windows, так и Linux. При таком раскладе администратор находится в самом невыгодном положении: он должен каждый день читать ленты багтрака и при необходимости скачивать обновления или свежие версии СУБД. Поэтому, если ты админ крупной СУБД, не спеши проверять чужие подсети на безопасность, а в первую очередь проведи аудит своей.

Назад на стр. 052-090-3  Содержание  Вперед на стр. 052-090-5