Какво е сканиране на портове?

Какво е сканиране на портове? Какви методи за сканиране съществуват. Какви заплахи прави?

В днешната статия ще се опитам да говоря за това какво е сканиране на отворен порт, да говоря за методите, използвани при сканирането на портове и как да се предпазя от всичко това.

Какво е сканиране на портове?

Сканиране Представлява набор от процедури, които ви позволяват да идентифицирате възлите, портовете и услугите на целевата система. Мрежовото сканиране позволява на нападателя да събере профил на атакуваната машина.

Съгласно Съвета на ЕО за етично хакване и противодействие, се разграничават следните видове сканиране:

  • мрежово сканиране - идентифициране на възли в мрежата;
  • сканиране на портове - идентифициране на отворени портове и функциониращи услуги;
  • сканиране на сигурността на системата - идентифициране на известни системни уязвимости.

На пръв поглед няма никаква вреда при сканирането; въпреки това е трудно да се съгласите с този подход, тъй като сканирането предхожда атака, позволявайки на нападателя да разбере кои услуги се изпълняват в целевата система и следователно да подготви и проведе целенасочена атака срещу идентифицираните услуги и техните уязвимости. Ето защо е необходимо да се борим с интелигентността на натрапниците.

представлява
Цели за сканиране на портове

В същото време ще бъде полезно да се отбележи, че самото сканиране не винаги е злонамерено действие, всичко зависи от целите му. Информационната сигурност или ИТ персоналът може да прибегне до сканиране, за да определи уязвимости на инфраструктурата или видимост на услугата от външната мрежа.

Методи за сканиране на портове

Идентифицираме структурата на мрежата. Най-лесният начин за сканиране е ICMP сканиране. Принципът на работа се основава на протокола ICMP и този тип сканиране ви позволява да откриете "активни" възли в мрежата и да изградите мрежова диаграма със списък с нейните възли. Същността на метода се състои в изпращане на ICMP заявки до мрежови възли, ако компютър или друго устройство, работещо със стека на протокола TCP/IP, е активно, тогава ще бъде изпратен отговор. Това е т. Нар. Ping sweep или ICMP sweep. Налични са разнообразни инструменти за извършване на това сканиране.

какво
ICMP сканиране за почистване

Сканиране на портове. Следващият етап на проучване е идентифицирането на отворени пристанища. По същество това дава възможност да се определи кои услуги се изпълняват на отдалечения хост, чийто списък вече сме получили в резултат на предишното сканиране. Освен това от анализа на получените пакети можете също да идентифицирате операционната система и редица други важни параметри (например наличието на филтър за пакети).

Тук говорим TCP сканиране. Принципът му се основава на особеностите на TCP. По същество, много подобен механизъм на взаимодействие е приет в авиацията по време на преговори между пилоти и диспечер, включително заявка, отговор с индикация и потвърждение на получената инструкция. Този начин на взаимодействие, ако не напълно изключва възможността за недоразумение, то поне значително намалява тази вероятност.

Може да изглежда така:

  • Пилот: Шереметиево-такси, Аерофлот 502, разрешение предварително.
  • Диспечер: Aeroflot 502, 25 вдясно1 по RD2 10, основна линия, RD5 предварително разрешение.
  • Пилот: Aeroflot 502, 25 вдясно, на RD 10, основна линия, RD5 предварително разрешен.

Какво става тук? Пилотът попита контролера за разрешаване на такси и маршрута си. Диспечерът освободи рулирането и определи маршрута, който да следва.

Пилотът потвърди маршрута и разрешението на контролера. Всичко, можете да се движите - маршрутът е получен.

Много подобно нещо се случва в TCP комуникацията. Той използва схема за тристранно ръкостискане или "трипосочна" договаряне, има и терминът "трипосочно ръкостискане", която ви позволява да синхронизирате предавателните и приемащите възли и да установите сесия, която по същество е идентична на пример с радио комуникации.

какво
Създаване на TCP сесия

Използвайки този правен алгоритъм, нападателят може да разбере какви портове са отворени на сървъра, тоест да разбере какви услуги се използват в системата, каква операционна система. Има няколко ефективни техники за това.

Сканиране с пълно свързване

Някои техники за сканиране на портове. Най-ефективният и неусложнен метод за сканиране е сканирането Full Connect (пълно отваряне). Неговите принципи са току-що показани на Фигура 3. Прави се опит за тристранно ръкостискане с възли, представляващи интерес за изследователя. Ако желаният порт е отворен, тогава получаваме съобщение SYN + ACK от него, след което изпращаме RST (сесия нулиране) до възела, ако е затворен, тогава получаваме RST от проверения възел. Трябва да се отбележи, че този метод за сканиране е лесно идентифициран, следователно е лесно да се устои.

Стелт сканиране

Друг начин за сканиране на мрежата се нарича Stealth Scan (полуотворено сканиране). В този случай нападателят се опитва да заобиколи защитната стена и да се маскира като нормален мрежов трафик, за да избегне фиксирането на събитието за сканиране в системните регистрационни файлове. Тук не става въпрос за договаряне, изследователят просто изпраща SYN пакет до желания порт на необходимия сървър. Ако SYN + ACK дойде в отговор, тогава портът е отворен, ако RST, тогава портът е затворен.

Този метод на сканиране е по-сложен, но съвременните системи за предотвратяване на проникване трябва да могат да му устоят.

Не по-малко известни методи за сканиране са Xmas Scan и Null Scan, но ние няма да ги разглеждаме поради факта, че защитата срещу тях се прилага в рамките на съвременните операционни системи на Microsoft, така че те няма да представляват голям интерес за нас. Особеността на тези видове сканиране е стелт режим на работа, тоест без настройка на сесия. Подробности обаче можете да видите в курса по етично хакване или в книгата „Тестова лаборатория за мрежова сигурност“. Тези типове сканиране са ефективни само за операционни системи, при които стекът TCP работи въз основа на RFC 793. Всички съвременни операционни системи от Windows Vista и по-стари не са изложени на този риск.

Това сканиране използва полето Идентификация в IP заглавката (IPID). Стойността на IPID се увеличава с по един за всеки следващ пакет, който хостът изпраща. По същество това е уязвимост, тъй като става възможно да се предскаже колко пакета са предадени между два получени пакета. Съвременните операционни системи използват произволна стойност за полето IPID, но, както бе споменато по-горе, винаги може да се намери решение. За съвременните системи Unix и Windows от Windows Vista и по-стари, този проблем вече е загубил своята актуалност.

какво
Сканиране на празен ход (портът на сървъра е отворен)
методите
Сканиране на празен ход (портът на сървъра е затворен)

IPID на фалшивия хост остана непроменен, в нашия случай 30131, тъй като зомбито не изпрати нищо на никой друг. Сега остава да се обърнем за пореден път към „зомбито“, както направихме по-горе, за да идентифицираме неговия IPID, за да го сравним със стойността, която имаме. Ако IPID се е увеличил с 2, тогава портът е отворен.

Друг важен момент, който бих искал да отбележа, е, че операционните системи имат свои специфики при работа със стека TCP/IP. Използвайки тези функции, когато анализираме пакети, получени по време на сканирането, е напълно възможно да разберем с коя операционна система си имаме работа; Техниките за сканиране на Banner Grabbing са изградени на тези принципи. Задачата е да разкрие информация за изчислителната система и нейните уязвимости, което ще позволи на нападателя да използва тези знания за своите последващи деструктивни действия. Всеки съвременен скенер ще предостави на атакуващия тази информация.

Лесно е да се види, че всички разглеждани методи за сканиране се основават на стандартното поведение на възлите, което означава, че всеки компютър или друго мрежово устройство е потенциално уязвимо.

Атакуващият има способността да събира и анализира получената информация за мрежовата структура, услуги, системни уязвимости. Това предоставя потенциална възможност за подготовка на целенасочена атака срещу определени възли и услуги.