Прослуховування мережі (sniffing). Як дізнатися, який процес прослуховує порт Windows? Методи та інструменти

Команда netstat, що входить до стандартного набору мережних інструментів UNIX, відображає різну network–related інформацію, таку як мережеві підключення, статистику інтерфейсів, таблиці маршрутизації, masquerade, multicast, тощо.

У цій статті розглянемо десять практичних прикладів використання команди netstat в Linux.

1. Список всіх портів (як прослуховуються, так і ні)

Перелічити всі порти: netstat -a

# netstat -a | more Active Internet connections (server and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:domain *:* LISTEN udp6 0 0 fe80::20c:29ff:fe68:ntp [::]:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ACC] STREAM LISTENING 20492 /var/run/mysqld/mysqld.sock unix 2 [ACC] STREAM LISTENING 23323 -fpm.sock

Перелічити всі TCP порти: netstat -at

# netstat -at Active Internet connections (server and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:domain *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:http *:* LISTEN

Перерахувати всі UDP порти: netstat -au

# netstat -au Active Internet connections (server and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 localhost:domain *:* udp 0 0 *:bootpc *:* udp6 0 0 fe80::20c: 29ff:fe68:ntp [::]:*

2. Список сокетів, які перебувають у стані LISTEN

Перерахувати всі порти, що прослуховуються: netstat -l

# netstat -l Active Internet connections (одні сервери) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:domain *:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 192.168.128.134:ntp *:*

Перелічити порти, що прослуховуються TCP: netstat -lt

# netstat -lt Active Internet connections (тільки сервери) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp6 0 0 [::] :ssh [::]:* LISTEN

Перерахувати порти, що прослуховуються UDP: netstat-lu

# netstat -lu Active Internet connections (одні сервери) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:bootpc *:* udp6 0 0 [::]:ntp [::]:*

Перерахувати прослуховуються UNIX сокети: netstat -lx

# netstat -lx Active UNIX domain sockets (тільки серверів) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 3141 /var/run/fail2ban/fail2ban.sock unix 2 [ ACC ] STREAM LISTENING 2049 run/mysqld/mysqld.sock unix 2 [ACC] STREAM LISTENING 23323 /var/run/php5-fpm.sock

3. Перегляд статистики для кожного протоколу

Показати статистику всіх портів: netstat -s

# netstat -s Ip: 11150 total packets received 1 with invalid addresses 0 forwarded 0 incoming packets discarded 11149 incoming packets delivered 11635 requests sent out Icmp: 13791 ICMP messages receiled 1s. Tcp: 15020 active connections openings 97955 passive connection openings 135 failed connection attempts Udp: 2841 packets received 180 packets to unknown port received. .....

Показати статистику тільки TCP портів: netstat -st

# netstat -st

Показати статистику тільки UDP портів: netstat -su

# netstat -su

4. Відображення PID та імені процесу у виводі netstat

Опція netstat -pдодасть "PID/Program Name" у висновок netstat, і може бути поєднана з будь-яким іншим набором опцій. Це дуже корисно при налагодженні для визначення того, яка програма працює на певному порту.

# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 org-ru-putty.vm.udf:www 52-106.plus.kerch :55723 ESTABLISHED 9486/nginx: worker tcp 0 0 org-ru-putty.vm.udf:www 52-106.plus.kerch:55757 ESTABLISHED 9486/nginx: worker

5. Дозвіл імен у виводі netstat

Коли вам не потрібно розпізнати ім'я хоста, ім'я порту, ім'я користувача, використовуйте опцію netstat -nдля виведення значень у цифровому форматі. Команда покаже IP-адресу замість хоста, номер порту замість імені порту, UID замість імені користувача.

Це також прискорить висновок, оскільки netstat не виконуватиме непотрібний пошук.

# netstat -an

Для виведення цифрових значень лише деяких з цих пунктів використовуйте такі команди:

# netsat -a --numeric-ports # netsat -a --numeric-hosts # netsat -a --numeric-users

6. Виведення інформації netstat безперервно

Опція netstat -cбуде виводити інформацію безперервно, у стилі top, оновлюючи екран кожні кілька секунд.

# netstat -c Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 org-ru-putty.vm.udf:www 182.131.74.202:59933 FIN_WAIT2 tcp 0 0 ru-putty.vm.udf:www 182.131.74.202:63761 FIN_WAIT2 tcp 0 0 org-ru-putty.vm.udf:www 92-181-66-102-irk.:4585 ESTABLISHED ^C

7. Непідтримувані системою сімейства адрес

Опція netstat --verboseпокаже докладний висновок, а в самому кінці відобразить Address Family, що не підтримуються.

Netstat: не підтримується для `AF IPX" on this system. netstat: no support for `AF X25" на цій системі. netstat: no support for `AF NETROM" on this system.

8. Маршрутизація ядра

Показати таблицю маршрутизації ядра: netstat -r

# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Windows irtt Iface default 192.168.128.2 0.0.0.0 UG 0 0 0 eth0 192.168.128.0 * 255.0 0 255.05.

Примітка: Використовуйте netstat -rnдля перегляду маршруту в цифровому форматі без дозволу назв вузлів.

9. Відповідність портів та процесів

Дізнатися, який порт займає певна програма:

# netstat-ap | grep ssh (Не всі процеси можуть бути identified, no-owned process info не буде показано, що ви не можете скористатися ним.) tcp 0 0 *:ssh *:* LISTEN - tcp6 0 0 [::] :ssh [::]:* LISTEN -

З'ясувати, яким процесом використовується певний порт:

# netstat -an | grep ":80"

10. Мережеві інтерфейси

Показати список мережних інтерфейсів: netstat -i

# netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 1911037 0 0 0 1382056 0 0 0 0 0 0 0 0 0 0 0 LRU

Показати розширену інформацію про інтерфейси (аналогічно ifconfig): netstat -ie

# netstat -ie Kernel Interface table eth0 Link encap:Ethernet HWaddr 00:0c:29:68:4c:a4 inet addr:192.168.128.134 Bcast:192.168.128.255 fe68:4ca4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24278 errors:0 dropped:0 overruns:0 frame:0 TX packets:11275 errors:0 dropped:0 overruns:0 carrier collisions:0 txqueuelen:1000 RX bytes:33203025 (33.2 MB) TX bytes:665822 (665.8 KB) Interrupt:19 Base address:0x2000

11. netstat -lnptux

Резюмуємо вищеописане та об'єднаємо ключі в одну корисну команду, яка покаже:

  • -l всі відкриті порти (LISTEN)
  • -t за протоколом TCP
  • -u за протоколом UDP
  • -x за протоколом UNIX Socket
  • -n без резолва IP/імен
  • -p але з назвами процесів та PID-ами

Примітка: Не всі процеси можуть бути ідентифіковані останнім ключем, чужі процеси не показані. Ви повинні мати права root щоб побачити все.

# netstat -lnptux Active Internet connections (лише сервери) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 9614/nginx tc0 0. :22 0.0.0.0:* LISTEN 601/sshd udp 0 0 8.8.4.4:123 0.0.0.0:* 574/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:* 574. 123 0.0.0.0:* 574/ntpd Active UNIX domain sockets (лише сервери) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ACC ] STREAM LISTENING 4233 826/python /var/run/fail2. sock unix 2 [ACC] STREAM LISTENING 8122 2561/mysqld /var/run/mysqld/mysqld.sock unix 2 [ACC] STREAM LISTENING 160413 7301/php-fpm.conf/var/run/php5-fp

Січень 2013, сайт

Please enable JavaScript

© 2009–2019, сайт – При використанні матеріалів сайту вказуйте джерело.

Курс лекцій

з дисципліни “Захист інформаційних процесів у комп'ютерних системах”

Частина 1

1. Цілі, переслідувані зловмисником

2. Методи та інструменти

2.1. Прослуховування мережі

2.2. Сканування

2.3. Генерація пакетів

2.4. Троянські програми

2.5. Експлойти

2.6. Програми для автоматизованого підбору пароля

3. Класифікація мережевих атак

3.1. За рівнем моделі OSI

3.2. За типом

3.3. За місцем розташування зловмисника та об'єкта, що атакується.

4. Атаки типу "spoofing"

5. Атаки, які забезпечують несанкціонований обмін даними

5.1. Тунелювання

5.2. Атака крихітними фрагментами

6. Атаки, що забезпечують перехоплення даних

6.1. Неправдиве повідомлення ICMP Redirect

6.2. Помилкове повідомлення DHCP

6.3. Атака на протоколи маршрутизації

7. Розподілені атаки відмови в обслуговуванні (DDoS)

7.1. Загальні принципи та концепції DDoS атак

7.2. DDoS атаки, засновані на протоколі TCP

7.3. DDoS атаки, засновані на протоколі UDP

7.4. DDoS атаки, засновані на протоколі ICMP

8. Атаки на прикладному рівні

8.1. Парольні атаки

8.2. SQL Injection

8.3. Cross-Site Scripting (XSS)

9. Загрози та атаки, специфічні для бездротової мережі стандарту 802.11


Актуальність та важливість проблеми забезпечення інформаційної безпеки обумовлена ​​такими факторами:

· Швидкий розвиток глобальної мережі Інтернет

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

· Розповсюдження простих у застосуванні програм для злому

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

· Автоматизація багатьох бізнес-процесів компаній

Значне збільшення обсягів інформації, що зберігається та обробляється за допомогою комп'ютерів та інших засобів автоматизації, сприяло появі загроз, пов'язаних з можливістю втрати, спотворення та розкриття даних. За оцінками фахівців нині близько 70-90% інтелектуального капіталу компанії зберігається у цифровому вигляді.



· Численні вразливості програмних та мережевих платформ

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

· Нехтування питаннями інформаційної безпеки в компанії.

Відсутність інформаційної підтримки співробітників у сфері забезпечення ІБ та збереження комерційної таємниці.

· Збільшення популярності бездротових мережевих технологій у корпоративному середовищі. Це обумовлюється простотою розгортання (немає необхідності прокладати кабель), відносною дешевизною обладнання, значно меншою вартістю у разі необхідності розширення мережі (порівняно з дротовим аналогом, достатньо охопити точками доступу необхідну зону), а також мобільністю для користувачів та гнучкістю при розширенні.

Цілі, переслідувані зловмисником

- Викрадення інформації(Приклад - крадіжка логіна і пароля; викрадення інформації, що є комерційною таємницею)

- Модифікація інформації(Приклад - зміна інформації про стан рахунку в базі даних банку)

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

Методи та інструменти

Прослуховування мережі (sniffing)

Прослуховування трафіку в локальних мережах здійснюється за допомогою спеціальних програм - сніферів (sniffers). Ця програма відловлює пакети, які надходять на мережевий інтерфейс комп'ютера, і дозволяє проаналізувати їх.

Через те, що деякі мережні програми передають дані в текстовому форматі (HTTP, FTP, SMTP, POP3 і т.д.), за допомогою сніфера можна дізнатися корисну, а іноді й конфіденційну інформацію (наприклад, імена користувачів та паролі). Перехоплення імен і паролів створює велику небезпеку, оскільки користувачі часто застосовують один і той же логін і пароль для багатьох ресурсів та програм.

Інтерфейс програми-сніфера Network Chemistry Packetyzer

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

Раніше локальні мережі були некомутувані. Обмін даними між комп'ютерами в мережі відбувався по тому самому інформаційному каналу або, грубо кажучи, по тому самому проводу незалежно від відправника і одержувача. До таких мереж відносяться мережі Ethernet з топологією «Загальна шина» (зараз застаріли), мережі Ethernet з топологією «Зірка» на основі хаба, або концентратора (нині використовуються рідко), бездротові мережі стандарту Wi-Fi.

Ethernet із топологією «Загальна шина»

Ethernet із топологією «Зірка» на основі хаба (концентратора)

Бездротова Wi-Fi мережа

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

Зрозуміло, що за такої схеми зловмиснику нескладно прослухати весь трафік у мережі. Для цього треба перевести мережеву картку в спеціальний режим – так званий promiscuous (нерозбірливий). Мережева карта в «нерозбірливому» режимі приймає всі пакети, незалежно від їх адреси призначення, і передає їх програмі-сніферу для аналізу. (У більшості випадків promiscuous-режим включається автоматично після запуску сніффера).

Проте в даний час більшість мереж Ethernet побудовані на основі комутатора (switch).

Ethernet з топологією "Зірка" на основі комутатора (switch)

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

Однак існують способи, що дозволяють зловмиснику обійти дане обмеження та прослухати трафік, який для нього не призначений. До одного з таких способів відноситься атака ARP spoofing (інша назва атаки - ARP poisoning, тобто отруєння). Атака ARP spoofing відноситься до типу man-in-the-middle(людина посередині).

Для формування пакета та відправлення його в мережу комп'ютера необхідно знати IP та MAC адреси одержувача пакета. IP адреса, як правило, відома відправнику заздалегідь (або відоме доменне ім'я одержувача, через яке за допомогою DNS-сервера нескладно отримати і IP-адресу). Для пошуку MAC-адреси за відомим IP призначений протокол ARP (Address Resolution Protocol – протокол дозволу адреси). Працює він так:

Коли комп'ютер повинен надіслати пакет за певною IP-адресою, він спочатку вивчає свій ARP-кеш на наявність шуканої відповідності IP - MAC. (Вміст ARP-кешу свого комп'ютера можна переглянути, виконавши команду arp –a у командному рядку). Якщо таке є, то отримана MAC-адреса вставляється в заголовок вихідного пакета, і пакет відправляється в мережу.

Інакше до мережі надсилається спеціальний широкомовний ARP-запит ("Who has 192.168.0.1?"). Будь-який комп'ютер, упізнавши в запиті свою IP-адресу, повинен відповісти його відправнику і надіслати свою MAC-адресу. Той міститься в ARP-кеш автора запиту та використовується для подальшого відправлення мережевих пакетів.

Зловмисник може використовувати протокол ARP, щоб перехопити трафік між двома комп'ютерами мережі.

Схема проведення атаки ARP spoofing

Припустимо, що зловмиснику X треба переглянути трафік, що передається з A на B і назад. Для цього він відправляє на комп'ютер A помилкова ARP-відповідь,містить IP адресу комп'ютера B і нібито відповідну йому MAC-адресу зловмисника X. Аналогічна ARP-відповідь відправляється на B: в ній IP-адресу комп'ютера А зіставляється MAC-адреса зловмисника X. Протокол ARP не вимагає аутентифікації, тому А і В не можуть перевірити достовірність вхідних даних і одразу занесуть їх у свій ARP-кеш. Таким чином, просиходить отруєння ARP-кешувузлів А і В, занесення в них невірних, хибних даних. При цьому, надіславши раз помилковий ARP-пакет і підмінивши ARP-кеш чужого комп'ютера, потрібно періодично виконувати цю процедуру знову і знову, оскільки будь-яка операційна система також постійно оновлює свій ARP-кеш через певні проміжки часу. Достатньо це робити раз на 20–40 секунд.

Тепер комп'ютер А, збираючись відправити дані на, відправить їх на Х (оскільки реальна доставка даних комутатором відбувається за МАС-адресою одержувача). Зловмисник Х отримує дані, переглядає їх і потім переправляє законному одержувачу, щоб не бути виявленим. Аналогічна ситуація відбувається і у зворотному напрямку: трафік, що передається від В до А, також може бути вивчений зловмисником. p align="justify"> Особливу вигоду для атакуючого (і, відповідно, особливу небезпеку) представляє той випадок, коли один з атакованих комп'ютерів є шлюзом, тобто. служить для підключення локальної мережі до Інтернету. Тоді зловмиснику можуть стати доступні імена користувачів та паролі для доступу до Інтернет-ресурсів (веб сайтів, ICQ, електронної пошти) та інша конфіденційна інформація, що передається до Інтернету.

Таким чином, комутована інфраструктура не ліквідує загрози сніфінгу. Однак вона помітно знижує її гостроту.

Методи захисту від ARP spoofing

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

Записи в ARP-кеші – статичний та динамічний

Однак такий спосіб складно застосовувати у великих мережах – через його трудомісткість. Також не вдасться використовувати статичні записи в тому випадку, коли роздача IP-адрес виконується автоматично із застосуванням DHCP-сервера.

Використання інтелектуальних комутаторів.

Багато сучасних моделей комутаторів мають вбудовану функцію захисту від ARP спуфінгу (виконується шляхом аналізу ARP-трафіку на комутаторі, та блокування ним хибних ARP-запитів)

Використання спеціальних модулів міжмережевих екранів для виявлення та блокування атак

Деякі міжмережні екрани мають у своєму складі спеціальний модуль (наприклад, в Outpost він називається «Детектор атак»), що дозволяє виявляти підозрілу мережну активність та блокувати її, а також сповіщати про це користувача.

Шифрування трафіку

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

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

Атака полягає у відправленні через комутатор великої кількості пакетів з різними помилковими MAC-адресами. При цьому таблиця комутатора переповниться і перейде в режим роботи «концентратора» (hub). Відповідно, зловмиснику стане доступним для перегляду весь трафік у мережі.

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

Сканування

Сканування мережі має на меті виявлення підключених до мережі комп'ютерів та визначення працюючих на них мережевих сервісів (відкритих портів TCP або UDP). Перше завдання виконується надсиланням ICMP-повідомлень Echo за допомогою програми ping із послідовним перебором адрес вузлів у мережі.

Адміністратор мережі може виявити спроби сканування шляхом аналізу трафіку в мережі та відстеження Echo-повідомлень, за короткий проміжок часу, що посилаються послідовно на всі адреси мережі. Для більшої скритності зловмисник може суттєво розтягнути процес у часі («повільне сканування») - це стосується і сканування портів TCP/UDP.

Для визначення того, які UDP- або TCP-програми (а також системні сервіси ОС) запущені на виявлених комп'ютерах, використовуються програми-сканери. Оскільки номери портів всіх основних Інтернет-сервісів стандартизовані, то, визначивши, наприклад, що порт 25/TCP відкритий, можна зробити висновок про те, що даний хост є сервером електронної пошти; порт 80/TCP – Web сервером, тощо. д. Отриману інформацію зловмисник може використовуватиме подальшого розгортання атаки.

Сканування TCP-портів хоста виконується кількома способами. Найбільш простий спосіб - встановлення повного TCP-з'єднання з тестованим портом. Якщо з'єднання вдалося встановити, значить, порт відкритий і до нього підключено серверну програму. Перевагою цього є можливість виконання сканування без спеціального програмного забезпечення: стандартна програма telnet дозволяє вказати довільний номер порту для встановлення з'єднання. Істотний недолік - можливість відстеження та реєстрації такого сканування: при аналізі системного журналу сканованого хоста будуть виявлені численні відкриті та одразу ж перервані з'єднання, внаслідок чого можуть бути вжиті заходи щодо підвищення рівня безпеки. Крім того, у разі використання утиліти telnet, доведеться перебирати всі порти, що цікавлять зловмисника, вручну.

Сканування в режимі половинного відкриття (half-open scanning)немає описаних недоліків. Більшість сучасних сканерів працюють саме у такий спосіб. Сканер направляє на сканований порт SYN-сегмент і чекає на відповідь. Отримання сегмента у відповідь з бітами SYN і ACK означає, що порт відкритий; одержання сегмента з бітом RST означає, що порт закритий. Отримавши SYN+ACK, сканер негайно відправляє на виявлений порт сегмент з RST бітом, таким чином ліквідуючи спробу з'єднання. Так як з'єднання так і не було відкрито (ACK від сканера не отримано), то зареєструвати таке сканування набагато складніше.

Третій спосіб - сканування за допомогою FIN-сегментів. У цьому випадку на порт, що сканується, посилається сегмент із встановленим бітом FIN. Хост повинен відповісти RST-сегментом, якщо FIN-сегмент адресований закритому порту. FIN-сегменти, спрямовані на порт, що перебуває у стані LISTEN, багатьма реалізаціями TCP/IP ігноруються. Таким чином, відсутність відгуку говорить про те, що порт відкритий. Варіанти цього способу сканування - посилка сегментів з прапорами FIN, PSH, URG або взагалі без будь-яких прапорів (Null scan).

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

Для визначення відкритих портів UDP зловмисник може відправити на тестований порт UDP-повідомлення. Отримання відповіді ICMP-повідомлення Port Unreachable говорить про те, що порт закритий.

Програма-сканер може також визначити операційну систему сканованого вузла по тому, як вузол реагує на спеціально сконструйовані, нестандартні пакети: наприклад, TCP-сегменти з безглуздими поєднаннями прапорів або ICMP-повідомлення деяких типів, і за іншими ознаками.

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

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

Звіт програми-сканера Xspider зі списком відкритих портів

Звіт програми-сканера Xspider: знайдена вразливість та рекомендації щодо її усунення

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

Генерація пакетів

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

2.4. Троянські програми

Призначені для крадіжки інформації або керування віддаленим комп'ютером.

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

    Відкрийте вікно командного рядка (як адміністратора). У полі "Початок\Пошук" введіть "cmd", клацніть правою кнопкою миші "cmd.exe" і виберіть "Запуск від імені адміністратора"

    Введіть наступний текст і натисніть клавішу Enter.

    netstat -abno

    -aВідображає всі підключення та порти, що прослуховують.

    -bВідображає виконуваний файл, який бере участь у створенні кожного з'єднання або порту прослуховування. У деяких випадках відомий хост виконуваних файлів є кілька незалежних компонентів, і в цих випадках послідовність компонентів, що беруть участь у створенні з'єднання або порт прослуховування. У цьому випадку файл, що виконується ім'я знаходиться внизу, зверху - компонент, який він назвав, і т.д. доки не буде досягнуто TCP/IP. Зверніть увагу, що цей параметр може тривати багато часу і не вдасться, якщо у вас недостатньо дозволу.

    -nВідображає адреси та номери портів у числовій формі.

    -oВідображає ідентифікатор володіння, пов'язаний з кожним з'єднанням.

    Знайдіть порт, який ви слухаєте у розділі "Локальна адреса"

    Подивіться ім'я процесу безпосередньо під цим.

ПРИМІТКА. Щоб знайти процес у диспетчері завдань

    Зверніть увагу на процес ідентифікатора (ідентифікатор процесу) поряд з порт, який ви шукаєте.

    Відкрийте диспетчер завдань Windows.

    Перейдіть на вкладку Процеси.

    Подивіться на PID, який ви відзначили, коли ви зробили netstat на кроці 1.

    • Якщо ви не бачите стовпець PID, натисніть "Перегляд/Вибір стовпців". Виберіть PID.

      Переконайтеся, що вибрано "Показувати процеси від усіх користувачів".