Опасная практика Master-lame-master Спецвыпуск: Хакер, номер #047, стр. 047-058-1 Примеры реальных взломов Любая теория должна быть закреплена практикой. Даже теория взлома. Если человек никогда не проверял свои знания на реальных серверах, то его нельзя назвать хакером. Позволь рассказать тебе, как хакеры ломают различные ресурсы. Но помни: повторять их действия опасно - старший брат следит за тобой! Все взломы, представленные в моем небольшом обзоре хакерских этюдов, реальны и происходили в 2003-2004 году. Имена злоумышленников, по понятным причинам, не называю. В этом материале я старался охватить все методы атак. Итак, приступим! Время для игр, или Взлом www.nikita.ru Любой игроман знает Никиту. Это не геймерский персонаж, а обычная игровая компания, создающая интересные проекты. Я, например, любил погамать в Parkan, хроника империи. Быть может, ты знаешь эту фирму по другим игрушкам. Это не столь важно. Важно то, что год назад ресурс был взломан неизвестным хакером. Впрочем, взлом выполнялся по тривиальной схеме, даже скрипткиди мог занять место нашего героя и порулить сервером известной компании. Вот как это было. От нечего делать хакер сканировал подсеть, где обычно хостились сервера крупных компаний. Хостером являлся «Ростелеком», у которого клиенты арендовали место в специальном серверном помещении. Хакер предполагал, что заказчики экономили на сисадминах, поэтому их сервера могли содержать дырки в своих демонах. Вскоре он засек примечательный сервер www.nikita.ru, который располагался в ростелекомовской подсети. Внимание хакера привлекло отсутствие фаервола и многочисленные сервисы, крутящиеся на этой машине. Понятно, чем больше сервисов, тем вероятность наличия бага, приводящего к удаленному взлому, выше. Атака происходила как раз в ту пору, когда в публичных источниках появился эксплоит 7350fun, позволяющий поиметь www-права через дырявый mod_php. Контент www.nikita.ru передавался браузеру через PHP-скрипты, поэтому стоило проверить версию модуля - быть может, хозяин машины даже не знал о баге. Чтобы выполнить подобную проверку, достаточно прителнетиться на 80 порт и отправить стандартный HTTP-запрос, например, такой: HEAD / HTTP/1.0. Хакер проделал эту несложную работу, затем пару раз нажал Enter и проанализировал поле Server. Как раз в нем говорилось, что версия mod_php была очень древней - 4.0.6. Впрочем, старый релиз еще не сулил об успешном взломе. Например, если сервер крутится на FreeBSD, mod_php вообще неуязвим. Но попытка не пытка, поэтому сетевой партизан натравил эксплоит на сервер. Строка запуска была следующей: ./7350fun www.nikita.ru /sms/privet.php Бинарник требовал последний параметр в виде пути к полноценному скрипту. Неважно какому. Сценарий мог обрабатываться и perl-интерпретатором, главное, чтобы скрипт понимал входные опции. После запуска эксплоит начал формировать смертельный запрос, приводящий к переполнению буфера, и отправлять его на сервер. Надо сказать, что это довольно длительный процесс (время зависит от ширины канала между хакерским хостом и уязвимым сервером). Пока хакер ощупывал другие демоны, эксплоит блестяще справился с задачей, предоставив злоумышленнику шелл с правами nobody. |