Опубликован: 16.10.2006 | Уровень: специалист | Доступ: платный
Лекция 2:

Удаление, повреждение и отказ в доступе к данным

Поиск уязвимых мест

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

Возможно, за вами следят...

В "Угрозы безопасности в интернете" говорилось, что одни хакеры находят свои цели случайным образом, а другие концентрируют внимание на конкретных целях, используя в качестве "орудия" отправку массовых ping-запросов. Координаты ответивших компьютеров помещаются в список потенциальных жертв. Если хакер идентифицировал сервер и "нацелился" на него, он выполнит ping-запрос (см. рис. 2.3), чтобы убедиться в его работе, перед дальнейшей разведкой или перед непосредственной атакой.

Сканирование является следующим этапом сбора информации и осуществляется изнутри или извне компьютерной сети. Это эффективный метод рекогносцировки, так как виртуально все приложения и службы, использующие интернет-коммуникации, осуществляют прием и отправку данных через один и тот же набор стандартных коммуникационных протоколов. Сканирование помогает хакеру определить, какие порты на целевом компьютере открыты, и какие приложения и службы запущены.

Перед выполнением атаки хакер осуществляет ping-запрос сервера-жертвы

Рис. 2.3. Перед выполнением атаки хакер осуществляет ping-запрос сервера-жертвы

Принципы работы ping-запросов и сканирования

Ping-запросы, отдельные или массовые, используют атрибуты протокола интернета для получения информации. Операционные системы всех компьютеров имеют встроенную утилиту для осуществления ping-запросов. Утилита по отправке ping-запросов отправляет пакет запроса ICMP ECHO указанной системе и ожидает ответа ICMP ECHO. Если ответ получен, ping-утилита выводит сообщение о том, что система-жертва работает. Если ответ не получен, выводится соответствующее сообщение. Для осуществления массовых ping-запросов необходима программа, осуществляющая их отправку по адресам указанного диапазона.

Некоторые средства отправки ping-запросов и адреса URL, необходимые для их загрузки, указаны в табл. 1.2. Системы, приславшие ответ, отображаются в виде "живых" адресов (см. рис. 2.4).

Данные, полученные путем массового ping-запроса (скриншот программы Grims Ping для Windows 2000)

Рис. 2.4. Данные, полученные путем массового ping-запроса (скриншот программы Grims Ping для Windows 2000)

Сканирование посредством ping-запросов можно обнаружить. По этой причине осторожные хакеры, как правило, избегают использования случайного ping-сканирования. Если есть такая возможность, они выполняют ping-запросы избирательно в надежде, что отдельный ping-запрос не будет замечен, или используют другие формы рекогносцировки.

Простым способом защиты от внешних ping-запросов является блокирование ping-сканирования посредством фильтрации ICMP на сетевых экранах и маршрутизаторах. Администраторы, для которых проблема безопасности является одной из главных, обычно настраивают эти устройства на отклонение всех ping-запросов, поступающих извне. Но такая защита работает до тех пор, пока сетевой экран не будет взломан.

При сканировании портов также используются атрибуты TCP, UDP и ICMP, но выполняются другие действия. Сканирование портов осуществляется программой для сбора информации о состоянии портов TCP и UDP системы-жертвы. Сканер отправляет пакет данных (зонд) на порт с последующим ожиданием ответа. По полученному ответу определяется, является ли порт открытым, занятым или закрытым, он содержит косвенные данные о том, какое приложение использует данный порт. Ниже приведен пример сканирования, направленного на отдельный компьютер, с помощью утилиты Nmap.

Interesting ports on (xxx.xxx.x.xx):
Port		State		Protocol	Service
21		open		tcp		ftp
80		open		tcp		http

В зависимости от используемой программы сканируются отдельные порты отдельного компьютера, выполняется массовое сканирование портов и компьютеров. В интернете доступно множество бесплатных средств сканирования. Самой популярной является программа Nmap, доступная как для Microsoft Windows, так и для UNIX. Часто используется программа Nessus. Обе программы содержат широкий набор возможностей сканирования для зондирования больших и малых компьютерных сетей.

Сканирование порта позволяет с определенной степенью конфиденциальности выяснить, какие приложения и службы выполняются на компьютере-жертве. Например, если открыты порты 21 и 80, хакер может предположить, что на компьютере работают службы протоколов FTP и HTTP соответственно. Это достаточно весомая информация, так как каждый порт, ожидающий приема данных, является потенциальным каналом связи с компьютером-жертвой, а каждое приложение или служба представляет собой точку атаки, если хакер знает об уязвимых местах системы (или имеет соответствующую программу).

Некоторые методы сканирования портов

Существует большое количество методов сканирования, однако в каждом конкретном случае требуется свой метод. Хакер ищет компромисс между затрачиваемым временем и уровнем секретности своих действий. В зависимости от обстоятельств хакер либо осуществляет действия безнаказанно и не боится быть обнаруженным, либо действует осторожно с применением каких-либо хитростей. Сканирование всесторонне использует возможности интернет-протокола.

Совет. При составлении следующего раздела использовались материалы The Art of Port Scanning (http://www.insecure.org/nmap/nmap_doc.html) и Remote OS Detection via TCP/IP Stack FingerPrinting (http://www.insecure.org/nmap/nmap-fingerprinting-article.html), автором которых является Fyodor. Для получения более подробной информации посетите эти веб-сайты.

Ниже приведены описания нескольких методов сканирования TCP. Некоторые из этих методов предотвращают обнаружение и работают извне сети, если периметровая защита ограничена фильтрацией пакетов. В разделе "Проблема. TCP-соединения" приведена информация, с помощью которой вы разберетесь в терминах, если еще не знакомы с TCP/IP.

  • Метод сканирования TCP ACK используется для идентификации активных веб-сайтов, которые не отвечают на стандартные ping-запросы ICMP. Программа сканирования отправляет пакеты ACK. Если порт открыт, то компьютер-жертва отправляет ответ в виде RST. Если ответ не получен, это значит, что рассматриваемый порт закрыт. Такой метод сканирования является прямым, он обнаруживается и блокируется пакетной фильтрацией (см. "Особенности процесса разработки" ).
  • В методе сканирования TCP Connect используется системный вызов connect операционной системы для открытия подключения к каждому порту, находящемуся в режиме ожидания. Этот метод реализуется быстро, однако выполняемые действия обнаруживаются, если на компьютере-жертве ведется журнал.
  • При использовании метода сканирования TCP SYN компьютеру-жертве отправляется пакет SYN. Если порт открыт, потенциально атакуемый компьютер отправит пакет SYN|ACK. В легальном запросе следующим шагом является отправка запроса на открытие соединения тем компьютером, который отправил пакет ACK. В данном случае, как только становится известно, что порт открыт, программа разрывает соединение. Такой метод сканирования зачастую не обнаруживается, так как соединение не устанавливается, и многие системы не заносят в журнал данные о несостоявшихся TCP-соединениях. Одни средства периметровой защиты блокируют такие пакеты, другие – нет.
  • Метод сканирования TCP FIN заключается в отправке пакетов FIN по адресу системы-жертвы. На компьютере с системой UNIX закрытые порты ответят отправкой пакетов RST. Открытые порты проигнорируют пакеты, поэтому если система не отвечает, то, вероятно, рассматриваемый порт открыт. Тем не менее, порты Microsoft отправляют пакеты RST, даже если они являются открытыми. Таким образом, метод сканирования FIN не очень полезен при сканировании портов, однако позволит определить, установлена ли на удаленном компьютере система Windows. Некоторые сканеры операционных систем используют этот принцип в своей работе.
  • В методе сканирования FTP Bounce используется протокол FTP для установки FTP-соединений. Если служба, используемая в этом методе, открыта, злоумышленник сможет использовать удаленный компьютер в качестве прокси-сервера для сканирования другой цели без обнаружения и выявления своего адреса.
Антон Ворожейкин
Антон Ворожейкин
Россия, с. Новоселье
Дмитрий Клочков
Дмитрий Клочков
Россия, Рубцовск