Тотальный дестрой “Дома 2” GreenwooD Хакер, номер #076, стр. 076-068-5 Для начала я выполнил команду who, что бы узнать, какие пользователи находятся в системе и не особенно палиться. Активных сессий не было, более того, команда last –n 10 сообщила, что пользователь root был на сервере пару дней назад. Я посмотрел при помощи ps, какие крутятся процессы, заценил файл /etc/syslog.conf и узнал из него, что все логи хранятся локально. В активных процессах не было обнаружено никаких хитрых IDS и прочего отстоя, а значит, можно было спокойно продолжать атаку. Я набрал команду locate httpd.conf, на что система предложила довольно большой список различный путей, которые содержали слово httpd.conf. Откинув все man’ы и неправдоподобные файлы, я получил список из трех потенциальных мест нахождения конфига: /home/alt/httpd.conf /usr/local/apache/conf/httpd.conf /usr/local/etc/apache/httpd.conf Я просмотрел все три и только в самом последнем узнал изучаемый сервер: там были описаны все виртуальные хосты. Так же из директивы DocumentRoot этого файла я узнал все корневые директории сайтов /data/www/livetnt, /data/www/tnt-tv, /data/www/tnt-format и /data/www/dom2. Немного осмотревшись в системе, я решил пропатчить форум phpBB, чтобы какой-нибудь вандал не наделал ерунды. Любой администратор может попасть в подобную ситуацию и я решил выручить своего коллегу. Моих прав для записи в файл viewtopic.php не хватало, а мне нужно было модифицировать этот сценарий. Стало необходимо поднять права в системе. Эксплойтов под эту версию фряхи мне не попадалось, suid бит был установлен только на стандартных файлах. Так как на сайте был установлен форум, то, следовательно, в его конфиге должны находится реквизиты для доступа к базе данных. Заодно так же нужно проверить сервер на предмет других конфигов. Что бы найти необходимые файлы я выполнил команду find / -type f –name config.php и через некоторое время получил один файл - конфиг к форуму. Набрав find / -type f –name config.inc.php, я нашел еще два файла /data/www/dom2/admin-db/config.inc.php и /data/www/phpmyadmin/config.inc.php. Их названия говорят сами за себя, а содержимое чрезвычайно обрадовало меня: я нашел конфиг phpmyadmin с указанным рутовым паролем от базы! Исследование базы данных Итак, я в базе данных. Информации не особо много, но сразу в глаза бросается база с названием proftpd. Это уже интересней, т.к. у ProFTPD есть возможность в качестве хранилища учетных записей использовать базу данных. Пароли в базе ProFTPD, хранятся в хешированном виде, но кто мешает добавить своего пользователя и наделить его максимальными правами? Конечно, под рутом в систему не зайдешь, так как вход этому пользователю заблокирован в файле /etc/ftpusers, однако меня это не очень расстраивало. Набрав команду cat /usr/local/proftpd/etc/proftpd.conf, я убедился в том, что ftp-сервер хранил все пользовательские пароли в базе данных. Тут же я нахожу другой пароль – нужно же демону как-то подключаться к БД. В proftpd было всего две таблицы: groups и users. В первой не содержалось ничего, а во второй были учетные записи. Брутить хеши не хотелось, я решил оставить это на случай неудачи. Теперь мне стало необходимо добавить нового пользователя в таблицу users базы данных proftpd. PhpMyAdmin, который был установлен на хостинге, почему-то не открывался. Можно было конечно написать свой скриптик для добавления пользователя в базу данных, но я решил просто поставить еще одну копию PhpMyAdmin. |