Фаервол тебя не спасет Крис Касперски, ака мыщъх Хакер, номер #094, стр. 094-042-2 Из внешней сети во внутреннюю через брандмауэр Вот компьютер, который мы хотим атаковать, но снаружи его находится неприступная стена брандмауэра. В ней есть порт, но он наглухо закрыт. Какие будут идеи по поводу того, как его пробить? Тут уместно сделать маленькое лирическое отступление, поскольку подавляющее большинство пользователей понятия не имеют, что такое брандмауэр и зачем он вообще нужен! Вообразим себе домашнюю (или корпоративную) сеть с приватными ресурсами, ведь это очень утомительно каждый раз вводить пароль при доступе к файловому хранилищу, реализованному через Microsoft Shared или ftp, или такой прозаичной вещью, как HTTP-Proxy сервер. Чтобы не покупать для каждой машины свой IP, администратор назначает всем машинам внутрисетевые IP. Реальный IP получает только одна машина, на ней же устанавливается Proxy-сервер, через который ходят все остальные. Слово «все» в данном случае следует понимать буквально. Любой хакер, обнаруживший путем сканирования работающий Proxy может использовать его в своих целях. А за трафик будет платить владелец атакованной машины. Оно ему надо? Вот тут-то брандмауэр и выручает, закрывающий Proxy-порт для всех нелокальных узлов (ну, при желании можно добавить несколько адресов удаленных партнерских фирм). То же самое и с ftp. Внутри сети с ним можно общаться беспрепятственно, но вот все внешние подключения будут безжалостно отсечены брандмауэром! Отсюда вывод: если у тебя нет ни Proxy, ни ftp, и ты не используешь разделяемые ресурсы, не защищенные паролем, — нафига тебе вообще нужен брандмауэр?! Разве, чтобы почувствовать себя крутым и продвинутым парнем. А то уже некоторые без брандмауэра в сеть вообще выходить бояться. Другой вопрос, что коварная Windows, в отличие от демократично настроенной LINUX, открывает для своих нужд кучу никому не нужных портов, которые не так-то просто отключить и которые содержат уязвимости. Достаточно вспомнить червя MSBlast, распространяющегося через дыру в сервисе DCOM, висящем на 135 порту и реально полезным только в корпоративных сетях, разделенных на домены. Взять, к примеру, список портов, открытых на моем компьютере (смотри скриншот). Для того чтобы узнать, какие порты открыты, достаточно вызвать штатную утилиту netstat.exe, передав ей в командной строке ключ «-a». Бесплатная утилита TCPView от Марка Руссиновича (www.sysinternals.com/Utilities/TcpView.html), кстати говоря, распространяемая в исходных кодах, покажет больше информации (в частности, сообщит, какой процесс пользует тот или иной порт), а также поможет закрыть любое соединение, кроме системных. Такие порты приходится закрывать уже на брандмауэре, или постоянно устанавливать свежие заплатки, латая систему путем затыкания дыр (но это не лучшее решение, поскольку о многих дырах Microsoft узнает в последнюю очередь). Для более детального анализа трафика можно использовать снифер, который встроен практически в каждый профессиональный брандмауэр, или утилиту TDIMon все от того же Марка Руссиновича (www.sysinternals.com/Utilities/TdiMon.html), которая покажет трафик, проходящий через TDI-драйвер — один из наиболее низкоуровневых сетевых драйверов. |