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

Сквозь огненную стену

Докучаев Дмитрий aka Forb

Спецвыпуск: Хакер, номер #048, стр. 048-040-1


(forb@real.xakep.ru)

Методы обхода межсетевых экранов

Малограмотного хакера всегда останавливает фаервол. Если такой взломщик нашел неприкрытую брешь в WWW-сервере, но затем обнаружил, что в системе установлен брандмауэр, то он отступает. Так как не знает, что существует масса способов удаленного обхода и выключения сетевого экрана.

Типичная ошибка админа: установив фаервол, он забывает о возможной опасности. Он думает, что брандмауэр защитит его систему от вторжений на 100%. Но ты-то так не думаешь, правда :)? Использовав всего одну роковую ошибку на публичном сервисе, взлощик может внедриться в систему и слегка порулить ей. Если же присутствие фаервола его раздражает, ничто не помешает вообще вырубить его. Ибо нефиг порты закрывать :).

План А: лазейки через WWW

Самый популярный способ обхода межсетевых экранов – использование web-шелла. Этот прием активно используется среди *nix-хакеров и быстро перекочевал к форточным взломщикам. Суть в следующем. Злоумышленник находит баг, позволяющий выполнять команду. Часто это уязвимый скрипт, плохо переваривающий параметры, реже – самопальный движок, установленный криворуким администратором, или фатальный баг в самом IIS (или портированном Apache).

После успешной эксплуатации аттакующий получает право выполнить любую команду с полномочиями web-сервера. Но, как правило, для полного удовлетворения этого недостаточно – взломщик желает поднять привилегии до максимума, залить файл, скачать ценную БД. К сожалению, запустить троянец или обычный бэкдор нереально – в системе установлен фаервол, фильтрующий все порты, кроме системных. Такой расклад встречается очень часто. Обычно неграмотному взломщику лень искать управу на брандмауэр, поэтому он останавливается на WWW-бреши и переходит к поиску новой жертвы.

Для обхода жестких фильтрующих правил поднимаются права прямо через WWW. Для этого придется воспользоваться каким-нибудь проектом, который поддерживает выполнение команд, заливку и скачивание файлов прямо через браузер. Долго искать не придется, самый лучший скрипт - cgi-telnet.cgi. Он выполнен в виде одного файла, поддерживает все необходимые функции, а также снабжен механизмом аутентификации. Словом, лучший выбор хакера. Изначально cgi-telnet поддерживал только *nix-сервера, но впоследствии разработчики адаптировали сценарий и для виндовых web-серверов.

Заливаем, запускаем

Прежде чем выбрать этот способ обхода, нужно убедиться, что на виндовой машине установлен Perl-интерпретатор. Чтобы проверить это, надо поискать на сервере сценарии с расширением .pl или .cgi. Если хотя бы один скрипт существует – интерпретатор работает как надо.

Теперь надо слить сценарий с www.rohitab.com/cgiscripts/cgitelnet.zip на свой компьютер, открыть его в любом редакторе и подготовиться к конфигурированию cgi-telnet. В первую очередь, нужно установить сложный пароль путем изменения переменной $Password. Затем пересвети скрипт в виндовый режим работы ($Winnt = 1). И, наконец, увеличить тайм-аут, если планируется выполнение длительных операций: бэкап базы, перенос каталогов, форматирование диска ;) и т.п.

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