Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #79, ИЮЛЬ 2005 г.

Университетский хак

Александр Любимов aka Sashiks

Хакер, номер #079, стр. 079-050-4


[миссия невыполнима]

Надо было как-то спасти ситуацию. Нужна была хоть какая-то зацепка. Я выполнил cat /etc/passwd|grep bash и увидел, что юзеров с bash-оболочкой было только двое, не считая root'а. Вообще-то в passwd было много пользователей, но у большинства у них был только ftp-доступ к машине. Я присмотрелся к их директориям, которые по большей части находились в /var/www/vhosts. В каталоге было множество сайтов (именно те самые страницы кафедр, что располагались на главной странице университета), и среди них была очень интересная папка logs. В ней жило нереальное количество апачевских логов по всем хостящимся на машине сайтам. Перебирать их все вручную — самоубийство, поэтому я за две минуты написал вот такой вот скрипт:

[скрипт-парсер логов]

#!/usr/bin/perl

$dir="/var/www/vhosts/logs";

opendir(DIR,$dir);

@a= readdir DIR;

foreach(@a){

print "Viewing $_ ... \n";

system("cat $dir/$_ |grep pass >>/tmp/grepped.txt");

}

print "Done \n";

Он считывает все файлы из папки с логами, парсит каждый на наличие строки «pass». Рекомендую прибегать к его услугам, когда требуется пересмотреть множество лог-файлов на наличие нужной строки и при этом не потерять время и рассудок :). Все «грепанутые» строки сохранялись в файл grepped.txt в темпе. «Собственно, почему ты решил просматривать апачевские журналы?» — спросишь ты. А все потому, что в журналах есть очень много интересных записей httpd-демона. Вот смотри: ты обращаешься к серверу www.sobakoff.net/pots.php и думаешь, что останешься безнаказанным :). Не тут-то было. В этот момент на стороне сервера все запросы сохраняются в файл (обычно access.log). Таким же образом, если во время выполнения запроса произошла ошибка (например: pots.php — нет такого файла на сервере!), то результат аналогичным образом старательно записывается в error.log. Вот так в лог-файлы могут попадать различные интересные записи, например пароли от админок или другая ценная для нас информация. Поэтому одной из важных задач при проникновении на сервер является просмотр журналов http-демона. Итак, я запустил парсер логов и тупо втыкал в экран, по которому быстро побежали строчки, свидетельствовавшие о том, что проходит проверка журналов. Судя по размеру grepped.txt, ночь предстояла долгая и, без сомнений, веселая :).

[победа за нами]

Утро следующего дня. Я просмотрел по диагонали два лог-файла общим размером в 8 Мб и узнал о сервере очень много интересных подробностей, но, к сожалению, рутового пароля среди полученных не оказалось. Я пробовал парсить конфиги с другими параметрами, но так ничего ценного и не выудил ;(. Выход напрашивался один: нужно запустить брутфорсер и натравить его на ftp-сервер, чтобы поднять полноценный акк на сервере. Я закачал на сервант гидру, записал валидные учетные записи, загрузил несколько больших словарей и запустил подбор аккаунтов для локального FTP. Это довольно бронебойный прием: скорость локального брута достигает огромных значений. Стоит ли говорить, что я доковырял сервер довольно быстро :).

Назад на стр. 079-050-3  Содержание  Вперед на стр. 079-050-5