На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Средства и методы хакинга SQL Server

Здесь описаны наиболее распространенные средства и методы, с помошью которых хакеры могут "поставить на колени" обнаруженный В сети SQL Server. Описание разбито на две части; первая часть посвящена утилитам запроса, а во второй описаны серьезные средства для хакинга SQL. В завершение описан перехват паролей сервера SQL Server из сети.
Базовые утилиты запроса SQL
Следующие утилиты либо поставляются с официальным набором клиентских утилит SQL, либо являются программами сторонних производителей с теми же функциями. Они разработаны для выполнения прямых запросов и команд SQL, но, как и большая часть "законного" программного обеспечения, могут дать хорошие результаты при использовании коварными хакерами.
Query Analyzer
Хакинг SQL не бывает проше, чем при использовании программы Query Analyzer (isqlw. ехе), это клиент SQL с графическим интерфейсом, который поставляется с программой SQL Server. Хотя мы предпочитаем более сложные утилиты командной строки, описанные в этом разделе ниже, программа Query Analyzer могла бы стать хорошим отправным пунктом для знакомства с SQL для тех, кому нужна простота, присущая графическому интерфейсу.
Самое сложное в использовании утилиты Query Analyzer — конфигурировать ее для работы с нужной сетевой библиотекой перед подключением к серверу. Это делается посредством утилиты Client Network Utility (файл cliconfig.ехе, устанавливаемый с клиентским паке­том SQL) — необходимо запустить ее, выбрать и подключить нужную сетевую библиотеку. На 2 показана утилита Client Network Utility, из выводимых ею данных видно, что подключен протокол TCP/IP, наиболее часто используемая для атак сервера SQL Server сетевая библиотека (так как все сейчас работают по протоколу TCP/IP). Программа SQL Client Network Utility проверяет доступность сетевой библиотеки до того, как подключаться к атакуемому серверу SQL с помошью других утилит SQL.
После того как включена необходимая сетевая библиотека, запустите утилиту Query Analyzer и попытайтесь установить соединение с выбранным сервером (меню File^Connect..., если при запуске не появится диалог подключения).
I 'I In SIJL Seivei
SSi- 5av« ajthsnhcSoi L^r.nama:
Peiwori a
Cmcef
Эта иллюстрация демонстрирует то, что мы называем простотой графического интерфейса. Всего-навсего нужно ввести IP-адрес атакуемого сервера и можно переходить к подбору пар "имя пользователя/пароль".
После того как хакер подключится под видом пользователя с соответствуют им уровнем прав, он может использовать утилиту Query Analyzer для отправки запросов или команд на атакуемый сервер с использованием выражений Transact-SQL, хранимых процедур и/или файлов сценариев. Пример выполнения простого запроса к простой базе данных под названием "pub" через программу Query Analyzer показан на 3.
Настоящее "веселье" в SQL начинается после применения расширенных хранимых процедур, которые будут описаны позже в этой главе. Пока достаточно знать, что программу Query Analyzer можно использовать для соединения с сервером SQL Server, подбора пароля и выполнения простых манипуляций с данными на сервере и параметрами конфигурации — все это делается через простой графический интерфейс.
КД ЗАМЕТКУ
Альтернативой использования Query Analyzer является программа Query Tool, которая дополнительно работает с другими источниками данных (http i / / poulose.ome.att.net/). Это прекрасная программа, позволяющая запрашивать источники данных OLE DB, проверять SQL-сценарии, возвращать результаты запросов в табличной форме и одновременно выполнять несколько SQL-сценариев или хранимых процедур. Это небольшой бесплатный пакет, который не требует инсталляции при работе без средств SQL Server или для доступа к базам данных другого типа (не SQL).

osql
Рис. 11.3. Клиент SQL Query Analyzer отправляет простой запрос на атакуемый сервер
Жизнь была бы слишком простой, если бы все делалось с помощью программ с графическим интерфейсом простым щелчком кнопкой мыши. Поэтому обязательно нужно отметить, что в официальном наборе клиентских программ SQL от Microsoft есть утилита командной строки osql.exe. Ее работа уже была показана в примере, рассмотренном в начале главы. На сегодняшний день это единственное клиентское средство, доступное в инсталляциях MSDE.
Утилита osql позволяет отсылать выражения Transact-SQL, хранимые процедуры и файлы сценариев атакуемому серверу через интерфейс ODBC (Open DataBase Connectivity). Эта программа во всех случаях работает так же, как И уже рассмотренная утилита Query Analyzer (только в режиме командной строки), поэтому останавливаться на ее подробном описании мы не будем. Справка по использованию утилиты выводится командой osql -7.
НА ЗАМЕТКУ
Аналогичная утилита для работы через командную строку isql поставляется совместно с сервером SQL. Она не поддерживает некоторые функции программы SQL Server 2000. Утилита osql основана на интерфейсе OBDC и обеспечивает поддержку всех функций SQL Server 2000. Для запуска сцена-
программой osql.

scjldict
Где-то есть хакер, которол




iy неупобн
) работать без графического интерфейса (даже если он

грамму sqidict Арне Видстрома (Ame Vidstrom). В ней нет ничего особенного, это просто стандартная утилита для прямолинейного подбора паролей SQL Server перебором возможных вариантов. Она хорош для проверки паролей отдельного сервера SQL Server в организации, но неудобна для масштабного исследования, так как проверяет только одну учетную запись.
Окно утилиты sqidict показано на 4. С ее помощью почти любой пользователь может атаковать обнаруженный сервер SQL ServeT, не имея даже малейшего представления о етевых библиотеках, строках соединения или специальных клиентских программах. Хакинг SQL теперь стал простой операцией; если в организации был обнаружен даже один сервер, то взлом его системы защиты — это лишь вопрос времени.
Улучшенные средства хакинга SQL
Вы знаете, как пользоваться программами SQL Server Query Analyzer и osql. exe, которые поставляются с пакетом SQL Server? Какие утилиты и методы может использовать злоумышленник для получения доступа к серверу? Можно почти гарантировать, что не те, которые были описаны выше, — если только это не новичок и не мазохист. Опытные хакеры быстро найдут способ автоматизировать программы атаки для выявления легкодоступных пелей.
Программ, созданных специально для работы с SQL Server, не так много, как программ для хакинга систем Windows NT/2000 или IIS. Большая их часть имеет достаточно маленький размер, чтобы войти в набор инструментов хакера при атаке на несчастные необновленные серверы IIS. Поскольку многие HS-серверы работают как посредники между клиентом и защищенным брандмауэром (желательно) SQL сервером, взломанный сервер ITS становится прекрасной стартовой площадкой для атаки на главную цель в Web — на данные. Рассмотрим некоторые инструменты хакинга SQL Server.
sqlbf
Эта программа от xaphan для автоматического подбора пароля к серверу SQL использует словари, списки паролей и списки IP-адресов, что облегчает жизнь хакеру SQL и оставляет ему время на более интересные занятия. Программа sqlbf также позволяет хакеру использовать для атаки подключение по именованным каналам (Named Pipes), но нужно отметить, что при использовании именованных каналов в Windows NT/2000 устанавливается соединение NetBIOS и запись об этом заносится в журнал NT/2000 и в журнал SQL Server (если эта служба включена). Программа sqlbf используется следующим образом.
С:\>eqlbfi
Usage: sqlbf (ODBC NetLib] [IP List] [User list] [Password List] ODBC NetLib : T - TCP/IP, P - Named Pipes (netBIOS) IP list - text file containing list of IPs to audit User list - text file containing list of Usernames Password List - text file containing list of passwords
Нужно схазэгь, что рассматриваемая утилита полезна не только для взлома пароля учетной записи sa, но и для поиска других учетных записей с правами системного администратора,
которые могут быть защищены слабее. Мы создали длинный список пользователей, который содержит не только имя sa, но и другие возможные имена, такие как test, admin, dev, sqlagent и подобные им, которые могли появиться на некотором этапе разработке и не были удалены.
Вот некоторые наиболее популярные имена учетных записей в программе SQL Server ▼ sql_user
■ sqluser
■ sql
■ sql-user
■ user
* sql_account
А теперь можете включать свою фантазию. Не забудьте попробовать название компании и установленных приложений, если они вам известны.
sqlpoke
Для честолюбивого хакера SQL, которому нужно узкоспециализированное средство, существует программа sqlpoke, также созданная хакером xaphan. Эта программа не пытается подобрать пароль учетной записи sa, вместо этого она ищет серверы SQL Server с пустыми паролями. Когда программа находит сервер SQL с пустым паролем учетной записи sa (который устанавливают невероятно часто), она выполняет предопределенный сценарий, который может содержать до 32 команд. Таким образом хакер может заранее подготовить набор средств для взлома для передачи по протоколу TFTP, а после этой передачи сможет запустить "троянскую" программу одновременно с любым другим средством (как часть единого набора действий).
Заметим, что sqlpoke предоставляет пользователю возможность выбрать порт. Также имеется ограничение — возможно сканирование сетей только до класса В. Эта программа должна вселять страх в сердца тех, кто постоянно пользуется пустым паролем записи sa, чтобы ленивым разработчикам не нужно было его запрашивать. Можно представить, как следующей командой будут взломаны сотни серверов.
Sqlpoke 10.0.0.0 10.0.2S4.254 1433
(сценарий, который посылает сообщение хакеру и устанавливает "троянские' программы)
Спите крепко!
Пользовательские ASP-страницы
Иногда злоумышленники предпочитают выполнять сканирование не напрямую со своих машин, а используют для грязной работы заранее взломанные узлы. Один из методов — создание для выполнения взлома собственной ASP-страницы на взломанном узде или бесплатном хостинге. Красота этого метода в том, что хакер может вторгаться в другие системы, сваливая всю вину на узел хостинга ASP.
Вес, что нужно для подготовки этой атаки, — создать свою ASP-сграницу, в которой используются объекты ActiveX Data Objects (ADO). Используя объекты АГЮ, хакер может указать тип используемого драйвера, имя пользователя, пароль И даже тип сетевой библиотеки для каждой цели. Если провайдер услуг Internet не проводит никакой фильтрации исходящих данных, то сервер, на котором выполняется такая ASP-страница, установит необходимое соединение И обеспечит обратную связь с хакером. При наличии скомпрометированной системы, злоумышленник может свободно пользоваться ею для запуска команд против узла-жертвы.
Для демонстрации работы описанного метода на 5 показано простое сканирование SQL сервера с помощью сценария ASP, в котором для сканирования внутренней сети использован следующий код (2).
Листинг il .2. Исходный код сценария для сканирования внутренней сети
<i <Hjresponse.buffer = true Server.ScriptTiraeOut = 3600 %» <html> <head>
«title>SQL Server Audit Results</title>
< / head?-
<body>
<hl align.= "center">SQL Server Security Analysis</hl> <h2> Scanning.....</h2>
<:h3>Attempt ing sa account per.etration</h3i>
for i = 1 to 254 <R nextIP - "192.166.1." & i %> <:p>Connecting To Host <%=nextIP%> . . . . <br> <:% <R response.flush
on error resume next
Conn ~ nNetwor*=dbmsEOcn,1433;Provider-SQLQLEDB.l;User ID=sa; 4> pwd=;Data Source-" ь nextIP
Set oConn = Server.CreateObjectI"ADODB.Connection") oConn.Open Conn
If (оСохщ. state = 0) Then ,
Response.Write "<brx>Failed to connect<R></>" Response.Write "Reason: " & err.description ь "<brxbr>"
else
Response. Write " <B>Connected I < /><ЬххЪг>" Response.Write "<B>SQL Server version info:</><br>" sqlStr = "SELECT e@version" Set sqlObj = oConn.Execute(sqlStr) response.write sqlObj(0) end If next

-;strong> <fp>
":p>** End of Analysis ** </strongx/p>
*/body>
-;/html>
Предыдущий сценарий элементарно можно изменить для проведения атак подбора пароля или даже атак по словарю, для чего нужно загрузить на сервер файл словаря и использовать объект FileSystemObj ееt (хорошо описан в документации к US и в примерах), это значительно усилит ASP-инструментарий для SQL. Кроме сетевой библиотеки, можно указывать такие параметры, как TCP-порт, что дает возможность проверять и различные порты атакуемых компьютеров. Для использования других сетевых библиотек необходимо изменить параметр network В соответствии с именем сетевой библиотеки.
Shared Memory
Multiprotocol Dbmsrpcn Named Pipes TCP/IP Sockets Novell IPX/SPX
Banyan VINES Dbmsvinn
Для этого типа атаки не обязательно использовать ASP. С сервера под управлением Apache можно запустить сценарий РНР или Perl. Главная идея в том, что клиентские утилиты SQL имеют маленький размер и являются широко распространенными. Никогда не нужно считать, что у хакера есть только программа Query Analyzer или osql. ехе.

Dbmsshrn


Dbmsrpcn


Dbnmpntw


Dbmssocn


Ubmsspxn

Dbmsvinn

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

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика