Крис Касперски: разговоры о дефейсах

Xakep, номер #047, стр. 047-066-1


TanaT (TanaT@hotmail.ru)

Дефейс - штука непростая. Вот мы и решили обратиться к одну из опытных хакеров - Крису Касперски - с просьбой поделиться опытом. На что он любезно согласился :).

Т: Крис, ты когда-нибудь дефейсил что-нибудь?

К: Разумеется, но всегда с письменного соглашения владельца ресурса в плане тестирования сервера (локальной сети) на уязвимость.

Т: А сколько дефейсов было?

К: Наверное, где-то порядка 50-70.

Т: Опиши, какие сайты ты дефейсил.

К: Я бы с удовольствием, но мои клиенты особо тщательно оговаривают пункт о неразглашении. Кому же, действительно, будет приятно, если начнут говорить о его дырках?

Т: А самый запомнившийся дефейс?

К: На одном весьма крупном ресурсе оказалась совершенно глупая дыра - этот платный сайт был проиндексирован поисковиком "Гугол". И вместо того, чтобы платить свои кровные, можно было читать все документы, сохраненные в гугловом кэше. И самое интересное, что в его кэше оказалась ссылка к "секретной" страничке, предназначенной для администрирования сайта (и редактирования в том числе). Пароля не требовалось - ссылка сама была "паролем". На это, во всяком случае, надеялись его разработчики.

Другой случай: однажды на спор сподобили меня подломать сервер наподобие www.nasa.gov. Ну, какие проблемы? ;) Спускаем на товарищей (не nasa, естественно, а на тех, кто со мной спорил) лавину ложных DNS пакетов, в которых якобы содержится адрес http://www.nasa.gov, а на самом деле - http://www.drbizar.com, и когда товарищи набили в браузере www.nasa.gov, они попали на сайт причинного воздержания, после чего встали натуральными лыжами и выпали в осадок.

Т: Можешь объяснить поподробнее? :)

К: Подробнее. Когда ты лезешь на какой-нибудь сайт, твой браузер посылает набранный адрес DNS серверу, который сообщает браузеру IP-адрес этого сайта (сам браузер IP-адреса не знает). Причем, технически вполне возможно подделать ответ DNS сервера и сообщить фальшивый IP-адрес, т.е. адрес не этого, а совсем другого сайта. Атакуется не сам сайт, а непосредственно тот, кто на него входит. Да и то - не атакуется, а просто направляется (незаметно для него) по другому пути.

А запомнилось это мне потому, что товарищи, с которыми я едва ли не с детских лет дружил, живо настучали на меня в милицию. Конечно, в милиции над ними только посмеялись, но все-таки факт - на дружбе с той поры наступил хак.

Т: Где чаще всего лежит уязвимость, через которую можно поиметь сервер?

К: Примерно 2/3 приходится на ошибки переполнения буфера или так называемый "срыв стека". Практически 99% всех серверных приложений имеют дыру подобного рода. Для поиска ошибок по минимуму не нужно ничего, кроме терпения. Можно даже не знать Си - достаточно методично перебирать строки различной длины и смотреть на реакцию системы. Правда, для гарантированной атаки свободное владение ассемблером и умение держать отладчик в руках - обязательно.

Т: Есть мнение, что знание Perl помогает находить тысячи уязвимостей в разных системах безопасности. А ты говоришь, что нужно только терпение. Как так?

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

Содержание  Вперед на стр. 047-066-2