Раздел: Документация
0 ... 52 53 54 55 56 57 58 ... 102 ..гаметпов. Однако такое решение приемлемо лишь в том случае, если все альные аргументы никогда не обращаются в ноль, а это условие выполнимо "еко ие ьсегда. Существует и другой вариант — вручную подсчитывать чис-аргУме,ТоВ и чеРез социальный параметр передавать их функции. Но это Уником утомительно, да и ненадежно. •piKiiM образом, на языке Си принципиально невозможно создание функций с переменным количеством аргументов, которые бы корректно работали во всех Счучаях, независимо от значений переданных им параметров. Поэтому все необходимые проверки должны быть выполнены до вызова таких функций, иначе поведение приложений может оказаться нестабильным и потенциально уязвимым. ЧТО ЧИТАТЬ UNIX Assembly Codes Development for Vulnerabilities Illustration Purposes Великолепное руководство но написанию shell-кодов для различных клонов UNIX с большим количеством примеров, работающих практически на всех современных процессорах, а не только на х86. http://opensores.thebunker.net/pub/mirrors/blackhat/presentations/bh-usa-01/LSD/bh-usa-01-lsd.pdf Win32 Assembly Components Еще одно великолепное руководство но написанию shell-кодов, на этот раз ориентированное на семейство NT/x86. http://www.lsd-pl.net/documents/winasm-1.0.1.pdf Win32 One-Way Shallcode А это... прямо не знаю, как и сказать... это просто супер! Богатейший кладезь информации, охватывающий все аспекты жизнедеятельности червей, обитающих в среде NT/x86, да и не только их... http://www.blackhat.com/presentations/bh-asia-03/bh-asia-03-chong.pdf SPARC Buer Overows Конспект лекций по технике переполнения буферов на SPARCax под UNIX. http://www.dopesquad.net/security/defcon-2000.pdf Writing MIPS/IRIX shellcode Руководство но написанию shell-кодов для MIPS/IRIX. http://teso.scene.at/artides/mipsshellcode/mipsshellcode.pdf ПОБЕГ ЧЕРЕЗ БРАНДМАУЗЕР ПЛЮС ТЕРМИНАЛИЗАЦИЯ ВСЕЙ NT, к концу которой выясняется, что брандмаузер не такая уж и надежная штука ...в этой главе рассматриваются различные методики обхода брандмаузеров с целью организации на атакуемом компьютере удаленного терминального shella, работающего под операционными системами UNIX и Windows Эх/N1-Здесь вы найдете передовые хакерские методики, свободно проникающие через любой, абсолютно любой брандмаузер, независимо от его архитектуры степени защищенности и конфигурации, а также свободно распространяемый пакет демонстрационных утилит, предназначенный для тестирования вашего брандмаузера на предмет его защищенности (или же отсутствие таковой)- Первый этап работы иад составлением программ шумиха. Второй — неразбериха. Третий — поиски виноватых. Четвертый — наказание невиновных. Пятый — награждение непричастных. Из фольклора программ Проникнув на уязвимый компьютер, голова червя должна установить TCP/ (или UDP) соединение с исходным узлом и подтянуть свое основное тело (та" дожет и чего не может брандмаузер 175 же называемое «хвостом»). Аналогичной методики придерживаются и хакеры, засЫлаЮШ"е на атаусмый комныотсрдиверсионный эксплоит, срывающий стек „ устанавливающий удаленный терминальный shell, взаимодействующий с узлом атакующего посредством того же самого TCP/IP, и в этом контексте между червями и хакерами нет никакой принципиальной разницы (нередко установка backdoora с помощью червей и осуществляется). На пути червя может оказаться недружелюбно настроенный брандмаузер (он же брандмауэр, он же firewall). Ну, знаете, это такая штука, призванная отсекать всяких идиотов, отравляющих нормальным пользователям жизнь. Бранд-маузеры сейчас в моде и без них не обходится практически ни одна уважающая себя корпоративная сеть. Да что там сеть — они и на домашних компьютерах уже не редкость. Между тем слухи о могуществе брандмаузеров очень сильно преувеличены и в борьбе с червями они до ужаса неэффективны. Хотите узнать почему? Тогда читайте эту главу до конца! ЧТО МОЖЕТ И ЧЕГО НЕ МОЖЕТ БРАНДМАУЗЕР Брандмаузер может наглухо закрыть любой порт, выборочно или полностью блокируя как входящие, так и исходящие соединения, однако этот порт не мо-жетбыть портом действительно нужной публичной службы, от которой нельзя отказаться. Если вы имеете собственный почтовый сервер, в обязательном порядке должен быть открыт 25-й SMTP порт (а иначе как прикажете корреспонденцию получать?). Соответственно, наличие публичного web-сервера предполагает возможность подключения к 80-норту из «внешнего мира». Допустим, что одна или несколько таких служб содержат уязвимости, допускавшие возможность переполнения буфера со всеми вытекающими отсюда последствиями (захват управления, несанкционированная авторизация и т. Д.). Тогда никакой, даже самый продвинутый, брандмаузер не сможет предотвратить вторжение, поскольку пакеты с диверсионным shell-кодом на сетевом уров-Не неотличимы от пакетов с легальными данными. Исключение составляет поиск и отсечение головы вполне конкретного червя, сигнатура которого наперед Известна брандмаузеру. Однако наложение заплатки на уязвимый сервис будет "аМиого более эффективным средством борьбы (случай, когда червь опережает воиЛаТКУ МЫ Ие Рассматриваем, поскольку ни один червь, выловленный в жи-б "Рироде, такой оперативностью похвастаться не может). Кстати говоря, атаНдМаУзер и сам по себе представляет довольно соблазнительный объект для з и (некоторые из них содержат переполняющиеся буфера, допускающие ат Управления). Г]р Как бы там ни было, срыву буфера уязвимой службы брандмаузер никак не П0т ЯТсТвует. Единственное, что он может сделать — это свести количество 6у,Н11иальиых дыр к разумному минимуму, закрыв порты всех служб, не тре-Чер Х Доступа извне. В частности, червь Love San, распространяющийся Редко используемый 135-й порт, давно и небезуспешно отсекается 0 ... 52 53 54 55 56 57 58 ... 102
|