Раздел: Документация
0 ... 52 53 54 55 56 57 58 ... 169 название «Shell Code». Если программа, из которой происходит запуск shell проинсталлирована как sukl root, то получается root shell. Поиск программ с возможностью срыва стека Как было сказано выше, переполнения буфера происходят из-за помещения в него большего количества информации, чем предполагалось. Так как язык С не имеет каких-либо встроенных средств для проверки границ массивов данных, переполнения встречаются часто. Стандартная библиотека С предоставляет ряд функций для копирования и конкантенации строк, и эти функции не имеют проверок границ. Вот некоторые из этих функций: strcat(), strcpy(), sprintf() и vsprintf(). Эти функции используют строки, заканчивающиеся символом «\0», и не проверяют на переполнение при обработке принимаемой строки. gets() — это функция, которая считывает строку со стандартного ввода (stdin) в буфер до тех пор, пока не встретит символ новой строки или EOF. Эта функция не производит проверки на переполнение буфера. С семейством функций scanf() может возникнуть такая же ситуация, если в строке формата используется и принимающая строка недостаточно велика. Если принимающий массив какой-нибудь из этих функций представляет собой буфер постоянной длины и данные, его заполняющие, каким-либо образом зависят от ввода или другой информации, зависящей от пользователя, то скорее всего вы можете вызвать ситуацию переполнения буфера. Другая, часто использующаяся при программировании конструкция, это цикл посимвольного ввода из stdin или другого файла в буфер до тех пор, пока не будет встречен символ конца строки (EOL), конца файла (EOF) или другой разделитель. В такой конструкции обычно используются функции getc(), fgetc()ran getchar(). Если при этом нет проверок на переполнение, то в таком коде тоже легко можно вызвать переполнение буфера. Программа grep играет значительную роль в поиске таких слабых мест в программах. Исходные тексты свободно распространяемых операционных систем вполне доступны. И этот факт становится весьма интересным, учитывая то, что многие коммерческие операционные системы базируются на исходных текстах свободно распространяемых систем. В общем, изучайте исходные тексты UNIX! Ломаем FTP-сервер Оказывается, сломать FTP-узел гораздо легче, чем запихнуть медведя в консервную банку. Для этого используется обычный cgi скрипт, а вернее ошибка в нем, так называемый PHF BUG. С 1996 го- 167 да (а именно тогда был обнаружен баг) почти ни один FTP-узел не по-фиксил эту ошибку. Ну и хорошо... нам же лучше. Включаем IRC клиент и коннектимся к любому серверу. Но он нам нужен не для болтовни... Обычно самые протухшие и окаменевшие сисадмины водятся на-бо-ольшпх университетских серверах типа *. Так вот... мы берем и в командной строке нашего IRC клиента вводим /who *. edu, где * — это имя университета. Але-оп! И перед тобой милый списочек юзеров, юзающих этот университетский сервак. Дальше - больше... Выбираем кого-нибудь, например, юзера под именем Lama-Doma@lama-doma. lox. fuu. ganduras. edu:2. lama-doma-lox и пишем /dns Lama-Roma. Этим мы узнаем его IP, например, 123. 456. 789. 6. Дальше берем программу «Grinder» с ftp. technotronic. com. Она позволяет найти любой файл в заданном диапазоне IP-адресов. Так вот, после этой команды мы видим IP Lama-Dombi. Запускаем Грин-дера. Он предлагает нам найти index, htm, но нам он нужен, как холодильнику пепельница. Ищем /cgi. bin/phf. cgi в диапазоне от 123. 456. 789. О — 123. 456. 789. 256, то есть в диапазоне Айпи, в котором может оказаться наша жертва. Если Гриндер написал URL FOUND, тогда запоминаем Айпи, где был найден этот кусок cgi скрипта. Допустим, это 123. 456. 789. 3. И ТЕПЕРЬ БЕЖИМ к броузеру и пишем там http://123. 456. 789. 3/cgi-bin/phf?Qalias=%off/bin/ cat%20/etc/password И, как по мановению волшебной палочки, перед нами в окне браузера файл с паролями всех юзеров! Сохраняем его у себя на винте, а потом качаем любой взломщик Юниксовских паролей (самый классный — это John The Ripper, в любой поисковой машине миллион линков на него достанешь) и ломаем... И вот, берем вскрытые пассы и бежим на ftp сайт этого университета, и входим туда не под логином ANONIMUS, а под логином/паролем, достатым такими титаническими усилиями. Теперь нам доступны ВСЕ файлы, которые там есть, в том числе и защищенные... О том, для чего все это делается... Вечером 8 декабря 2001 года была взломана защита на одной из самых популярных справочных систем Yahoo. Хакеры пригрозили глобальными разрушениями компьютерных систем, если их требования не будут удовлетворены. При этом, возможно, только несколько тысяч людей в течение нескольких минут смогли видеть обращение хакеров. По заверениям Дианы Хант (Diane Hunt), представительницы 168 Yahoo, содержимое сервера поисковой машины было оставлено в неприкосновенности, да и компьютерные системы мира остались незатронутыми, по крайней мере, пока. Некто неизвестный вторгся в систему Yahoo около 7 вечера 8 декабря. «У нас имеется система мониторинга безопасности сайта, которая немедленно сообщила нам о случившимся», - сообщила Хант. Администраторы Yahoo незамедлительно приняли соответствующие меры, и уже в 7.15 страница была полностью восстановлена. Хант сказала, что никакие файлы не были разрушены и обращавшиеся извне компьютеры не подверглись поражению компьютерным вирусом, обе-щенному взломщиками. По соображениям безопасности, она не сообщила, каким образом защитный барьер Yahoo был прорван, но повторила, что всего несколько тысяч людей могли наблюдать это нападение. Большинство «жителей» Сети не могли видеть результаты хулиганских действий, потому что содержание текста, помещенного хакерами на заглавную страницу Yahoo, было доступно только для тех, кто использовал браузеры, которые не поддерживают фреймы. Те же, кто работал с браузерами Netscape 2.0, Internet Explorer 2.0 и более старшими их версиями, не могли видеть текст воззвания атаковавших. Лишь те, кто использовал для просмотра «Всемирной Паутины» очень старые браузеры Netscape или другие, типа Lynx, могли видеть посланное сообщение (в течение некоторого времени на прошлой неделе оно было доступно по URL http://www.clipper.net/~skully/yahoo/, но затем, сославшись на перегруженность сервера, доступ к нему закрыли). Сообщение гласит, что компьютер каждого, кто посетил Yahoo в течение предшествующего месяца (Yahoo сообщает, что сайт имеет около 26 миллионов обращений отдельных пользователей в месяц), был инфицирован «логической бомбой/червем». Подобный сценарий считается практически невозможным. Но многие из невозможных сценариев, типа вирусов, передаваемых по e-mail, в своих странствиях по Сети, случается, уничтожают большие компьютерные системы. Хакеры пообещали, что «бомба взорвется» на Рождество, сообщение гласит, что «значительный ущерб будет нанесен компьютерным сетям всей планеты». Затем, конечно, предлагается решение созданной ими проблемы: выпустите хакера Кевина Митника (Kevin Mitnick) из тюрьмы, и программа-антидот, «находящаяся на компьютере где-то в южном полушарии», будет выпущена. В заключение Диана Хант подчеркнула, что ни один из персональных компьютеров не был инфицирован, а сам вирус — просто трюк. Такое же мнение выразил и Рене Виссе (Rene Visser) — технический специалист антивирусного центра Symantec Corporation. Он сообщил, что данная проблема Yahoo была исследована, при этом вирус не был обнаружен. Информацию о заражении сервера он считает обманом. 169 0 ... 52 53 54 55 56 57 58 ... 169
|