Взгляд на систему "глазами" хакера
Как показывает опыт, после первого такого "взгляда" на свою сеть администратор начинает часто курить, допоздна что-то настраивает, скачивает всевозможные заплатки и постоянно бубнит ругательства в адрес одного американского джентльмена. Это без преувеличений, ведь "дырок" в программном обеспечении действительно очень много, и буквально с каждым днем обнаруживаются новые. Можно, конечно, находиться в счастливом неведении и не проверять свою систему, руководствуясь принципом: все работает, ну и ладно. Однако следует иметь в виду: если сканером безопасности не воспользуетесь вы, то за вас это сделает хакер.
Итак, в общих чертах, что же делает сканер:
- Ищет открытые порты и сообщает о величине риска (как мы убедились, некоторые порты держать открытыми особенно опасно).
- Проверяет наличие известных ему уязвимостей на исследуемом компьютере и выдает информацию об их устранении.
Обнаружение открытых портов - это ключевой механизм, на котором строится работа любого сканера безопасности. Поэтому на несколько секунд заострим свое внимание на этом механизме.
Как известно, процесс, получающий или отправляющий данные через Сеть, идентифицируется номером порта. Каждому системному процессу назначен порт по умолчанию, к примеру: для telnet это 23-й порт, для RPC - 135-й... Чтобы установить соединение с какой-либо сетевой службой, соответствующий ей порт должен быть открыт. В самом простом случае определить, закрыт порт или открыт, можно по следующему алгоритму:
- Формируется TCP-пакет с установленным флагом SYN (запрос соединения) и посылается на исследуемый порт компьютера, допустим, 23-й.
- Если порт, на который пришел запрос соединения, открыт, то компьютер посылает ответный пакет с установленным флагом ACK (подтверждение соединения). Если порт закрыт, отправляется пакет с флагом RST (сброс) либо вовсе ничего.
- Таким образом, получив пакет с флагом ACK, можно быть уверенным, что 23-й порт открыт. Если же пришел ответ с флагом RST или вообще ничего не пришло в течение установленного времени, то, значит, соединение разорвано и 23-й порт закрыт.
Именно таким способом и пользовались на заре сканирования. Но когда от него начали защищаться, было разработано множество более хитроумных методов. Например, когда пакет с флагом SYN предварительно разбивается на IP-фрагменты (фрагментируется), а затем отправляется на сканируемый хост. Затем на его стороне IP-фрагменты собираются в один пакет и производится его обработка. В результате выполняются те же действия, что и выше, однако использование фрагментации затрудняет обнаружение сканирования специальными фильтрами.
Наиболее распространенные методы (в том числе и описанные выше) осуществляют открытое сканирование - это значит, что тот, кто сканирует, может быть определен по IP-адресу приходящих запросов. Но существуют еще и методы анонимного сканирования, истинно хакерские забавы. Один из таких способов основан на использовании серверов, предоставляющих бесплатный анонимный доступ по протоколу Telnet. Подключившись к такому серверу, можно от его имени вести анонимное сканирование любого компьютера в интернете. Для этого достаточно выполнять команду: telnet адрес_сканируемого_компьютера номер_порта. Если порт закрыт, будет выдана ошибка (что-нибудь вроде Could not open a connection), иначе - делаем вывод, что порт открыт. При использовании такого метода определить инициатора сканирования довольно сложно.
Но в нашем случае скрываться не придется, поскольку главной целью является проверка безопасности собственной системы. Но этим интересным делом мы займемся в следующем номере.
Дмитрий БАРДИЯН,
x403@yandex.ru
А стоит ли опасаться?
Уязвимость Microsoft RPC (Remote Procedure Call) не использовал только ленивый. Пожалуй, самым известным среди неленивых был вирус Blaster, который поднял на уши всю Сеть. С тех пор многим врезалось в память окошко NT AUTHORITY, которое сообщало о неотвратимой перезагрузке, а затем хладнокровно и неумолимо отсчитывало оставшиеся до нее 60 секунд. Но сейчас мы поговорим не о Blaster, а о причине его появления - об ошибке в протоколе удаленного вызова процедур (RPC). Дело в том, что благодаря уязвимости RPC стало возможным второе рождение атаки Out of Band (в народе именуемой "нюком"). Этой атаке были подвержены Windows 95/98 и некоторые NT. Злоумышленник, послав специальный пакет на 139-й порт компьютера, мог вызвать зависание системы. В Windows XP эта ошибка была устранена, но появилась новая. Благодаря уязвимости в протоколе удаленного вызова процедур, который прослушивает 135-й порт, появилась возможность удаленно перегружать чужие машины. Попробуйте сами.
На сайте hitu.xploit.ru (иногда бывает недоступен), либо поискав в интернете, можно скачать программу RPCNuke, которая позволяет атаковать один или множество компьютеров. Достаточно указать IP-адрес, нажать кнопку Nuke, и на 135-й порт жертвы будет послан "убойный" пакет. На атакуемом компьютере появится знакомое еще со времен Blaster окошко NT AUTHORITY, а затем будет выполнена перезагрузка.
Защититься от подобных злодеяний можно установкой обновления KB824146 либо закрытием порта номер 135. Сделать это можно при помощи любого файрвола.
Как мы убедились на этом маленьком примере, целиком надеяться на защиту операционной системы не стоит - в них всегда были, есть и будут ошибки. Так что о своей безопасности нужно заботиться самостоятельно, не полагаясь на Microsoft.
Горячие темы