Різні прийоми сканування портів

  • 12.07.2019

Що таке сканування портів? Які існують методи сканування. Які небезпеки несе?

У сьогоднішній статті я постараюся розповісти про те, що таке сканування відкритих портів, розповім про методи використовуваних у скануванні портів і про те, як від цього всього захиститься.

Сканування- Це набір процедур, що дозволяють ідентифікувати вузли, порти та послуги цільової системи. Сканування мережі дозволяє зловмиснику зібрати профіль машини, що атакується.

Відповідно до посібника з етичного хакінгу (Ethical Hacking and Countermeasures EC-Council) розрізняються такі типи сканування:

  • мережеве сканування - визначення вузлів, що знаходяться в мережі;
  • сканування портів - виявлення відкритих портів та функціонуючих сервісів;
  • сканування безпеки системи – виявлення відомих уразливостей системи.

На перший погляд, у скануванні ніякої шкоди немає, проте з таким підходом важко погодитися, адже сканування передує атакі, дозволяючи зловмиснику з'ясувати, які сервіси працюють у цільовій системі, а значить, підготувати та провести цілеспрямовану атаку проти виявлених сервісів та їх уразливостей. Отже, боротися із розвідкою зловмисників необхідно.

Цілі сканування портів

При цьому буде зайвим відзначити, що саме по собі сканування не завжди зловмисне дію, все залежить від його цілей. Служби інформаційної безпеки або співробітники ІТ можуть вдатися до сканування для з'ясування вразливостей інфраструктури або видимості сервісів із зовнішньої мережі.

По суті, нерідко все якраз і починається з мережевого сканування, саме воно дозволяє виявити слабкі вузли їхньої IP-адреси, відкриті порти, визначити операційну систему, а отже, стають зрозумілі теоретично можливі вразливості, що вже не так мало для організатора атаки.

Методи сканування портів

Виявляємо структуру мережі. Найпростіший спосіб сканування – ICMP scanning. Принцип роботи ґрунтується на протоколі ICMP, і такий тип сканування дозволяє з'ясувати «живі» вузли в мережі та побудувати схему мережі з переліком її вузлів. Суть методу полягає у відправленні ICMP-запитів вузлам мережі, якщо комп'ютер або інший пристрій, що працює зі стеком протоколів TCP/IP, активно буде відправлено відповідь. Це так званий ping sweep чи ICMP sweep. Існує величезна кількість коштів, що дозволяють виконати таке сканування.


Сканування портів. Наступний етап – виявлення відкритих портів. По суті, це дає можливість визначити, які сервіси працюють на віддаленому вузлі, список яких ми вже отримали в результаті попереднього сканування. Крім того, з аналізу отриманих пакетів можна виявити операційну систему і ряд інших важливих параметрів (наявність фільтра пакетів, наприклад).

Тут ми говоримо про TCP-сканування. Його принцип ґрунтується на особливостях роботи TCP. По суті дуже схожий механізм взаємодії прийнятий в авіації при переговорах пілотів з диспетчером, що включає запит, відповідь із зазначенням, підтвердження отриманої інструкції. Такий спосіб взаємодії якщо і не виключає цілком ймовірність нерозуміння, то, принаймні, істотно знижує таку ймовірність.

Це могло б виглядати так:

  • Пілот: Шереметьєво-Рулення, Аерофлот 502, дозвольте попередній.
  • Диспетчер: Аерофлот 502, 25 права1 по РД2 10, магістральній, РД5 попередній дозволяю.
  • Пілот: Аерофлот 502, 25 права, РД 10, магістральної, РД5 попередній дозволили.

Що тут відбувається? Пілот звернувся до диспетчера із запитом про дозвіл рулювання та його маршрут. Диспетчер дозволив рулювання та визначив маршрут прямування.

Пілот підтвердив маршрут прямування та дозвіл диспетчера. Все можна рухатися — маршрут отримано.

Дуже схоже відбувається й у TCP-взаємодії. Тут використовується схема three-way-handshake або «трьохетапного» узгодження, зустрічається також термін «трьохетапне квітування», яке дозволяє синхронізувати передавальний та одержуючи вузли та встановити сесію, що, по суті, ідентично прикладу з радіопереговорами.


Використовуючи цей легальний алгоритм, зловмисник може з'ясувати, які порти відкриті сервері, тобто зрозуміти, які послуги використовують у системі, яка операційна система. І тому існує кілька ефективних методик.

Full Connect Scan

Деякі методики сканування портів. Найефективніший і нескладний спосіб сканування – Full Connect Scan (Full Open Scan). Його принципи показані малюнку 3. Відбувається спроба виконати триетапне узгодження (three-way-handshake) з вузлами, що цікавлять дослідника. Якщо шуканий порт відкритий, ми отримуємо від нього повідомлення SYN+ACK, після цього посилаємо вузлу RST (скидання сесії), якщо закритий, то нам надходить RST від вузла, що перевіряється. Такий спосіб сканування легко ідентифікується протистояти йому нескладно.

Stealth Scan

Інший спосіб сканування мережі називається Stealth Scan (Half-open Scan). У цьому випадку атакуючий намагається обійти захист брандмауера і замаскуватися під звичайний мережевий трафік для того, щоб уникнути фіксації події сканування в логах системи. Тут не йдеться про погодження, дослідник легко відправляє SYN-пакет на порт необхідного сервера, що цікавить. Якщо відповідь приходить SYN+ACK, то порт відкритий, якщо RST, то порт закритий.

Такий спосіб сканування витонченіший, проте сучасні системи запобігання вторгненням повинні вміти йому протистояти.

Xmas Scan

Не менш відомі методи сканування — Xmas Scan і Null Scan, проте ми не будемо їх розглядати з огляду на те, що захист від них реалізований у рамках сучасних операційних систем Microsoft, тому вони не будуть для нас великого інтересу. Особливістю цих типів сканування є стелс режим роботи, тобто без встановлення сесії. Втім, подивитись деталі можна в курсі Ethical Hacking або у книзі Network Security Test Lab. Ці типи сканування ефективні тільки для операційних систем, де TCP-стек працює на основі RFC 793. Всі сучасні операційні системи від Windows Vista і старші не схильні до цього ризику.

Idle Scan

Найцікавішим способом сканування є Idle Scan. Основна ідея полягає в тому, що зловмисник може просканувати жертву, не показуючи їй своєї IP-адреси, тобто з точки зору вузла, що сканується, зловмисник з нею як би і не спілкується. Використовується «підставний» вузол, який може бути визначений системами протидії вторгненням як джерело атаки. Це дуже розумна методика, так званий спуфінг, коли адреса відправника підміняється на адресу іншого пристрою. Треба сказати, що «підставним» вузлом або «зомбі» може стати комп'ютер, який має певні вразливості. Операційні системи, як правило, повинні бути оновлені, проте це не завжди так, і атакуючий завжди може знайти "помічників", крім того, як "зомбі" може бути використаний мережевий принтер або інший мережевий пристрій, який працює з базовою функціональністю стека TCP / IP.

Це сканування використовує поле ID в IP-заголовку (IPID). Значення IPID збільшується на одиницю у кожному наступному пакеті, який надсилає вузол. По суті, це і є вразливість, оскільки з'являється можливість передбачити, скільки пакетів було передано між двома пакетами, які були отримані. Сучасні операційні системи використовують випадкове значення для поля IPID, проте, як згадувалося вище, завжди можна знайти рішення. Для сучасних Unix і Windows систем від Windows Vista і ця проблема вже втратила свою актуальність.

Розглянемо рисунок 4 і 5. На першому кроці (1) атакуючий звертається до підставного пристрою зі стандартним SYN-пакетом. Пристрій відповідає пакетом SYN ACK (2) або SYN RST, що більш ймовірно, однак із заголовка пакета атакуючому стає видно IPID. Його й треба запам'ятати (3). Далі атакуючий звертається до сервера, що його цікавить (4), при цьому підміняє свою IP-адресу на адресу підставного вузла, тобто маскується, використовуючи спуфінг (підміну адрес). У відповідь на запит сервер, якщо порт відкритий, посилає SYN/ACK на підставну адресу (5). Адже ми виконали підміну. Не знаючи, що робити з цим пакетом, підставний комп'ютер у відповідь надішле RST (скидання сесії), при цьому збільшить значення свого IPID. У нашому випадку він дорівнюватиме 30132 (6). Якщо порт закритий, сервер пошле скидання сесії (RST) — дивіться малюнок 5 (5).


Idle-сканування (порт на сервері відкрито)

Idle-сканування (порт на сервері закритий)

IPID підставного вузла залишився незмінним у нашому випадку 30131, оскільки «зомбі» нікому більше нічого не відправляв. Тепер залишиться ще раз звернутися до «зомбі», як ми це вже робили вище, виявити його IPID, порівняти його з наявним у нас значенням. Якщо IPID збільшився на 2, порт відкритий.

Ще один важливий момент, який хотілося б відзначити - операційні системи мають свою специфіку при роботі зі стеком TCP/IP. Використовуючи ці особливості при аналізі пакетів, отриманих при скануванні, можна з'ясувати, з якою ОС ми маємо справу, на цих принципах побудовані методики сканування Banner Grabbing. Завдання — виявити інформацію про обчислювальну систему та її вразливість, що дозволить атакуючому використовувати ці знання для подальших деструктивних дій. Будь-який сучасний сканер надасть цю інформацію, що атакує.

Операційні системи, як правило, повинні бути оновлені, однак це не завжди так, і атакуючий може знайти «помічників», крім того, як «зомбі» може бути використаний мережевий принтер або інший мережний пристрій, який працює з базовою функціональністю стека TCP/ IP

Неважко помітити, що всі розглянуті способи сканування базуються на штатному поведінці вузлів, отже, будь-який комп'ютер чи інший мережний пристрій потенційно вразливим.

Зловмисник володіє можливістю збору та аналізу отриманої інформації про структуру мережі, сервіси, уразливості систем. Тим самим надається потенційна можливість підготувати цільову атаку проти певних вузлів та сервісів.

Від перекладача. Привіт, сьогодні хочу опублікувати переклад статті зі списком сервісів, які допоможуть знайти відкриті порти на серверах. Сподіваюся, що стаття виявиться корисною.

Якщо ви розміщуєте свої веб-додатки на адміністрованому сервері або шаред хостингу, тоді Вам нема про що турбуватися. Однак для віртуального або виділеного сервера ви повинні передбачати всі можливості безпеки свого сервера.
Мати непотрібні порти відкритими – погана ідея, з якої зловмисник може отримати вигоду безліччю способів.



Нижче наведено безкоштовні онлайн сервіси, які допоможуть з'ясувати чи відкриті порти, щоб ви могли перевірити та заблокувати їх, якщо вони не використовуються.

Примітка: якщо ви запускаєте сканер портів для DNS Вашого сайту, а він знаходиться за такими проксі як CloudFlare або SUCURI, то він може не видати точну інформацію. Використовуйте справжню IP-адресу сервера.

Сканер портів від MX ToolBox

MX Toolbox намагається перевірити 15 портів з таймаутом, що найчастіше використовуються, в 3 секунди і видає результати, які з них відкриті, а які ні.

Онлайн сканер портів

Цей інструмент – персональний проект Javier Yanez, що дозволяє безкоштовно просканувати порти для IPv4 та IPv6 адрес.

Сканер портів від T1 Shopper

Сканує один або діапазон портів, які прослуховуються сервером із вказаним IP. Це зручно, якщо ви хочете просканувати вибрані порти.

Сканер портів від Hacker Target

Виконує швидке сканування шести найпоширеніших портів (FTP, SSH, SMTP, HTTP, HTTPS, RDP) сканером портів NMAP.

Сканер портів від DNS Tools

Швидко сканує деякі поширені порти, такі як FTP, SMTP, DNS, Finger, POP3, SFTP, RPC, IRC, IMAP, VNC і т.д.

Якщо вам потрібно з Windows просканувати порти комп'ютерів та пристроїв у локальній мережі або в Інтернеті, то одним із найкращих варіантів є зв'язування Nmap та Zenmap (графічний інтерфейс для Nmap).

Nmap має багато опцій сканування, а графічний інтерфейс Zenmap робить використання програми вкрай простим.

Можливості Nmap включають:

  • сканування портів
  • визначення операційної системи віддаленого хоста
  • визначення служб, програмного забезпечення та їх версій на віддаленому хості

За допомогою скриптів Nmap можна перевіряти віддалені хости на наявність уразливостей, на слабкі паролі, збирати певну інформацію, шукати служби, що дозволяють анонімний вхід та виконувати інші завдання, пов'язані з діями адміністратора мережі або тестера на проникнення.

Запустіть завантажений інсталятор Nmap, крім основної програми він також встановить кілька компонентів, які необхідні для роботи Nmap у Windows.

Коли все буде готове, на робочому столі з'явиться ярлик програми:

Основне вікно програми виглядає так:

В полі Цільпотрібно вказати адресу сайту (URL), IP або діапазон IP-адрес для сканування.

В полі Профільзі списку потрібно вибрати бажаний профіль.

Як вказати Мета в Zenmap (Nmap)

Адреси сайтів слід вказувати без протоколу, наприклад:

  • mi-al.ru
  • suip.biz

Неправильною була б вказівка ​​виду https://mi-al.ru

IP адреси можна вказувати по одному, наприклад, 192.168.0.1; використовуючи адресацію CIDR, наприклад, 192.168.0.1/24; а також вказуючи діапазони в одному або декількох октетах, наприклад, 192.168.0.1-100 або 192.160-170.50-100.1

Що означають Профілі в Zenmap

Профілі у головному вікні Zenmap – це набір опцій типових сканувань. Розглянемо усі профілі Zenmap.

  • Intense scan(інтенсивне сканування)

Інтенсивне всебічне сканування. Опція -Aвключає відразу кілька інших опцій: визначення версії ОС ( -O), визначення версій запущених служб ( -sV), сканування з використанням скриптів ( -sC) та трасування ( --traceroute). Без привілеїв адміністратора запускається лише визначення версії та сканування за допомогою скриптів. Це вважається інтрузивним (нав'язливим) скануванням.

  • Intense scan plus UDP(Інтенсивне сканування плюс UDP)

Робить визначення ОС ( -O), визначення версій ( -sV), сканування за допомогою скриптів ( -sC) та трасування ( --traceroute) на додаток до сканування портів TCP та UDP.

  • Intense scan, all TCP ports(Інтенсивне сканування, всі TCP порти)

Сканує всі TCP порти, потім робить визначення ОС ( -O), визначення версій ( -sV), сканування скриптами ( -sC) та трасування ( --traceroute).

  • Intense scan, no ping(Інтенсивне сканування без пінгу)

Виконує інтенсивне сканування без попередньої перевірки, чи цілі працюють. Це може бути корисним, коли цілі ігнорують звичайні зондування виявлення хостів.

  • Ping scan(Пінг)

Це сканування лише визначає, які цілі працюють та не виконує сканування портів.

  • Quick scan(Швидке сканування)

Це сканування швидше за звичайне сканування, оскільки воно використовує агресивний шаблон таймінгу і сканує менше портів.

  • Quick scan plus(Швидке сканування плюс)

Швидке сканування плюс визначення ОС

  • Quick traceroute(Швидке трасування)

Трасує шляхи до цілей без виконання повного сканування портів.

  • Regular scan(Звичайне сканування)

Базове сканування без додаткових налаштувань.

  • Slow comprehensive scan(Повільне всебічне сканування)

Це всебічне повільне сканування. Сканується кожен TCP та UDP порт. Виконується визначення ОС ( -O), визначення версії ( -sV), сканування скриптами ( -sC) та трасування ( --traceroute). Надсилається безліч запитів зондування для виявлення хостів. Це дуже інтрузивне сканування.

Наприклад, якщо я хочу дізнатися, які вузли підмережі пінгуються, то я вибираю профіль Ping scan.

За допомогою зручного редактора профілю ви можете редагувати та створювати нові профілі.

Хоча використання редактора профілю містить опис виконуваних дій і, отже, не вимагає знання опцій Nmap, для глибшого розуміння програми ви можете ознайомитися з описом усіх опцій Nmap на сторінці https://kali.tools/?p=1317

Якщо ви хочете просканувати всі TCP порти, то вкажіть мету і як команду введіть nmap -p 1-65535

Результати сканування

Результати, отримані при останньому скануванні, помітні у вкладці Висновок Nmap. У лівій частині ви можете перемикатися між Вузламиі Сервіси. При натисканні на певний вузол, ви побачите попередні результати сканування. При натисканні на сервіс, ви побачите вузли, на яких даних сервіс був виявлений:

Для перегляду узагальненої інформації по вузлу, клацніть на нього та виберіть вкладку Деталі вузла:

У вкладці Топологіяви побачите інформацію про зв'язки між просканованими/виявленими вузлами:

Використання Nmap на Windows у командному рядку

Якщо вам потрібна консольна версія Nmap, то ви можете використовувати її на Windows так само, як і на Linux. При встановленні Nmap додає в змінні оточення шлях до файлу Nmap, що виконається, тому в командному рядку вам достатньо вказати ім'я програми:

Висновок

Програма Nmap дозволяє з Windows проводити сканування комп'ютерів та інших пристроїв на наявність відкритих портів. Також вона здатна визначати запущені на віддаленому хості служби, їхню версію.

Графічний інтерфейс дозволяє спростити використання програми, але для здобуття навичок з різних технік сканування рекомендується ознайомитися з усіма опціями програми.

Крім своїх основних функцій – сканування портів та визначення версій встановленого ПЗ – скрипти Nmap дозволяють виконувати різні інші завдання, у тому числі перевіряти на наявність уразливостей, слабкі паролі, виконувати збір інформації.

І вдома, і на роботі ми постійно стикаємось із комп'ютерними мережами. Простий Wi-Fi роутер та підключений до нього лаптоп – вже локальна мережа. В офісах у загальну мережу часто виявляються об'єднаними безліч пристроїв – роутери, комп'ютери (настільні та ноутбуки), планшети та смартфони, принтери, сканери, мережні накопичувачі тощо. Користуючись спільним підключенням до мережі, ми часто навіть не здогадуємося про те, які ще пристрої є в нашій локальній мережі.

Щоб визначити, які комп'ютери (чи інше обладнання) використовують спільну з нами мережу, служать IP-сканери. IP-адреса (айпі-адреса, скорочення від англ. Internet Protocol Address) - унікальна мережна адреса вузла в комп'ютерній мережі, побудованої за протоколом IP. … у разі роботи в локальній мережі потрібна унікальність адреси в межах мережі – Вікіпедія. Нижче ми розглянемо кілька безкоштовних програм – IP-сканерів: Free IP Scanner, Free Port Scanner, 10-Страйк: Сканування Мережі, Advanced IP Scanner, Angry IP Scanner.

Free IP Scanner.

Free IP Scanner 2.1 – програма для швидкого сканування IP-адрес та портів. Призначена для управління та моніторингу мереж як системними адміністраторами, так і звичайними користувачами. У Free IP Scanner 2.1 використана система багатопотокового сканування, що дозволяє дуже швидко виявляти сотні комп'ютерів, підключених до мережі. Для кожного з виявлених комп'ютерів визначається MAC-адреса, NetBIOS та відкриті порти.

До безперечних плюсів Free IP Scanner можна віднести:

  • швидкість сканування IP-адрес та портів;
  • простий, зрозумілий інтерфейс;
  • широкі можливості настроювання сканування.

На сучасних комп'ютерах Free IP Scanner 2.1 працює швидко та стабільно, проте запуск цієї програми на старих ПК може значно уповільнити їхню роботу.

Free Port Scanner.

Free Port Scanner 3.1.5 – безкоштовна програма, що дозволяє швидко просканувати вибрані порти у певному діапазоні IP-адрес.

Для початку сканування потрібно вказати IP-адресу та порти, які будуть перевірятися (за замовчуванням задана IP-адреса 192.168.0.1 та порти 21-23, 25, 53, 80, 110, 135, 137-139, 443, 445, 1433, 3128, 3306, 8080). Процес сканування протікає досить швидко, у нижній частині вікна програми буде відображено докладну інформацію про кожен із зазначених портів:

  • IP-адреса;
  • номер порту;
  • ім'я порту;
  • статус порту;
  • опис.

На жаль, іноді робота програми Free Port Scanner 3.1.5 на комп'ютері під керуванням операційної системи Windows 7 призводила до зависання ПК, доводилося запускати Диспетчер завдань (комбінація CTRL+Alt+Delete) для зупинення Free Port Scanner.

10-Страйк: Сканування Мережі.

10-Страйк: Сканування Мережі – безкоштовний мережевий сканер, який дозволяє виявляти всі пристрої (комп'ютери, сервери та хости), підключені до локальної мережі.


Сканування мережі здійснюється багатопоточно, що дозволяє досить швидко виявити всі пристрої, підключені до локальної мережі. Підтримується безліч протоколів, зокрема ICMP-пінг, пошук відкритих TCP-портів, NetBios, SNMP, UPnP.

Крім виявлення мережних пристроїв, за допомогою 10-Страйк: Сканування Мережі можна також:

  • переглядати інформацію про виявлені комп'ютери (встановлені програми, реєстр Windows, запущені процеси та служби);
  • вмикати та вимикати комп'ютери по мережі;
  • знаходити відкриті порти;
  • отримувати інформацію про MAC-адреси.

Advanced IP Scanner.

Advanced IP Scanner – безкоштовна програма, призначена для швидкого багатопоточного сканування локальної мережі. Advanced IP Scanner дозволяє зібрати велику кількість інформації про всі пристрої, підключені до мережі (у тому числі і про Wi-Fi-роутери) і отримати доступ до спільних папок та інших ресурсів.


До переваг Advanced IP Scanner можна віднести:

  • швидкість сканування;
  • максимальна кількість інформації про кожен мережевий пристрій;
  • можливість вмикати та вимикати комп'ютери по мережі;
  • гарний та зручний інтерфейс.

Результати сканування, отримані Advanced IP Scanner, можна зберегти у вигляді фала форматів HTML або CSV.

Angry IP Scanner.

Angry IP Scanner – безкоштовна програма з відкритим вихідним кодом для сканування IP-адрес та портів. Ця програма працює на комп'ютерах під керуванням операційної системи Windows, Linux, Mac OS X.


Angry IP Scanner пінгує всі IP-адреси та визначає їх статус. По кожній IP-адресі збирається дані про MAC-адресу, хост, відкриті порти. Крім того, відображається інформація з NetBIOS (ім'я комп'ютера та робочої групи, користувач). Для прискорення сканування використано багатопоточну технологію. Результати сканування можна експортувати до файлів форматів CSV, TXT, XML.

Функціональні можливості Angry IP Scanner можна розширювати за допомогою плагінів.

Програми - мережні сканери в першу чергу призначені для мережевих адміністраторів та IT-фахівців, але й простий користувач комп'ютера може отримати користь від застосування IP-сканера. Наприклад, за допомогою мережевого сканера можна виявити халявщика, який підключився до нашого Wi-Fi-роутера і використовує наше Інтернет-підключення, або дізнатися, які пристрої підключені до офісної мережі - з цікавості, звичайно.

Днем з найпопулярніших інструментів системних адміністраторів є утиліти для сканування мережі. Навряд чи можна зустріти системного адміністратора, який ніколи не використовував у своїй практиці команду ping, яка входить (у тому чи іншому вигляді) до складу будь-якої операційної системи. Дійсно, сканування мережі – це потужний інструмент, який регулярно використовується при налаштуванні мережі та мережного обладнання, а також при пошуку несправних вузлів. Втім, окрім здійснення сканування в мережі «з мирною метою», ці утиліти є улюбленим інструментом будь-якого хакера. Більше того, всі найвідоміші утиліти для мережевого сканування були розроблені саме хакерами. Адже саме за допомогою даних утиліт можна зібрати відомості про мережеві комп'ютери, підключені до Інтернету, інформацію про архітектуру мережі, про тип мережевого обладнання, що використовується, про відкриті порти на мережевих комп'ютерах, тобто всю ту первинну інформацію, яка необхідна для успішного злому мережі зловмисниками. Ну а оскільки утиліти сканування мереж використовуються хакерами, то ці утиліти застосовуються і для з'ясування вразливих місць локальної мережі при налаштуванні (на предмет наявності відкритих портів і т.д.).

Загалом утиліти для автоматизованого сканування мереж можна умовно розділити на два типи: утиліти для сканування IP-адрес та утиліти для сканування портів. Звичайно, такий поділ дуже умовний, оскільки в переважній більшості випадків мережеві сканери поєднують у собі обидві можливості.

Сканування IP-адрес

Якщо говорити про механізми, які використовуються в утилітах сканування IP-адрес, то, як правило, йдеться про розсилання широкомовних пакетів ICMP. Утиліти відправляють пакети типу ICMP ECHO за вказаною IP-адресою і чекають пакету ICMP ECHO_REPLY. Отримання такого пакета означає, що комп'ютер підключено до мережі за вказаною IP-адресою.

Розглядаючи можливості протоколу ICMP для збору інформації про мережу, слід зазначити, що прослуховування за допомогою утиліти ping і їй подібних - це лише верхівка айсберга. Обмінюючись ICMP-пакетами з будь-яким вузлом мережі, можна отримати значно ціннішу інформацію про мережу, ніж констатація факту підключення вузла до мережі за заданою IP-адресою.

Тут виникає закономірне питання: чи можна захиститися від такого роду сканування? Власне, все, що для цього потрібно, це заблокувати відповіді на запити ICMP. Саме такий підхід найчастіше використовується системними адміністраторами, які дбають про безпеку своїх мереж. Однак, незважаючи на блокування пакетів ICMP, існують інші методи, які дозволяють визначити, чи підключений цей вузол до мережі.

У тих випадках, коли обмін даними за протоколом ICMP заблоковано, використовується метод сканування портів (port scanning). Просканувавши стандартні порти кожної потенційної IP-адреси мережі, можна визначити, які вузли підключені до мережі. Якщо порт відкритий (opened port) або знаходиться в режимі очікування (listening mode), це означає, що за даною IP-адресою є комп'ютер, підключений до мережі.

Прослуховування мережі методом сканування портів відноситься до розряду так званого прослуховування TCP.

Захист від сканування IP-адрес

Оскільки несанкціоноване прослуховування мережі в кращому випадку викликає роздратування у системних адміністраторів, існують відповідні контрзаходи, які здатні виявити факт самого прослуховування, так і заблокувати проходження пакетів, що передаються при ping-прослуховуванні.

Як зазначалося, ICMP- і TCP-прослуховування — це загальноприйняті методи дослідження мережі перед безпосередньою спробою проникнення. Тому виявлення факту прослуховування дуже важливе з точки зору можливості отримання інформації про потенційне місце проникнення та джерело загрози.

Втім, отримати можливість своєчасного виявлення факту прослуховування мережі ще не означає вирішити проблему. Не менш важливо в цьому випадку вміти запобігти можливості прослуховування мережі. Перший крок у цьому напрямі — оцінити, наскільки важливим є обмін даними по протоколу ICMP між вузлами конкретної локальної мережі. Є безліч різноманітних типів пакетів ICMP, і згадувані вище пакети ICMP ECHO і ICMP ECHO_REPLY — два з них. У більшості випадків немає потреби дозволяти обмін даними між вузлами мережі та Інтернетом з використанням усіх наявних типів пакетів. Практично всі сучасні брандмауери (як апаратні, так і програмні) мають можливість відфільтровувати пакети ICMP. Тому, якщо з низки причин неможливо повністю блокувати всі типи повідомлень ICMP, слід обов'язково заблокувати ті типи повідомлень, які не потрібні для нормального функціонування мережі. Наприклад, якщо в корпоративній мережі є сервер, розміщений в демілітаризованій зоні (DMZ-зона), то для нормального функціонування сервера досить дозволити ICMP-повідомлення типу ECHO_REPLY, HOST UNREACABLE і TIME EXCEEDED. Крім того, у багатьох випадках брандмауери дозволяють створювати список IP-адрес, за якими дозволено обмін повідомленнями за протоколом ICMP. У цьому випадку можна дозволити обмін повідомленнями ICMP лише в Інтернет-провайдері. Це, з одного боку, дозволить провайдеру робити діагностику з'єднання, а з іншого — ускладнить несанкціоноване прослуховування мережі.

Слід завжди пам'ятати, що, незважаючи на всю зручність протоколу ICMP для діагностування мережевих проблем, він може з успіхом використовуватися і для створення цих проблем. Дозволивши необмежений доступ до мережі за протоколом ICMP, ви дозволите хакерам реалізувати напад типу DoS.

Сканування портів

наведений тип мережного сканування - сканування портів. Механізм сканування портів заснований на спробі пробного підключення до портів TCP та UDP досліджуваного комп'ютера з метою визначення запущених служб та відповідних портів. Порти, що обслуговуються, можуть знаходитися у відкритому стані або в режимі очікування запиту. Визначення портів, що знаходяться в режимі очікування, дозволяє з'ясувати тип операційної системи, що використовується, а також запущені на комп'ютері програми.

Існує порівняно багато способів сканування портів, але для Windows найчастіше зустрічаються такі:

  • TCP-сканування підключенням (TCP connect scan);
  • TCP-сканування за допомогою повідомлень SYN (TCP SYN scan);
  • TCP нуль-сканування (TCP Null sсan);
  • TCP-сканування за допомогою повідомлень ACK (TCP ACK scan);
  • UDP-сканування (UDP scan).

Метод TCP-сканування підключенням (TCP connect scan) полягає у спробі підключення протоколом TCP до потрібного порту з проходженням повної процедури узгодження параметрів з'єднання (процедура handshake), що полягає в обміні службовими повідомленнями (SYN, SYN/ACK, ACK) між вузлами мережі.

У методі TCP-сканування за допомогою повідомлень SYN (TCP SYN scan) повного підключення до порту немає. Досліджуваному порту надсилається повідомлення SYN, і якщо у відповідь надходить повідомлення SYN/ACK, це означає, що порт перебуває у режимі прослуховування. Цей метод сканування портів є більш прихованим у порівнянні з методом сканування з повним підключенням.

У методі TCP-нуль-сканування (TCP Null sсan) здійснюється відправлення пакетів з вимкненими прапорами. Досліджуваний вузол у відповідь має надіслати повідомлення RST всім закритих портів.

Метод TCP-сканування за допомогою повідомлень ACK (TCP ACK scan) дозволяє встановити набір правил, що використовуються брандмауером, і з'ясувати, чи брандмауер виконує розширену фільтрацію пакетів.

Метод UDP-сканування полягає у надсиланні пакетів за протоколом UDP. Якщо у відповідь надходить повідомлення, що порт недоступний, це означає, що порт закритий. За відсутності такої відповіді можна припустити, що порт є відкритим. Варто зазначити, що протокол UDP не гарантує доставки повідомлень, тому цей метод сканування не дуже надійний. Крім того, UDP-сканування — процес дуже повільний, у зв'язку з чим такого сканування вдаються вкрай рідко.

Захист від сканування портів

Навряд чи вдасться перешкодити будь-кому спробувати сканування портів на вашому комп'ютері. Однак цілком можливо зафіксувати сам факт сканування та звести до мінімуму можливі наслідки. Для цього доцільно відповідним чином налаштувати брандмауер і відключити всі служби, які не використовуються. Налаштування брандмауера полягає в тому, щоб закрити всі порти, що не використовуються. Крім того, всі апаратні та програмні брандмауери підтримують режим виявлення спроб сканування портів, тому не варто нехтувати цією можливістю.

Утиліти для сканування мереж

WS PingPro 2.30

Платформа: Windows 98/Me/NT/2000/XP

Ціна: 80 дол.

Демо версія: 30 днів

Однією з найвідоміших утиліт для сканування IP-адрес мережі є WS PingPro 2.30 (рис. 1).

Сканер WS PingPro 2.30 дозволяє визначити список всіх IP-адрес, за якими є підключені до мережі вузли, а також з'ясувати їх імена. Крім того, сканер WS PingPro 2.30 визначає запущені на комп'ютері служби та дає можливість просканувати порти мережного комп'ютера в заданому діапазоні (у демо-версії програми цю можливість заблоковано).

Для налаштування на різні за продуктивністю мережі сканер WS PingPro 2.30 дозволяє задавати час, протягом якого очікується відповідь від мережі хоста (за замовчуванням — 300 мс).

Відзначимо, що мережевий сканер - це лише одна з можливостей пакету WS PingPro 2.30. На додаток до мережного сканеру пакет WS PingPro 2.30 надає у розпорядження користувача такі утиліти, як SNMP tool, WinNet, Time tool, Throughput, Info tool та ін.

Так, утиліта SNMP tool дозволяє отримати інформацію про мережному вузлі (як правило, йдеться про комутатори та маршрутизатори), що підтримує протокол SNMP.

Утиліта WinNet дозволяє просканувати локальну мережу і відобразити NetBEUI-імена всіх вузлів мережі, доменів і ресурсів, що розділяються.

Утиліта Time tool синхронізує час локального комп'ютера із часом найближчого сервера часу.

Throughput - це невелика діагностична утиліта, що дозволяє протестувати швидкість з'єднання користувача з віддаленим вузлом мережі.

Advanced IP Scanner v.1.4

Платформа: Windows

Ціна:безкоштовно

Утиліта Advanced IP Scanner 1.4 є одним із найшвидших на даний момент IP-сканерів (рис. 2). Наприклад, сканування мережі класу C займає лише кілька секунд. На додаток до IP-сканування утиліта Advanced IP Scanner 1.4 дозволяє отримати інформацію про мережні імена вузлів, а також забезпечує віддалене вимикання або перезавантаження комп'ютерів. У разі підтримки комп'ютерами функції Wake-On-Lan є можливість віддаленого включення. Зазначимо, що такі функції, як віддалене вимкнення, перезавантаження або увімкнення комп'ютерів, можуть бути реалізовані одночасно для всіх або групи мережевих комп'ютерів.

Advanced LAN Scanner v1.0 BETA

Платформа: Windows

Ціна:безкоштовно

Ще одна утиліта, що дозволяє сканувати IP-адреси, - Advanced LAN Scanner v1.0 BETA (рис. 3). У порівнянні з Advanced IP Scanner 1.4 дана утиліта є поєднанням IP-сканера і сканера портів і дозволяє не тільки визначати IP-адреси, але і збирати докладну інформацію про мережеві імена комп'ютерів, про встановлену на них операційну систему, про відкриті порти, про приналежність користувача до тієї чи іншої групи, про користувачів, які мають санкціонований доступ до комп'ютера, і безліч іншої інформації, яка може виявитися дуже корисною як системному адміністратору, так і зловмиснику. Крім того, даний сканер має широкі можливості налаштування і дозволяє задавати кількість потоків, що одночасно виконуються, діапазон сканованих портів, а також керувати часом очікування відповіді на запит. На закінчення відзначимо, що цей сканер дозволяє підключатися до вибраного вузла або використовуючи поточний обліковий запис користувача, або задаючи ім'я користувача та пароль.

Але найголовніша перевага сканера Advanced LAN Scanner v1.0 BETA полягає в тому, що на даний момент це один із найшвидших сканерів. Додамо сюди те, що цей сканер безкоштовний, і стане зрозуміло, чому його просто необхідно мати під рукою будь-якому системному адміністратору (і не тільки йому).

Advanced Port Scanner v1.2

Платформа: Windows

Ціна:безкоштовно

Утиліта Advanced Port Scanner v1.2 (рис. 4) за своїми функціональними можливостями багато в чому схожа на Advanced LAN Scanner v1.0 BETA. Так, сканер Advanced Port Scanner v1.2 дозволяє збирати інформацію про IP-адреси вузлів, про їх мережеві імена та відкриті порти. Можливості налаштування цього сканера полягають у заданні діапазону сканованих IP-адрес та портів. Крім того, є можливість задавати кількість потоків, що одночасно виконуються, і керувати часом очікування відповіді на запит.

Зазначимо, що даний сканер, як і сканер Advanced LAN Scanner v1.0 BETA, є дуже швидкісним і дозволяє зібрати детальну інформацію про мережу в найкоротші терміни.

IP-Tools v2.50

Платформа: Windows

Ціна:безкоштовно

Пакет IP-Tools v2.50 є набір з 19 мережевих утиліт, об'єднаних загальним інтерфейсом (рис. 5). У цьому сенсі IP-сканер і сканер портів - лише одна з можливостей утиліти IP-Tools v2.50.

До складу пакету IP-Tools v2.50 входять:

  • Local Info – утиліта, що відображає інформацію про локальний комп'ютер (тип процесора, пам'ять тощо);
  • Connection Monitor - утиліта, що відображає інформацію про поточні TCP-і UDP-з'єднання;
  • NetBIOS Info - утиліта, що відображає інформацію про NetBIOS-інтерфейси локального та віддаленого комп'ютера;
  • NB Scanner - сканер мережевих ресурсів, що розділяються;
  • SNMP Scanner - сканер SNMP-пристроїв у мережі;
  • Name Scanner - сканер мережевих імен комп'ютерів;
  • Port Scanner - TCP-сканер портів;
  • UDP Scanner - UDP-сканер портів;
  • Ping Scanner – IP-сканер з використанням процедури пінгування;
  • Trace – утиліта для відстеження маршруту проходження пакетів;
  • WhoIs - утиліта, що дозволяє збирати інформацію про сайти в Інтернеті;
  • Finger - утиліта, що збирає та надає інформацію про користувачів віддаленого ПК за протоколом Finger;
  • NS LookUp - утиліта, що дозволяє поставити у відповідність IP-адресу та ім'я домену;
  • GetTime - утиліта, що дозволяє синхронізувати час локального ПК та заданого сервера часу;
  • Telnet – утиліта для пошуку клієнтів мережі, у яких встановлена ​​служба Telnet;
  • HTTP – утиліта для пошуку клієнтів мережі, у яких встановлена ​​служба HTTP;
  • IP-Monitor – утиліта для відображення IP-трафіку в реальному часі;
  • Host Monitor – утиліта для відстеження стану вузлів мережі (підключено/вимкнено).

Слід зазначити, що на відміну від розглянутих вище утиліт Advanced Port Scanner v1.2, Advanced LAN Scanner v1.0 BETA і Advanced IP Scanner 1.4, сканери, вбудовані в пакет IP-Tools v2.50, назвати швидкісними досить складно. Процес сканування займає багато часу, тому якщо ставиться завдання саме IP-сканування або сканування портів, краще використовувати більш швидкісні утиліти.

Angry IP Scanner 2.21

Платформа: Windows

Ціна:безкоштовно

Angry IP Scanner 2.21 - це невелика утиліта, що поєднує IP-сканер і сканер портів (рис. 6). До безперечних переваг цієї утиліти слід віднести те, що вона не вимагає інсталяції на ПК. Крім того, вбудовані в неї сканери дуже швидкісні і дозволяють обстежити всю локальну мережу всього за кілька секунд.

Вбудований в утиліту IP-сканер пінгує кожну IP-адресу на предмет його наявності в мережі, а потім, залежно від вибраних опцій, дозволяє визначити мережне ім'я вузла, його MAC-адресу та просканувати порти.

Додаткові можливості утиліти Angry IP Scanner 2.21 можна віднести збір NetBIOS-інформації (ім'я комп'ютера, ім'я робочої групи та ім'я користувача ПК). Результати сканування можна зберігати у різних форматах (CSV, TXT, HTML, XML).

Висока швидкість сканування утиліти Angry IP Scanner 2.21 досягається за рахунок використання множини паралельних потоків. Так, за умовчанням використовуються 64 потоки, але цю кількість можна збільшити для досягнення більшої продуктивності.

SuperScan 4

Платформа: Windows 2000/XP

Ціна:безкоштовно

Утиліта SuperScan 4 (мал. 7) - це нова версія добре відомого мережевого сканера SuperScan. Дана утиліта є ще одним швидким і гнучкий сканер IP-адрес і портів. Утиліта дозволяє гнучко задавати перелік IP-адрес досліджуваних вузлів і портів, що скануються. Як і сканер Angry IP Scanner 2.21, SuperScan 4 не вимагає інсталяції на комп'ютер.

У порівнянні з попередньою версією в новому варіанті SuperScan 4 збільшено швидкість сканування, підтримується необмежений діапазон IP-адрес, покращено метод сканування з використанням ICMP-запитів, додано метод сканування портів TCP SYN та багато іншого.

При роботі зі сканером SuperScan 4 можливе як ручне введення IP-адрес сканування, так і експорт адрес з файлу. Підтримується введення одиночних адрес, діапазону адрес та діапазону у форматі CIDR (10.0.0.1/255). Крім того, IP-адреси можна вставляти безпосередньо з буфера обміну.

Незважаючи на те, що сканер SuperScan 4 чудово працює з налаштуваннями за замовчуванням, він має дуже гнучкі можливості налаштування. Зокрема, за допомогою налаштувань сканера SuperScan 4 можна призначити дослідження лише тих хостів мережі, які відповідають на запит та визначаються як присутні у мережі. У той самий час можна зобов'язати сканер досліджувати всі вузли мережі незалежно від цього, відповідають вони на ICMP-запросы чи ні.

Утиліта SuperScan 4 має вбудований UDP-сканер, що підтримує два типи сканування: Data та Data+ICMP. У методі Data досліджуваному вузлу посилаються пакети даних UDP, які вимагають відповіді сервісів, використовують добре відомі порти. У методі Data+ICMP застосовується аналогічний метод сканування. Якщо порт не відповідає повідомленням «ICMP Destination Port Unreachable», він розглядається як відкритий. Далі використовується сканування відомих закритих портів на предмет генерації ними повідомлень у відповідь. Зазначимо, що цей метод іноді може призводити до помилкових результатів, особливо якщо відповіді на ICMP-запити заблоковані.

Утиліта SuperScan 4 підтримує два типи TCP-сканування портів: TCP-connect та TCP SYN. Параметри сканера дозволяють вибрати тип сканування TCP. З можливостей налаштування сканера SuperScan 4 можна відзначити керування швидкістю сканування (швидкість, з якою сканер надсилає до мережі пакети).

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

NEWT Professional v.2.0

Платформа: Windows 95/98/NT/2000/XP

Ціна:залежно від кількості підтримуваних ПК у мережі

Можливо, ми висловимо суб'єктивну думку, але, на наш погляд, із усіх розглянутих нами утиліт NEWT Professional v.2.0 (рис. 8) найфункціональніша. Втім, її важко розглядати як IP-сканер чи сканер портів. Скоріше це комплексний мережевий сканер, що дозволяє автоматизувати збір інформації про комп'ютери локальної мережі. Для системних адміністраторів, яким іноді доводиться займатися інвентаризацією мережі, він буде незамінним інструментом.

На жаль, на відміну від інших розглянутих нами утиліт, NEWT Professional v.2.0 є платною, а демо-версія програми має 30-денний термін дії та обмежену функціональність (наприклад, підтримується сканування лише 10 мережевих комп'ютерів).

OstroSoft Internet Tools v.5.1

Платформа: Windows 95/98/NT/2000/XP

Ціна: 29 дол.

Утиліта OstroSoft Internet Tools v.5.1 (рис. 9) є комплексним мережевим сканером, що включає 22 утиліти: Scan Wizard, Domain Scanner, Port Scanner, Netstat, Ping, Traceroute, Host Resolver, NS Lookup, Network Info, Local Info, Finger , FTP, HTML Viewer, Ph, Simple Services, TCP Clients, WhoIs, Connection Watcher, Host Watcher, Service Watcher, Mail Watcher, HTML Watcher.

По суті, Scan Wizard є одночасно IP-сканером і сканером портів і допускає досить гнучкі налаштування. Зокрема, можна задавати швидкість сканування, вводити діапазон IP-адрес, задавати діапазон портів, що скануються, вибирати тип сканування портів. Можна зберігати результати сканування. Варто відзначити, що за своїми швидкісними характеристиками даний сканер не відрізняється видатними можливостями, тому дослідження мережі класу С може зайняти у нього дуже багато часу.

Утиліта Domain Scanner дозволяє визначити ті хости всередині домену, які використовують ту чи іншу службу. Наприклад, поставивши адресу домену, можна з'ясувати, на яких комп'ютерах встановлений Web-сервер, Mail-сервер, FTP-сервер і т.д.

Утиліта Port Scanner – це сканер портів, але, на відміну від Scan Wizard, у цьому випадку йдеться про сканування окремого комп'ютера. Утиліта дозволяє задавати діапазон портів, що скануються, налаштовувати швидкість сканування і час timeout. Результатом сканування є не тільки список відкритих портів або портів у режимі очікування, але й відповідні служби або програми, а також короткий опис цих служб.

Утиліта Ping – це варіант використання команди ping, але з можливістю налаштування за допомогою графічного інтерфейсу.

Traceroute - це варіант команди tracert з можливістю налаштування за допомогою графічного інтерфейсу.

Утиліта Netstat дозволяє відображати інформацію про активні з'єднання локального комп'ютера.

Host Resolver визначає за мережевим ім'ям або URL-адресою IP-адресу, і навпаки.

Інші утиліти, інтегровані в пакет OstroSoft Internet Tools v.5.1, досить прості та не вимагають коментарів.

Варто зазначити, що OstroSoft Internet Tools v.5.1 є платним. Враховуючи, що існує безліч безкоштовних аналогів, які не поступаються даному пакету в плані функціональності, навряд чи OstroSoft Internet Tools v.5.1 зможе колись завоювати популярність. До того ж, демонстраційна версія програми має дуже обмежену функціональність і не дозволяє змінювати налаштування сканера.

3D Traceroute v. 2.1.8.18

Платформа: Windows 2000/2003/XP

Ціна:безкоштовно

Як випливає з назви цієї утиліти (рис. 10), її основне призначення - відстеження маршрутів проходження пакетів між вузлами мережі. При цьому особливість цієї утиліти полягає в тому, що вона дозволяє будувати тривимірний графік затримок по всьому маршруту.

Утиліта не вимагає інсталяції на комп'ютер і, що не менш приємно, абсолютно безкоштовна.

Звичайно, нас насамперед цікавлять не так можливості побудови тривимірних графіків затримок, як інтегрований у цю утиліту сканер портів (рис. 11).

Мал. 11. Вбудований сканер портів 3D Traceroute v. 2.1.8.18

Сканер портів дозволяє задавати діапазони досліджуваних IP-адрес та сканованих портів. Назвати цей сканер швидкісним навряд чи можливо. Сканування мережі класу С щодо наявності відкритих портів у діапазоні 1-1024 займає в нього більше години. Крім того, як з'ясувалося в ході тестування, достовірність результатів, що видаються цим сканером, є дуже сумнівною. Зокрема, на всіх ПК у нашій тестовій мережі цей сканер наполегливо визначав порт 21 як відкритий, що не відповідало дійсності.

Крім вбудованого сканера портів, пакет 3D Traceroute має й інші вбудовані утиліти, які, втім, цілком стандартні і не мають відношення до теми мережевих сканерів. В цілому ж, незважаючи на те, що дана утиліта є безкоштовною, у порівнянні з іншими мережевими сканерами вона явно програє.