Итак, что скрыто за внешним описанием только что рассмотренного примера перехвата сеанса Telnet? Давайте в общих чертах взглянем на то, каким образом происходит перехват TCP-соединения. Пробуя взломать TCP-соединение, хакер должен учесть все нюансы соединения по протоколу TCP. Прежде всего это порядковые номера, заголовки пакетов TCP и пакеты уведомления с установленным битом АСК.

Не будем приводить здесь полного обзора устройства и принципов работы протоколов TCP/IP, но давайте в качестве напоминания вкратце пройдемся по некоторым относящимся к теме моментам. Вспомним, что TCP-соединение начинается со стандартных трех фаз сеанса квитирования (three-way handshake): клиент посылает синхронизирующий пакет SYN, сервер посылает подтверждающий пакет SYN-АСК, и клиент отвечает уведомлением об успешном приеме данных (пакетом АСК), после чего начинает посылать данные или же ожидает их от сервера. Во время обмена информацией счетчики порядковых номеров (sequence counters) увеличиваются с обеих сторон и получение каждого пакета должно быть подтверждено с помощью посылки пакета с установленным битом АСК. Соединение может быть закрыто при помощи обмена завершающими пакетами (FIN-пакетами) подобно началу установки TCP-соединения. Аварийный разрыв соединения происходит при посылке одним участником соединения другому пакетов возврата в исходное состояние (RST-пакетов).

В какой момент обмена пакетами злоумышленник захочет вмешаться? Очевидно, он захочет сделать это до окончания соединения, или в противном случае ему будет нечего захватывать. Чаще всего злоумышленник перехватывает сессию где-нибудь посередине между ее началом и завершением после свершения определенного события. Под событием в данном случае понимается шаг процедуры аутентификации? Что произойдет, если злоумышленник перехватит соединение в начальный период установки соединения или до завершения аутентификации. Что тогда он сможет контролировать? Сервер не будет готов к приему команд до окончания аутентификации. Напав на соединение до завершения процедуры аутентификации, злоумышленник вдруг выяснит, что соединение ждет от него ввода какого-либо пароля. Другими словами, он окажется в точно такой же ситуации, как если бы он только что подсоединился как обычный клиент.

Как уже упоминалось, перехватывают сеанс для кражи важной информации при обмене данными в сети, которая до аутентификации по сети не пересылалась. Существует ряд сервисов, например упоминавшиеся ранее сервисы Berkley «г», которые могут быть сконфигурированы таким образом, чтобы они могли без посторонней помощи идентифицировать IP-адрес. Но в этом случае перехватывать сеанс нет необходимости. Нужные данные можно получить обманным путем, попытавшись подсоединиться с ложным IP-адресом. Если у злоумышленника есть возможность перехватить TCP-соединение, то он с легкостью сможет получить доступ к серверу обманным путем. Заметьте, что когда говорится: «У злоумышленника есть возможность сделать что-то», - то подразумевается полный контроль злоумышленника над машиной-жертвой, который позволяет выполнить на ней любые действия. Так же как и в случае со снифингом, злоумышленнику почти наверняка потребуется установить контроль над машиной, входящий в тот же сегмент сети, что клиент или сервер, на уровне канала передачи данных. (Layer 2 (data link layer) - уровень канала передачи данных в модели OSI. Уровень канала передачи данных отвечает за прием и передачу пакетов, сервис на уровне дэйтаграмм, локальную адресацию и контроль ошибок.) До тех пор, пока у злоумышленника не будет возможности существенно влиять на маршрутизатор, пакеты не «придут» к злоумышленнику - ему самому придется «идти» к ним.

Основные сведения о перехвате сеанса | Защита от хакеров корпоративных сетей | Перехват tcp-сессий при помощи блокировки пакетов


Защита от хакеров корпоративных сетей



Новости за месяц

  • Июнь
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс