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

Полоса препятствий

Крис Касперски

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


Наиболее мощной и в то же время универсальной техникой обхода брандмауэров остается "троянизация" доверенных приложений. На каждом компьютере установлены программы, которым разрешен беспрепятственный выход в Сеть. Брандмауэры первого поколения ориентировались только на имя исполняемого файла, но никак не проверяли его содержимое. Хакеру было достаточно временно переименовать доверенный файл, подменив его своим. И это работало! Современные брандмауэры не только следят за целостностью доверенных приложений, но и распознают подмену используемых динамических библиотек или модификацию компонентов. Лобовая атака захлебывается, еще даже не начавшись.

В то же время ни один брандмауэр не контролирует образ загруженного приложения в памяти, что, собственного говоря, и неудивительно, поскольку многие процессы динамически расшифровываются на лету или создают/удаляют потоки для служебной необходимости. Поразительно, но даже такие наивные способы внедрения собственного кода, как CreateRemoteThread или WriteProcessMemory, обходят все известные брандмауэры и ни один из них даже не порывается пикнуть, хотя отследить вызовы CreateRemoteThread/WriteProcessMemory вполне реально. Готовых примеров хватает в Сети, вот только один из них: www.firewallleaktester.com/leaks/copycat.exe.

Другой невероятно тупой, но вместе с тем элегантный способ обхода, обманывающий все известные брандмауэры: достаточно набрать в командой строке "explorer.exe http://kpnc.opennet.ru" (естественно, http-адрес может быть любым), чтобы выйти в Сеть без запроса со стороны брандмауэра. Указав адрес свой домашней странички, атакующий сможет передать любые данные в строке запроса. Впрочем, эксперименты с SPF показали, что обход брандмауэра не такой уж и полный. И если напротив IE стоит не "Ask" (спрашивать), а "Block" (блокировать), то атакующий обламывается. Но и работа самого IE становится невозможной, так что в целом испытания данного вида оружия можно считать состоявшимися.

Утилита, реализующая такую атаку, зовется WallBreaker (Разрушитель Стен). Когда-то она распространялась в исходных кодах, а теперь на сервере лежит только двоичный файл: www.firewallleaktester.com/leaks/WallBreaker.exe. Как пишет сам автор, "исходные коды моего тестера брандмауэров теперь недоступны, чтобы не помогать пионерам и вирусописателям. Тем не менее, я пошлю свою сырцы любому разработчику брандмауэров, который только захочет...". Но для анализа программы сырцы совсем не обязательны, достаточно просто запустить Файловый Монитор Марка Руссиновича, как тут же обнаруживается, что программа создает командный файл со случайным названием и сразу удаляет его. Остается либо залезть в таблицу импорта и заменить DeleteFileA на что-то более невинное, либо запустить GetDataback или R-Studio, возвращая удаленный файл из мира мертвых в мир живых. Что мы увидим?

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