Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #45, АВГУСТ 2004 г.

Инструменты мастера

Фридрих Бывалый

Спецвыпуск Xakep, номер #045, стр. 045-078-4


GCC

http://gcc.gnu.org

Под никсами нас ждет увлекательное погружение в мир GNU и общение с живыми представителями вида opensource. Надо попробовать натравить какую-нибудь программу для поиска переполнений в исходниках на gnu c compiler; думаю, будет много смеха.

Если в сети вдруг выкладываются сырцы какого-нибудь эксплоита, то они почти наверняка будут для GCC (как исключение – проект для VS). Главный плюс этого компилятора в том, что он есть на любой тачке с установленной *nix-системой и даже на некоторых тачках с Windows. Я, кстати, для компиляции никсовых эксплоитов в форточках использую GCC из cygwin’а, и вам советую.

Вдогонку

Помимо всех вышеперечисленных мной инструментов может пригодиться также hex-редактор. Наплодилось их сейчас великое множество. Кто-то предпочитает HIEW, Крис Касперски пользуется QVIEW, а я вот HEX Workshop юзаю и ни в чем себе не отказываю. Друг от друга эти редакторы отличаются не сильно, поэтому выбирай любой – не прогадаешь.

Используй тот софт, который тебе нравится. Пробуй, ставь, удаляй и остановись на том, который окажется для тебя самым удобным. Весь софт, описанный в статье, ты сможешь найти на диске, который прилагается к журналу

Засим кланяюсь, удачных тебе переполнений!

Если нет ассемблера под рукой

Не всегда есть возможность писать shell-код самому, да ещё и с нуля. Ведь это требует не только хорошей теоретической подготовки, но и массы времени (на идею, отладку etc). Компилятор ассемблера со всеми библиотеками постоянно под рукой не у каждого.

Как раз для таких случаев и существует очень интересная утилита – win32 shellcode constructor, написанная известным русским вирмейкером z0mbie. Это уникальный конструктор shell-кодов, позволяющий сделать буквально любой нужный тебе код, просто выставляя галочки в менюшке слева и следя за тем, что выходит справа. Он позволит использовать любой на выбор метод соединения: захочешь – откроет обыкновенный shell, а захочешь – устроит back-connect (то есть сам будет пытаться коннектиться по заданному адресу). Также в нем реализованы все современные вирмэйкерские фишки, например, поиск API-функций по хэшу, а не по имени (хэш удобнее, потому что занимает всего 4 байта и помещается в любой регистр), использование собственного SEH-обработчика или сжатие кода upx-подобным методом. Результат представится в виде asm-, си- и машинного кода, и ты сразу же сможешь его испытать.

Я с большим удовольствием поиграл с этой программой и понял, что она может не только служить хорошим инструментом для создания shell-кодов, но и быть отличным пособием для новичка, так как все генерируемые ею asm-листинги сопровождаются подробными комментариями.

Скачать конструктор можно с z0mbie.host.sk.

Сейчас Soft-Ice продается в составе Numega Driver Studio за кругленькую сумму.

В WDASM имеется встроенный отладчик уровня приложения, который хоть и не может составить конкуренцию таким монстрам, как Soft-Ice или Kernel Debugger, но иногда бывает полезен.

Назад на стр. 045-078-3  Содержание  Вперед на стр. 045-078-5