Фаервол тебя не спасет Крис Касперски, ака мыщъх Хакер, номер #094, стр. 094-042-5 Очень многие ставят персональный брандмауэр на одиночный компьютер только затем, чтобы следить за активностью приложений, ломящихся в сеть. И если вдруг наша хакерская программа (не являющаяся ни IE, ни FireFox'ом) вдруг постучится в 80-й порт, то брандмауэр тут же поднимет тревогу. Как, мол, это так! Многие хакеры пытаются внедриться в адресное пространство доверенных приложений (того же FireFox, например) посредством API-функций CreateRemoreThread()/WriteProcessMemory(), но брандмауэры за этим зорко следят. Модификация файла на диске также не дает ожидаемых результатов, поскольку брандмауэр проверяет контрольную сумму при его запуске. Правда, тут есть одна небольшая лазейка. Известная ветка реестра AppInit_DLLs: все DLL, перечисленные в ней, проецируются на адресные пространства каждого запускаемого процесса со всеми вытекающими отсюда последствиями. Однако все больше и больше брандмауэров начинает контролировать AppInit_DLLs, сообщая о появлении в ней новых элементов, а то и вовсе автоматически удаляет их, так что этот прием уже уходит в небытие. А вот что по-прежнему остается актуальным, так это изменение настроек браузера, которые хранятся в совершенно бесхозном и никем не сохраняемом виде. Взять хотя бы FireFox. Адрес Proxy-сервера хранится в файле \Documents and Settings\kris kaspersky\Application\ Data\Mozilla\Firefox\Profiles\4uszwife.default\prefs.js, в строке «user_pref("network.proxy.http", "80.75.2.146");», которую никакой брандмауэр не проверяет. Если подставить сюда адрес нашего узла (естественно, для этого необходимо иметь статический IP, или динамический IP, повешенный на динамический DNS), то мы сможем грабить весь трафик или даже подсовывать жертве левый контент, а брандмауэр даже и не пикнет! Кстати говоря, тот же FireFox большей частью написан на Java, целостность которой брандмауэры контролировать еще не научились, ограничиваясь проверкой кодовой секции, а это значит, что мы можем модифицировать FireFox по своему усмотрению, не рискуя, что брандмауэр застанет нас врасплох. Ну, а если все-таки застанет и выкинет вот такое противное окно, как показано на рисунке? Что мы будем делать тогда?! А вот тогда мы используем старый, как дуб, но все еще работающий трюк с эмуляцией клавиатурного/мышиного ввода. Попросту говоря, отследим появление окна брандмауэра с надписью «SyGate Personal Firewall» (что можно сделать с помощью API-функции FindWindow), перечисляем дочерние элементы управления через EnumWindows и жмем на кнопку «yes». |