Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы сканирования портов.doc
Скачиваний:
119
Добавлен:
01.05.2014
Размер:
268.8 Кб
Скачать
  1. Полуоткрытые методы сканирования

Под «полуоткрытыми» понимаются методы сканирования, которые разрывают соединение до окончания трехстороннего рукопожатия (процедуры полного установления соединения). Обычно применение этих методов остается незамеченным IDS’ами, которые следят только за установленными соединениями и, кроме того, эти методы дают довольно хороший результат (по распознаванию открытых/закрытых портов)

    1. Syn scan (тср-сканирование пакетами с установленным флагом syn)

Данный метод известен еще как "сканирование с установлением наполовину открытого соединения" (half-open scanning), поскольку установление полного TCP-соединения не производится. Вместо этого хост отправляет на определенный порт сервера SYN-пакет, как бы намереваясь создать соединение, и ожидает ответ. Наличие в ответе флагов SYN|ACK означает, что порт открыт и прослушивается сервером.

Frame3

Получение в ответ TCP-пакета с флагом RST означает, что порт закрыт и не прослушивается.

Frame4

В случае приема SYN|ACK-пакета хост немедленно отправляет RST-пакет для сброса устанавливаемого сервером соединения. Преимущество данного метода, прежде всего заключается в том, что лишь немногие серверы способны зарегистрировать такого рода сканирование. К сожалению, пользователь, должен обладать статусом Root на хосте, с которого производится сканирование. Если статус будет ниже Root, то пользователь попросту не сможет программно сформировать одиночный SYN-пакет.

Преимущества:быстрый, надежный, обходит простыеIDS, не устанавливает полного соединения.

Недостатки:необходимы права администратора (root)

    1. Сканирование с использованием "немого" хоста ("dumb"hostscan)

Сальвадор Сапфилинпо (Salvatore Sanfilippo) из Intesis Security Lab впервые заявил об этом методе 18 декабря 1998 года в конференции BUGTRAQ. Оригинальное название метода Dumb host scan переводится как "сканирование с использованием "немого" хоста". Основные положения, лежащие в основе метода, состоят в следующем:

С каждым переданным пакетом значение ID в заголовке IP-пакета обычно увеличивается на 1.

  • хост отвечает на TCP SYN-3aпpoc TCP SYN ACK, если порт открыт; и TCP RST, если порт закрыт;

  • существует возможность узнать количество пакетов, переданных хостом, но параметру ID в заголовке IP;

  • хост отвечает TCP RST на TCP SYN ACK и ничего не отвечает на TCP RST.

Естественно, это происходит только в случае "неожиданного" прихода таких пакетов (при ip spoofing, например).

Frame5

Рассмотрим, как работает данный метод.

Пусть X-Hacker - хост атакующего, откуда осуществляется сканирование, объект В - "тихий" хост (обычный хост, который не будет передавать пакеты, пока происходит сканирование хоста С; таких хостов вполне достаточно в Internet), а хост С - объект сканирования. Хост X-Hacker при помощи, например, утилиты hping контролирует число исходящих от хоста В пакетов по ID из заголовка IP, имеющего вид:

#hping B -r

HPING B (eth0 194.94.94.94): no flags are set, 40 data bytes

60 bytes from 194.94.94.94: flags=RA seq=0 ttl=64 id=41660 win=0 time=1.2 ms

60 bytes from 194.94.94.94: flags=RA seq=1 ttl=64 id=+1 win=0 time=75 ms

60 bytes from 194.94.94.94: flags=RA seq=2 ttl=64 id=+1 win=0 time=91 ms

60 bytes from 194.94.94.94: flags=RA seq=3 ttl=64 id=+1 win=0 time=90 ms

60 bytes from 194.94.94.94: flags=RA seq=4 ttl=64 id=+1 win=0 time=91 ms

60 bytes from 194.94.94.94: flags=RA seq=5 ttl=64 id=+1 win=0 time=87 ms

Как видно, ID увеличивается с каждым пакетом на 1, следовательно, хост В - именно тот "тихий" хост, который нужен хакеру.

X-Hacker посылает TCP SYN-запрос на порт Х хоста С от имени В (автор метода предлагает для этого использовать утилиту hping с его сайта http://www.kyuzz.org/antirez, но можно применять и любые другие программные средства). Если порт Х хоста С открыт, то хост С пошлет на хост В ответ TCP SYN АСК (хост С не может знать, что этот пакет на самом деле пришел от X-Hacker). В этом случае объект В в ответ на TCP SYN АСК ответит на С пакетом TCP RST. Если атакующий пошлет на С определенное количество TCP SYN от имени хоста В, то В, получив несколько TCP SYN АСК, ответит столькими же TCP RST, и на хосте X-Hacker будет видно, что В посылает пакеты, следовательно, порт Х открыт. Выглядит это следующим образом:

60 bytes from 194.94.94.94: flags=RA seq=17 ttl=64 id=+1 win=0 time=96 ms

60 bytes from 194.94.94.94: flags=RA seq=18 ttl=64 id=+1 win=0 time=80 ms

60 bytes from 194.94.94.94: flags=RA seq=19 ttl=64 id=+2 win=0 time=83 ms

60 bytes from 194.94.94.94: flags=RA seq=20 ttl=64 id=+3 win=0 time=94 ms

60 bytes from 194.94.94.94: flags=RA seq=21 ttl=64 id=+1 win=0 time=92 ms

60 bytes from 194.94.94.94: flags=RA seq=22 ttl=64 id=+2 win=0 time=82 ms

Порт открыт!

В том случае, если порт Х хоста С закрыт, то передача на С нескольких TCP SYN-пакетов от имени В вызовет ответный пакет TCP RST. Хост В, получив от хоста С такой пакет, проигнорирует его. Выглядит это так:

60 bytes from 194.94.94.94: flags=RA seq=52 ttl=64 id=+1 win=0 time=85 ms

60 bytes from 194.94.94.94: flags=RA seq=53 ttl=64 id=+1 win=0 time=83 ms

60 bytes from 194.94.94.94: flags=RA seq=54 ttl=64 id=+1 win=0 time=93 ms

60 bytes from 194.94.94.94: flags=RA seq=55 ttl=64 id=+1 win=0 time=74 ms

60 bytes from 194.94.94.94: flags=RA seq=56 ttl=64 id=+1 win=0 time=95 ms

60 bytes from 194.94.94.94: flags=RA seq=57 ttl=64 id=+1 win=0 time=81 ms

Порт закрыт!