Сидел я как-то вечером без дела, лазил по ГСИ (Глобальной Сети Интернет :), было скучно и нужно было чем-то заняться :). Не знаю каким образом, я оказался на сайте
www.drinkkosherwine.com,
я заметил, что на нем весит дырявый скрипт
Shopping cart, а именно shopper.cgi. Бага эта старая, связанная с плохой обработкой входных данных, то есть написав в окне броузера
www.bla.com/cgi-bin/shopper.cgi?newpage= ../../../../etc/passwd, мы
просмотрим содержимое файла passwd. Ну что, делать нечего, нужно что-то мутить …:).
Поехали
Не долго думая, я написал
http://www.drinkkosherwine.com/cgi-bin/ shopper.cgi?newpage=../../../../etc/passwd, после чего на моем экране отобразился файл пассов, конечно без них самих, они были помечены как “*” (то есть пассы были затемнены в
/etc/shadow, доступ к которому был для меня закрыт :).
Что делать дальше? Для начала я решил составить список всех юзверей взятых из
passwd файла и брутфорсом проверить, может у кого-то пасс совпадет с логином. Пока брутфорс занимался своим делом, я начал просматривать и изучать файлы на серваке.
Оказалось, что www.drinkkosherwine.com хостится на www.addy.com,
который предоставлял вебхостинг, судя по файлу
passwd, пользователей у него было прилично. Данный сервак стоял на “FreeBSD” не помню какой версии :(,
и имел доверенные хосты (чтобы просмотреть хосты, которые могут быть подмаутены к данной системе, можно просмотреть на самом серваке файл
/etc/export (NFS конфиг файл) или заюзать команду
showmount), что означало что у нас будет шанс спуффинга, но это я решил пока не делать.
Плоховато, что нельзя исполнять команды на серваке :((,
это нужно исправить :). Изучив код shopper.cgi, я понял, что если
newpage передать никс команду заключенную в “||” ,то она исполнится и результат ее выполнения мы увидим в окне броузера. Ок, вводим
www.drinkkosherwine.com/cgi-bin/shopper.cgi? newpage=|whoami|”, и видим, что мы никто :).
Ладно, это временный статус. Так как на сервере был установлен Перл, то я решил закинуть туды бекдор, написанный на нем. Закинув его в папку
/tmp под кодовым названием lynx.pl 🙂 и попытавшись запустить, я был послан далеко …. , так как сервер не разрешал открывать левые порты :(. Ну и правильно :).
Дальше - решил поискать файлы .netrc доступные на чтение всем, дело в том что этот файл юзают для быстрого доступа к какому-то определенному FTP – серверу, то есть в нем указывают сам FTP – сервер логин/пасс к нему. Но это закончилось неудачей :).
И как это назвать…
Я продолжал лазить по серваку в поисках какой-либо полезной для меня инфы :).
В /usr/apache я увидел интересную папку под названием
individual.passwords, которая хранила пароли всех юзверей (кроме рута) в зашифрованной форме :)). Быстро сохранив это дело, я запустил JTR. Пока он трудился, я пошел смотреть, что натворил мой брутфорсер, а он, к моему сожалению,
ничего и не натворил :). JTR удалось расшифровать следующие пассы:
Login:Passwd:сайт
arrownet:Vision1
abelshee:Wilhelm
gemvisin:Mexico
trigonox:123ABC
furnitur:Tommy1:http://furnitureraw.com
garyalan:Juniper1: http://www.garyalan.com
inters:Apple1: http://inters.com
cannons:Garden2
classic:Class1
edwards:Ironman1: www.edwardsornamental.com
meand:Joshua1
protsman:Ruthie1
robot:Russel1: http://tecknarstugan.com
shutters:Trent2: http://chesapeakebayshutters.com
то есть каждый из выше перечисленных пользователей имел свою страницу, с красивым доменом
:). Быстро залогинившись по телнету (23 порт воз опен), я полазил по серваку (уже в который раз) с комфортом :).
Времени оставалось мало :(, я проверил версию Перла, в надежде применить под дырявую версию эксплоит, но это не вышло, и я решил бросить эту затею. Шеллы у меня были классные, с поддержкой “gcc” компилятора :), так что установив там “bnc” сервер и
подефэйсив сайты, на выбор :)) я пошел спать.
End;
Вот вроде бы и все :), что я хотел рассказать, данные баги были рабочие при написании статьи, то есть ты можешь все это повторить. Пароли к аккаунтам тоже рабочие (пока что
:). Ну а выводы ты сделаешь я думаю сам.