Тема такова : Как мы взломали новостной сайт штата Айдахо.

Предыстория такова:

Однажды, когда пора была студеной, решил я что-нибудь сломать,  и стал лазить в поисках какого нибудь более менее приличного сервака на базе НТ (т.к я занимаюсь только НТ), но чтобы он в то же время не был сильно защищенным.

А история. ........ :

Ночь первая:

И в этих своих поисках наткнулся на очень добротно сделанный и относительно публичный сайт,  на котором выставлялись новости штата Айдахо (этот сайт вы можете посмотреть и сейчас   - http://www.idahonews.com).

И взбрело мне (по закрепившейся привычке) поглядеть степень защищенности и (самое главное) степень тупости админа. Для этого я стал юзать (что думаете???) свой любимый Нетскап 3.01.  Стал лазить по директориям и обнаружил Очень странную для сегодняшнего дня вещь,  а именно директории /scripts и /cgi-bin оказались открытыми  (как известно наверное многим, в НТ можно запускать любые файлы из этих директорий, т.е получается, что ты из бровсера своего можешь запустить прогу на удаленной машине, лишь поместив ее в одну из этих директорий).  Подумав о тупости админа, я пришел к выводу,  что на данный момент моего исследования системы  эта его характеристика поднимается до уровня "средний". :)

Сделав такой вывод, я решил продолжить свои изыскания. Для начала я решил просканить сервак на предмет открытых портов, а следовательно и сервисов, на нем установленных. Для этого я использовал очень полезную тулзену,  которая зовется Ogre (спасибо Rhino9 ).  Эта штука выдала мне следующую картину :

Scanning - 198.60.102.4
======================
Commencing Port Scan:
Port 21: Open --- это ФТП открыт
Port 23: Closed
Port 25: Open
Port 53: Open
Port 79: Closed
Port 80: Open
Port 110: Open
Port 111: Closed
Port 139: Open ---Возможно есть File Sharing
Port 443: Closed
Port 1080: Closed
Port 8181: Closed
Surveying Web Server:
--Checking for Vulnerable URLs:
Frontpage Extensions: Not Present
IIS HTML Administration Interface: Present ---- Управление серваком через IIS
IIS Samples: Present
Commencing Nbtstat Scan:
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
Registered Registered Registered Registered Registered Registered
Registered Registered Registered Registered Registered
MAC Address = 00-60-08-B0-7B-9E
PRNET <00> UNIQUE ----- ИМЯ МАШИНЫ
PRNET <20> UNIQUE
IDAHONEWS <00> GROUP
IDAHONEWS <1C> GROUP
IDAHONEWS <1B> UNIQUE
IDAHONEWS <1E> GROUP
PRNET <03> UNIQUE
IDAHONEWS <1D> UNIQUE
INet~Services <1C> GROUP
..__MSBROWSE__.<01> GROUP
IS~PRNET.......<00> UNIQUE
Из этой информации я понял, что сервак доступен из под прошаренных ресурсов и фтп (первое обычно полезнее, но медленнее).

Затем я попробовал зайти на сервак под аккаунтами, которые станадртно присутствуют в НТ (Guest,  Administrator),  у меня ничего не вышло, тогда я решил попытать такие штуки как аккаунты IIS (Internet Information Service), обычно они выглядят так IUSR_<имя машины с шарами>. Ogre мне показал, что имя машины PRNET,  значит юзернейм будет IUSR_PRNET.  С этим вариантом тоже ничего не получилось.  Что ж, придется прибегать к насилию !

Для осуществления насильственных действий я выбрал програмку NAT (Net Auditing Tool), которая пробует подключиться к шарам с юзернеймами и паролями из словаря и потом проверяет возможности этого пароля на сервере!

Обычно в словаре стандартные пароли и имена, я его немножко поправил, добавив пароли и имена IUSR_PRNET, PRNET, IDAHO,  NEWS, IDAHONEWS и т.д. (уже не помню какие еще).  И оставил свой комп проверять эти варианты,  а сам пошел на кухню перекусить.

Когда я вернулся, то обнаружил,  что NAT подобрал пароль и проверил дырки в шарах.

Имя и пароль, которые он нашел (TEST TEST -кста ОООчень глупо), имел доступ почти ко всем прошаренным каталогам ! Но самое главное - он имел доступ к каталогу InetPub/scripts.

Еще оказалось, что под ним можно войти и в WINNT (совсем тупо ), там я попытался спереть SAM._ из каталога /REPAIR,  но безуспешно (хоть к нему доступ закрыт был), тогда я понял, что так легко сервак не дастся.  (Конечно, можно считать что он дался,  т.к. уже тогда я мог подменить страничку и т.д.,  но я имею в виду под "дался" Administrator доступ). Я подправил логи и отрубился.

Ночь вторая:

Я связался с парнем,  с которым мы этим делом занимаемся обычно (он просил его ник не называть), и веселье началось! Для начала мы решили попробовать такую штуку как Getadmin.exe, чтобы получить права админа, а там уж и пароли дернуть.

Запихнули ее в /scripts и бровзером запустили для юзернейма TEST.  Выглядело это так (для незнающих естественно): http://www.idahonews/scripts/getadmin.exe?test.

Нам вернулось сообщение типа "Cgi error (так и должно быть) User test get Administrator's rights", или что то в этом роде. Мы обрадовались и решили, что дело сделано, но не тут-то было: сервер сразу повис,   перезагрузился и восстановил параметры юзеров (хитрец).  Мы проделали это еще раз,   но не добились результата.  (Естественно, поднимание сервера происходило продолжительное время,  но админ крутился где то там и поднимал его (при этом ничего не понимая)) :) Этот вариант отпал. Ситуация усложнялась.  Целый следующий день мы шарились в поисках експлоитов, которые можно было бы поюзать на этом серваке, и наконец я вспомнил, что где то видел что-то такое веселое для НТ (А именно БО для НТ ).Угадайте где я это нашел ? На нашей доброй старом Хакзоне,  листая архивы обзора.  Эта штука называлась NETBUS 1.60 (линк не работал,  по Алтависте я быстро нашел где слить его).  Потом я вырубился и пошел спать. (с улыбкой умиления на лице :) )

Ночь уже не помню какая :

Мы залили сервер для NETBUS'а в /scripts, и тем же способом (описан выше) запустили его на удаленном компе.  Подсоединившись клиентом NETBUS'а, я сразу пошел в File Manager (в нем такая опция есть). И стал собирать информацию о структуре каталогов и т.д. (при плохом коннекте он это делает ой как долго).Так мы получили хоть и не полноценный, но хоть какой то доступ ко всем дискам и каталогам (конкретно на копирование,  запись и тд) Первым делом пошли в WINNT/REPAIR и сперли SAM._

Наше разочарование было очень велико, т.к. этот сам оказался старый- старый (Repair дисков не делал админ, гад). И там было всего два пользователя Guest и Administrator без паролей, т.е ОООчень старый. Решили пока просто полазить по диску - поглядеть, что тут есть, и где лежит главная страничка.  Это оказалось трудно, т.к. вопреки предположениям она находилась не в /wwwroot, но после долгих и нудный поисков (пересмотра пары десятков страниц INDEX.htm ) мы нашли ту, что надо, и в наглую проверили, закачав текстовик с таким именем (хехе), потом, естественно, вернув все обратно.  Мой друган стал заниматься страницей (в смысле лепить нашу, которую мы потом поставили), а я пока испробовал вполне приличные возможности NETBUS и думал как же нам сорвать пароль админа.  Но ничего не приходило мне в голову.

Следующая ночь:

С красными невыспанными глазами я подползаю к компьютеру, мы уже договорились ставить страничку сегодня, и я по-своему рад.  Тут появился наш третий друган (Lazybones) и активно принялся входить в курс дела (т.е лазить по диску, толкать идеи и тд).  В таком состоянии Lazy и другой парень обнаружили электронную банковскую систему расчета (или как это называется?) Tango3, мы поглядели, ознакомились и решили,  что так бросать сервак не стоит,  но надо дать шанс админу (поставить свою страничку, чтоб он одумался), и стали обсуждать вариант странички, который сделал друган. ( Это сопровождалось ругательствами и 5-ти минутным разладом комманды, наверное из-за того, что все (особенно я) были невыспавшимися и на нервах). Но все согласовалось, и мы принялись заливать.  После этого страничка выглядела так.

Страничка не продержалась и получаса.  Админ там крутился все время (наверное из за разницы во времени). Админ сглупил. ....единственное, что он сделал, было то,что он закрыл юзеру TEST доступ к ФТП !!!!! Где мы и не были то ни разу (ну может разок),   а на шары оставил тот же пароль,  а также оставил наш NETBUS в /scripts -  короче говоря, ничего не сделал.  Нас это сильно загрузило, т.к. мы как бы приняли обязанности показать, какой он дуб.   Днем я снова залил страницу,  она продержалась часа 1,5.  Реакции опять никакой не было.

Следующая ночь :

Выделывая невероятные штуки и страшно извращаясь, мы так и не смогли взять админовские права.  Усталость надвигалась, а желание бросить все это и ощущение собственной тупости ( :) страшно, да? ), давило все сильнее и сильнее.

Решение появилось неожиданно,  а вернее даже предположение,  оно оказалось настолько просто, что я просто обалдел и решил его проверить.  Решение состояло в том,  что я понял, что проги-то из /scripts запускаются не под юзернеймом TEST, а с того самого web-аккаунта, из чего можно сделать вывод, что пароли можно элементарно сдампить из реестра с помощью PWDUMP.exe. Я быстренько залил это дело в /scripts и пустил из бровсера.  И что же я увидел,  о чудо, я увидел все пароли (естественно, в закодированном виде) прямо в окне моего бровсера.  Это дело я сохранил как текстовик и дал на сьедение L0phtCrack'у, по словарю он мне открыл почти все пароли (они были элементарными) и за ночь BRUTEFORCE'ом нашел и админовский,  тоже не очень сложный! Дас ис гут ! (распространенное исконно русское выражение).

Я послал мессаги членам комманды,  и пошел спаточки.

Ночь уже со счета сбился какая :

Я делюсь паролями с ребятами, и мы начинаем активную деятельность Админов.  Вначале заходим в /iisadmin/default.html (кто не знает, это для удаленного управления WWW,FTP,Gopher сервисами).Там заходим под админом, меняем алиасы на ФТП (а именно делаем, чтобы с ФТП был доступен диск E :\ где лежит интересная инфа).

И принимаемся шариться в поисках интересных вещей (а именно баз данных,  документов и т.д. (не сочтите за вандалов)).За пару дней поиска ничего дельного не нашли и решили выжидать что админ предпримет. .....

Много времени спустя :

Тупость админа нас доканала. Он не сделала практически ничего чтобы защитить свой сервак,   и мы дружным советом решили кончать с ним. Собравшись поздним вечером,  стали удалять все, что было дорого посетителям этого сайта (а именно архивы газетных номеров). Перед этим решили поменять пароль админа с помощью стандартного НТевого средства User Manager. И поменяли на довольно длинный - superpupergod (раньше же был pralpha), чтобы он помучился, если вздумает ломать дубово. Далее удалили все копии настоящей странички (чтобы наша подольше подержалась:))Сервак благодаря тупости админа принял такой вид.

Я отвалился и пошел спать. ...

И последнее :

Админ оказался намнооого дурнее, чем я думал, а главное самоувереннее !  Он восстановил все с резервной копии диска и поменял пароли, но на этой копии оказалась и нами оставленная дыра (в каталоге /scripts файл Patch.exe, который является сервером NETBUS ), так что вы можете сами исследовать их диск даже сейчас и, естественно, получить права админа и т.д. ! (может что интересное найдете )

Резюме :

АДМИНЫ, не надо быть такими тупыми! Заметив попытку взлома, ЛАТАЙТЕ ДЫРЫ. (не относится к русским админам )
Заметьте, как локальный баг помог нам взять админовский аккаунт. (к исследователям сети ).

P.S. Если кто не знает, пароли из SAM._ достаются командой expand !