Архивы: по дате | по разделам | по авторам

О сервере бедном замолвите слово…

Архив
автор : Алексей Павленко   07.08.2001

Продолжая тему сетевой безопасности, начатую в статьях "Шпионы как мы" и "Мы как шпионы", поговорим о безопасности веб-серверов и вообще компьютеров, имеющих доступ в Интернет. У читателя может возникнуть чувство, что автор - ярый Microsoft-ненавистник. Не стоит так думать!

Продолжая тему сетевой безопасности, начатую в статьях «Шпионы как мы» и «Мы как шпионы», поговорим о безопасности веб-серверов и вообще компьютеров, имеющих доступ в Интернет. У читателя может возникнуть чувство, что автор - ярый Microsoft-ненавистник. Не стоит так думать! Просто в Windows я разбираюсь гораздо лучше, чем во всяких народных Linux, - именно поэтому о дырах в безопасности систем от Microsoft знаю больше 1. Я уверен, что после более глубокого изучения ОС из мира Linux в них удалось бы найти не меньше лазеек, но дальше речь пойдет не об этом. (Если же вас интересует, как вывести из строя Linux, - читайте одноименные «How to…» и ищите раздел «Взломать Linux».)

Итак, начнем.

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

Сейчас наиболее популярны веб-серверы 2, которые работают под Windows NT/2000 (это, как правило, Internet Information Server) или под Linux (здесь вне конкуренции Apache). Так сложилось, что большинство взломов (сводящихся чаще всего к банальной замене главной страницы сайта) происходит чаще всего на IIS.

В каждом из нас живет ребенок, жаждущий разобрать любимую игрушку, дабы посмотреть, «что у ей внутре». Вот и мне всегда хотелось что-то поломать. Однажды я заменил главную страницу некоего сервера (кажется, под управлением FreeBSD), попутно прихватив файлик с паролями в открытом виде. По истечении суток (!) взлом замечен так и не был, а поскольку человек я не вредный, то вернул все на свои места. Хак можно повторить хоть сейчас, но он стал возможен по вине администратора, а не программного обеспечения сервера. А как насчет того, чтобы взломать любой компьютер? Скажете, что мне нужна губозакаточная машинка? Вот и нет! Microsoft сделала все, чтобы я обошелся без нее.

Фирма NSFOCUS security team нашла много глюков, сводящих безопасность IIS на нет. Именно она, помнится, предложила способ 3 нахождения пароля, позволяющий входить на сетевые ресурсы буквально за считанные минуты. Но этим ее изыскания не ограничились, и ниже приведено еще несколько находок.

Интернет дает абсолютную свободу для нарушения авторских прав. Тут можно найти терабайты последних версий программ, музыку и фильмы любых жанров. Секреты оформления сайтов легко подсмотреть в меню «View Source»; flash-ролики, которые «легально» сохранить вроде бы не удается, отыскиваются в кэше браузера - в папке «Temporary Internet Files» вашего компьютера; однако кое-что все-таки остаеются недоступным - к примеру, Java- и серверные скрипты. А что делать, если захочется узнать, как устроена, к примеру, гостевая книга, написанная на Perl? Писать письма автору, просить выслать кусочек исходника и получать отказ? Ну уж нет! Если сервер работает под управлением IIS, достаточно попробовать в адресе справа от названия скрипта добавить пять символов: +.htr. Чтобы не напрягать Интернет-сервер, попробуем на своем… Вуаля! Результат - на рис. 1.

Понравилось? Мне лично стало страшновато. А ведь этот глюк позволяет получить тексты файлов типа *.asp, *.asa, *.pl и многих других! Кстати, говорят, что в исходнике global.asa частенько лежат пароли к MS SQL Server…

Итак, узнавать исходные тексты некоторых файлов, доступных через Интернет, мы научились. А можно ли добраться до содержимого серверного диска C:? Нет проблем! На помощь приходит очередная ошибка, берущая начало в проблеме, именуемой UNICODE bug. Согласно документированному описанию 4, суть ошибки в том, что пользователь, набрав адрес определенными символами, может выполнить команды на сервере и тем самым добраться до файлов, недоступных из Интернета. На рис. 2 я получаю доступ… к списку каталогов своего компьютера!

Как видно из рисунка, я хитрым образом послал команду dir c:\ командному интерпретатору. Самое забавное, что даже если вы забыли командную строку и не помните, какие существуют команды и ключи (как, например, работать с тем же dir?), то всегда можно запустить Command Prompt или - что еще веселее - попросить помощи у взламываемого сервера, подкорректировав адрес. К примеру, вместо dir+c:\ (символ «+» используется вместо пробела) можно написать dir+/? и получить полный листинг параметров команды dir. В общем, сервер вас сам научит. Мило, не правда ли? А для того, чтобы после детального изучения содержимого каталогов вывести файл на экран, вполне подойдет старая добрая команда type, если же вы забыли правила ее использования, на помощь опять придет /?.

Впрочем, вынужден разочаровать тех, кто уже собирался почувствовать себя кул хацкером: в данном случае все ваши обращения к компьютеру идут от пользователя IUSR_НазваниеКомпьютера, чьи права изначально ограничены, поэтому, допустим, файл с паролями SAM вам украсть так просто не удастся, да и вывод на экран иногда будет обрываться… И слава богу.

Однако и «официально доступные» через эту дыру ресурсы таят немало интересного. Приведу еще один скриншот (рис. 3), сделанный уже не с локальной машины, а с американского сервера, на главной странице которого красуются картинки авторизованного партнера Microsoft и IBM. Письмо, посланное мною администратору, почему-то вернулось: видимо, сервер ждет следующего посетителя, посему, чтобы кое у кого не возникло излишних соблазнов, адрес зарисован.

Кстати, на вышеупомянутом сервере была установлена Windows 2000 с Service Pack 1. Чтобы закрыть доступ пользователям к запуску команд на стороне сервера, администратору достаточно было отключить учетную запись IUSR_НазваниеКомпьютера, но после этого заходить на веб-сервер смогли бы лишь пользователи, которые прописаны в системе, и если для корпоративного сервера это нормально, то публичному уже не подойдет. В этом случае для Windows 2000 требуется установить второй Service Pack или HotFix 5, а вот Windows NT поможет только HotFix.

Таким образом, доступ к серверу можно получить, если на нем установлен веб-сервер и не хватает патчей. Однако компьютер находится под ударом даже тогда, когда веб-служба не запущена! Часто для доступа извне бывает открыт 139-й порт. Пусть есть небольшая локальная сеть из, скажем, десяти компьютеров, часть которых имеет свой IP-адрес. Допустим еще, что они работают под управлением Windows 98. Разумеется, у пользователей открыты сетевые ресурсы, некоторые с паролями, некоторые без. Подключить их сетевые ресурсы можно простой командой

net use z: \\xx.xx.xx.xx\ресурс

Пароли, как вы могли убедиться из статей «Шпионы как мы» и «Мы как шпионы», тоже не преграда. Единственный вопрос: как получить список доступных сетевых ресурсов? Не подключать же методом тыка все подряд! На выручку приходит LANguard Network Scanner 6.

Кстати, вполне возможно, что вместо списка сетевых ресурсов мы получим куда больше информации. Так, просканировав компьютер, страдающий от UNICODE bug, я узнал много интересного (рис. 4).

Ох уж эта безалаберность сисадминов! Уж не знаю зачем, но администратор этого сервера сделал практически все данные доступными любому желающему 7, я даже смог подключить… реестр сервера 8! Трудно найти ворота шире …

Надеюсь, ознакомившись со статьей, читатели не кинутся ломать серверы под IIS (это, господа, уже не комильфо. - Scout.), а обратят внимание на свой личный компьютер, администраторы же поставят ВСЕ доступные сервис-паки. Сам же я сделал следующее: кинул в Favorites ссылку на NSFOCUS, стал почаще заходить на сайт Microsoft, а еще - загорелся желанием написать расширенный аналог LANguard Network Scanner. Все, решено, допишу новую версию mp3Tag и займусь этим - благо для создания сканера необходимо использовать всего несколько функций. Следите за статьями на www.softerra.ru

[i40634]


К статье Алексея Павленко, очевидно, требуется небольшой дисклаймер. Публикуя материал, посвященный технологиям взлома Интернет-серверов под управлением Internet Information Server, мы ни в коем случае не призываем использовать эти технологии в корыстных целях (да и аудитория «КТ», я полагаю, все же поцивилизованнее аудитории, скажем, журнала «Хакер»). Мы лишь хотим предостеречь читателей от слепого доверия той самой сетевой безопасности, о нерушимости которой громко трубят зарубежные фирмы. А администраторам серверов статья послужит еще одним напоминанием о необходимости защиты собственных сетей и заставит принять все меры к тому, чтобы описанные здесь методы и приемы взлома стали недоступны по крайней мере на их сервере.

Praemonitus praemunitus, господа: «кто предупрежден, тот вооружен»… - Сергей Scout Кащавцев.


1 (обратно к тексту) - Кстати, и вероятность того, что мой следующий веб-сервер будет работать именно под управлением Windows 2000, чрезвычайно велика.
2 (обратно к тексту) - Подробнее о них в моем втором уроке по программированию для Интернета на сайте SoftТерры.
3 (обратно к тексту) - www.nsfocus.com/english/homepage/sa_05.htm.
4 (обратно к тексту) - www.nsfocus.com/english/homepage/sa01-02.htm.
5 (обратно к тексту) - Ищите на серверах Microsoft файл под названием Q293826_W2K_SP3_x86_en.EXE.
6 (обратно к тексту) - Подробнее в статье «Мы как шпионы».
7 (обратно к тексту) - Может быть, он работает в ФБР? - Scout.
8 (обратно к тексту) - И с удивлением увидел, что в Америке пользуются AVP.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.