|
Статьи Программирование Delphi
Обход брандмауэра Windows XP SP2
Автор: Blacksus
Внимание! Данная статья никак не направлена на побуждение деструктивных действий, а лишь демонстрирует незащищенность встроенного брандмауэра операционной системы Windows XP.
В этой статье будет описана попытка провести программу через встроенный брандмауэр, путем самокопирования. Сразу оговорюсь, что программа запускается с правами администратора. На конкретном примере вы увидите, как небольшое манипулирование реестром системы поможет не только прописать программу в исключения, но и отключить брандмауэр, и дальнейшее оповещение пользователя о попытках программ выйти в интернет.
Итак, весь код нашего примера будет написан на языке Delphi, но это не принципиально, его можно легко переделать на любой другой язык программирования.
Начнем с процедур, которые понадобятся в основном коде.
Процедура сохранения ключа, типа DWORD, в реестр:
Процедура сохранения строки в реестр:
Процедура проверки существования ключа в реестре:
Далее идет код процедуры обхода брандмауэра:
Здесь представлен не весь код программы, а его основа, но этого хватит, чтобы понять сам механизм обхода.
Теперь начнем разбор по шагам. Сначала программа с помощью ключей реестра отключает оповещение пользователя и брандмауэр. При этом брандмауэр среагирует, и на рабочем столе пользователя появится окошечко с вопросом о блокировании программы. Допустим, пользователь умный, и нажмет кнопку «Блокировать». Конечно, сама программа после этого доступ в интернет не получит, но, далее идет процедура WindowsCopyFile которая скопирует программу в папку Windows. Затем идет прописывание этой копии в исключения брандмауэра, тоже через реестр. И завершающий этап, прописывание копии в автозапуск.
После всего этого мы получим систему с отключенным брандмауэром, отключенным оповещением, и программой, которая может выходить в сеть, даже если брандмауэр включен.
|