на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить




Русский провайдер – бажный провайдер

Ни один провайдер не застрахован от уязвимостей, и российский в том числе. Несмотря на свежие версии сервисов некоему взломщику удалось порулить сервером крупного московского провайдера. Удаленная атака была нацелена на бажный WWW-проект, в результате чего злоумышленник получил небольшие права на машине. Все началось с того, что нашего героя заинтересовал проект wtboard. Этот форум выпускается более пяти лет и заслужил доверие многих. Хакер поставил свежую версию борды у себя на машине и начал над ней издеваться – искать какие-нибудь баги, тестировать на различные WWW-атаки и т.п. Сперва у злоумышленника ничего не получалось, но вскоре ему улыбнулась удача. Наш герой нашел бажную процедуру, которая позволяла интерпретировать значения системных переменных. Скажем, захочется хакеру вставить в CGI-поток переменную data (она является системной), и результат будет роковым – изменится значение $data, что приведет к ошибке при открытии конфига. Это в лучшем случае :). В худшем хакер просто войдет в admin-зону форума без знания пароля. Я укажу два небольших запроса, выполнив которые хакер оказался в админке форума.

http://www.host.com/cgi-bin/wtb/data?fid=root;;root;;a;;&oper=admininterface&login=root&pass=root&data=/tmp

http://www.host.com/cgi-bin/wtb/data?fid=root;;root;;a;;&oper=admininterface&login=bdadmfid=root&pass=root&wtbadmin=../../../../../../../../../../../../tmp/wtwrong.txt.

Налицо обычная подмена, в результате которой будет создан журнал /tmp/wtwrong.txt. Обращение к нему повлечет за собой считывание информации из лога и доступу к админке.

Удостоверившись, что баг работает, хакер полез на google.com и отправил запрос wtboard. В ответ на поисковой реквест взломщик получил множество ссылок. Одна из них вела на страницу провайдера из Москвы. Это очень заинтересовало нашего героя, и вот он проник на страницу администрирования. Обратившись к разделу темплейт-кода, злоумышленник вбил SSI-запрос, выполняющий системную команду.

.

Но взломщика не интересовал файл с аккаунтами. Он закачал wget’ом простой perl-бэкдор и запустил. В результате на порту 37900 открылся шелл, стартующий /bin/sh в интерактивном режиме. Так сетевой партизан получил WWW-права. К сожалению, добиться рутовых привилегий оказалось непросто – ядро было пропатчено фиксом от grsecurity, а система практически не содержала уязвимых сервисов (оно и понятно: дистрибутив носил гордое имя SlackWare :)).

За абсолютные права хакер готов был пойти на любые извращения. Он решил попробовать один из методов локальной атаки, который заключается в поиске важных данных в системных логах. Сперва взломщик пропарсил /var/log/messages, однако ничего интересного он не обнаружил. Не думай, что наш герой надеялся увидеть там пароли в чистом виде. Он пролистал messages, чтобы найти информацию о каких-нибудь интересных демонах. Последние любят писать аккаунты в свои журналы. К сожалению, поиск не увенчался успехом, поэтому взломщик перешел в каталог /usr/www/logs и открыл редактором документ access_log. Дело в том, что на провайдерском сервере крутился биллинг, позволяющий просмотреть состояние счета. Все бы ничего, да вот только соединение инициировалось по небезопасному протоколу, а в качестве метода передачи использовался GET. Все условия для отлова паролей. Кстати, обычные пользователи в биллинг не пускались – скрипт анализировал IP-адрес, а лишь затем принимал решение о допуске, но даже это не мешало паролям храниться в текстовом журнале. Так хакер обнаружил пароль от логина alpha. Этот юзер являлся системным и имел рабочий шелл. Хакер предпочитал шпионить в консоли под полноценным аккаунтом, а не под web-правами, поэтому быстро залогинился под alpha. Теперь он мог полноценно передвигаться по домашней директории юзера. В каталоге не было интересных файлов, кроме лога .bash_history. Взломщик всегда проверял его содержимое, надеясь набрести на интересные команды. Он поспешно открыл журнал редактором оболочки mc и стал исследовать лог. В журнале действительно было много интересной информации. Хакер быстро понял, что alpha следит за WWW-ресурсами, так как вся его работа проводилась в каталоге /usr/www. Помимо этого, работник знал пароль от суперпользователя, посему активно юзал команду su. А зря. Иногда alpha ошибался в команде, а затем «сорил» паролем в консоль. Теперь взломщику ничего не мешало поиметь законные рутовые права. Ведь он подсмотрел пароль, а также имел нулевой gid. Последний позволял переключить права с помощью /bin/su.

Одним зарутанным провайдером стало больше :). Все из-за того, что админ вовремя не настроил фаервол. Фаервол отпугивает хакера: если бы alpha следил еще и за ним, то взломщик вряд ли смог порутать WWW-сервер. Хотя кто знает, ведь существует много способов обхода даже самых навороченных фаерволов…



Время для игр, или Взлом www.nikita.ru | Спецвыпуск журнала «Хакер» #47, октябрь 2004 г. | Вторжение к буржуйским студентам