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

СТЕК 2, ПЕРЕЗАГРУЗКА

Alex Shark

Спецвыпуск Xakep, номер #032, стр. 032-020-3


САМОДЕЛКИ

Ты нашел супер-пупер дырку. Или прочитал про нее в сети, но не нашел эксплоита. Значит, наступило время писать все самому. Разберем дырку с buffer overflow. Самое главное для нас - перезаписать адрес возврата и поместить его в начало (или середину) нашего кода, который мы передадим на машину. Как пишется сам шелл-код, здесь описывать нет смысла, так как каждая конкретная дырка требует особого подхода.

Скажу, что основных методов заюзать возможность переполнения буфера не так уж много. Для линуха проще всего организовать запуск шелла с перенаправлением ввода и вывода на удаленный комп. Для мастдая часто используют дозагрузку трояна из сети, поскольку для закачивания урлы достаточно одного вызова WinAPI. Пространства в эксплоите всегда не хватает, поэтому лучше сделать маленький эксплоит и дописать его спереди кодом 0x90, что есть nop и даст нам запас на промах мимо начала шелл-кода в 2-3 байта.

Что же произойдет, когда мы перезапишем адрес возврата? Функция, отработав, вместо того чтобы вернуться и материть нас, выполнит наш код, который мы ей передали внутри нашего длинного запроса.

ГДЕ ВЗЯТЬ ГОТОВОЕ?

Если ты не очень рубишь в ассемблере, а тебе просто позарез хочется попасть на чужую машинку, то можно попытаться поискать в сети что-нибудь, что сможет работать. Если скачанный из сети эксплоит не фурычит так, как надо, не удивляйся. В последнее время крайне редко попадается прога, которую не надо дописывать и в которой не надо менять что-нибудь перед компиляцией. Прежде всего тебе надо заставить ее скомпилиться. Не советую тебе доверять уже готовым бинарникам. Как правило, их компилят под определенные цели, а авторы эксплоитов редко выносят их настройки наружу кода. При выборе сайта лучше обрати внимание на паги хак-команд - там скорее появляются свежие программки, и они более работоспособны. Не удивляйся, что родной Касперский будет ругаться на все эксплоиты, - это не вирь внутри (что тоже не исключено), это, так сказать, срезание скрипт кидисов. Человек, который сам написал эксплоит или хотя бы понял, как он работает, и сам собрал его, будет уверен в том, что прога безопасна. Те же, для кого С лишь буква алфавита, а ассемблер - это ругательство, просто побоятся запускать эксплоит или "вылечат" его, после чего он потеряет все свои свойства.

ССЫЛКА

Очень неплохой сайт - www.ussrback.com. Там часто появляются вполне работоспособные экземпляры с исходниками. Пишут ребята, как правило, на ассемблере. www.securityfocus.com раньше был если не первым, то одним из лучших сайтов для поиска описаний и эксплоитов. В настоящий момент на нем легко найти описания свежих дырок и патчи, и уже в зависимости от того, что они меняют, можно написать эксплоит. Не забывай, разумеется, и про родную асталависту с пакет-штормом.

Назад на стр. 032-020-2  Содержание