This page has been robot translated, sorry for typos if any. Original content here.

Мережеві атаки і дещо ще

Введення в мережеві атаки

Нам інформацію про те мережевих атак

фрагментація даних

Передача фрагментованих IP пакетів

Атака Ping flooding

PingOfDeath або SSPing

UDP bomb

SYN flooding

Нестандартні протоколи, інкапсульовані в IP

Застосування протоколу TFTP

атака smurf

атака Land

Впровадження в мережу Internet хибного сервера шляхом створення спрямованого "шторму" помилкових DNS-відповідей на атакується хост

Впровадження в мережу Internet хибного сервера шляхом перехоплення DNS - запиту або створення спрямованого "шторму" помилкових DNS - відповідей на атакується DNS - сервер

Впровадження в мережу Internet хибного DNS-сервера шляхом перехоплення DNS-запиту

Атака DNS flooding

Атака DNS spoofing

Атака IP spoofing

нав'язування пакетів

Sniffing - прослуховування каналу (можливо тільки в сегменті локальної мережі)

Перехоплення пакетів на маршрутизаторі

Нав'язування хосту хибного маршруту з допомогою протоколу ICMP

WinNuke

Помилковий ARP сервер

Передбачення TCP sequence number (IP-spoofing)

локальна буря

IP Hijacking

Виявлення атак і захист від них

методи сканування

Використання протоколу ARP

Сканування мережі за допомогою DNS

UDP bomb

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

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

Stealth-сканування

пасивне сканування

Запрошення системи і небезпека міститься в ньому інформації

Кілька порад при дослідження мережі

Деякі інші способи отримання інформації

Дірки і помилки адміністрування в Windows NT

спам

Як уберегти поштову систему від спамерів

Як працюють спамери

Дірки IIS, WWW, FTP

Введення в мережеві атаки

Підвищення інтересу до TCP / IP-мереж зумовлено бурхливим зростанням мережі Internet. Однак це змушує задуматися над тим, як захистити свої інформаційні ресурси від атак із зовнішньої мережі. Якщо ви підключені до Internet, Ваша система може бути атакована. Протоколи сімейства IP є основою побудови мереж Intranet і глобальної мережі Internet. Незважаючи на те, що розробка TCP / IP фінансувалася Міністерством оборони США, TCP / IP не володіє абсолютною захищеністю і допускає різні типи атак, розглянуті в цьому розділі. Для здійснення подібних атак потенційний зловмисник повинен мати контроль хоча б над однією з систем, підключеної до Internet. Одним з підходів до аналізу загроз безпеки комп'ютерних систем є виділення в окремий клас загроз, притаманних тільки комп'ютерним мережам. Даний клас загроз назвемо - клас віддалених атак. Цей підхід до класифікації було б правомочним через наявність принципових особливостей в побудові мережевих ОС. Основною особливістю будь-якої мережевої операційної системи є те, що її компоненти розподілені в просторі, і зв'язок між ними фізично здійснюється за допомогою спеціальних мережевих з'єднань (коаксіальний кабель, вита пара, оптоволокно і т.д.) і програмно - за допомогою механізму повідомлень. При цьому всі керуючі повідомлення і дані, що пересилаються однією компонентою мережевої ОС інший компоненті, передаються по мережевим з'єднанням у вигляді пакетів обміну. Ця особливість і є основною причиною появи нового класу загроз - віддалених атак. При даному типі атак зловмисник взаємодіє з одержувачем інформації, відправником і / або проміжними системами, можливо, модифікуючи і / або фільтруючи вміст TCP / IP-пакетів. Дані типи атак часто здаються технічно складними в реалізації, однак для гарного програміста не складає труднощів реалізувати відповідний інструментарій. Можливість формування довільних IP-пакетів є ключовим пунктом для здійснення активних атак. Дистанційні атаки можна класифікувати за типом впливу: активне або пасивне. Активні атаки можна розділити на дві частини. У першому випадку зловмисник робить певні кроки для перехоплення і модифікації мережного потоку або спроб "прикинутися" іншою системою. У другому випадку протокол TCP / IP використовується для того, щоб привести систему-жертву в неробочий стан. При пасивних атаках зловмисники ніяким образом не виявляють себе і не вступають прямо у взаємодію з іншими системами. Фактично все зводитися до спостереження за доступними чи даними сесіями зв'язку. Хоча пасивні атаки можуть порушувати політику безпеки мережі. Ідея виявлення атаки проста: будь-атаці відповідає певний мережевий трафік, тому, аналіз трафіку дозволяє визначити атаку і засікти "сліди" атакуючого, тобто визначити IP-адреси з яких здійснювалося інформаційний вплив. Таким чином, виявлення атак здійснюється методом контролю інформаційних потоків, що досягається шляхом аналізу мережевого трафіку.

Нам інформацію про те мережевих атак

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

фрагментація даних

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

Передача фрагментованих IP пакетів c загальним обсягом понад 64KB

Кількість реалізацій атак, що використовують можливість фрагментації IP пакетів, досить велике. На комп'ютер-жертву передається кілька фрагментованих IP пакетів, які при складанні утворюють один пакет розміром більше 64К (максимальний розмір IP пакета дорівнює 64К мінус довжина заголовка). Дана атака була ефективна проти комп'ютерів з ОС Windows. При отриманні такого пакету Windows NT, яка не має спеціального патча icmp-fix, "зависає" або аварійно завершується. Інші варіанти подібних атак використовують неправильні зміщення в IP фрагментах, що призводить до некоректного виділенню пам'яті, переповнення буферів і, в кінцевому підсумку, до збоїв в роботі систем.

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

Атака Ping flooding

З'явився він тому, що програма "ping", призначена для оцінки якості лінії, має ключ для "агресивного" тестування. В цьому режимі запити надсилаються з максимально можливою швидкістю і програма дозволяє оцінити, як працює мережа при максимальному навантаженні. Дана атака вимагає від зловмисника доступу до швидких каналах в Internet. Згадаймо, як працює ping. Програма посилає ICMP-пакет типу ECHO REQUEST, виставляючи в ньому час і його ідентифікатор. Ядро машини-одержувача відповідає на подібний запит пакетом ICMP ECHO REPLY. Отримавши його, ping видає швидкість проходження пакета. При стандартному режимі роботи пакети висилаються через деякі проміжки часу, практично не навантажуючи мережу. Але в "агресивному" режимі потік ICMP echo request / reply-пакетів може викликати перевантаження невеликої лінії, позбавивши її здатності передавати корисну інформацію. Природно, випадок з ping є окремим випадком більш загальної ситуації, пов'язаний з перевантаженням каналів. Наприклад, зловмисник може посилати безліч UDP-пакетів на 19-й порт машини-жертви, і якщо вона, дотримуючись загальноприйнятих правил, має на 19-му UDP-порту знакогенератор, що відповідає на пакети рядками по 80 байт. Зауважимо, що зловмисник може також підробляти зворотну адресу подібних пакетів, ускладнюючи його виявлення. Відстежити його допоможе хіба що скоординована робота фахівців на проміжних маршрутизаторах, що практично нереально. Однією з варіантів атаки - посилати ICMP echo request-пакети з вихідним адресою, що вказує на жертву, на broadcast-адреси великих мереж. В результаті кожна з машин відповість на цей фальшивий запит, і машина-відправник отримає більше кількість відповідей. Посилка безліч broadcast-echo requests від імені "жертви" на broadcast-адреси великих мереж, можна викликати різкої заполнененіе каналу "жертви". Прикмети затоплення - різко зросла навантаження на мережу (або канал) і підвищення кількість специфічних пакетів (таких, як ICMP). Як захист можна порекомендувати налаштування маршрутизаторів, при яких вони будуть фільтрувати той же ICMP трафік, що перевищують деяку задану заздалегідь величину (пакетів / од. Часу). Для того щоб переконатися, що Ваші машини не можуть служити джерелом ping flood'а, обмежте доступ до ping.

PingOfDeath або SSPing

Сутність його в наступному: на машину жертви надсилається сильно фрагментіpованний ICMP пакет великого діаметра (64KB). Реакцією Windows-систем на отримання такого пакету є беззастережне повісаніе, включаючи мишу і клавіатуру. Програма для атаки широко доступна в мережі у вигляді исходника на C і в вигляді запускаються файлів для деяких версій Unix. Цікаво, що на відміну від WinNuke жертвою такої атаки можуть стати не тільки Windows машини, атаці піддаються MacOS і деякі версії Unix. Переваги такого способу атаки в тому, що зазвичай firewall пропускає ICMP пакети, а якщо firewall і налаштований на фільтрацію адрес посилателей, то, використовуючи нехитрі прийоми spoofing, можна обдурити і такий firewall. Недолік PingOfDeath в тому, що для однієї атаки треба переслати більш 64KB по мережі, що робить взагалі його кажучи малопpіменімим для шіpокомасштабних дівеpсій.

UDP bomb

Рухаючись пакет UDP містить неправильний формат службових полів. Деякі старі версії мережевого ПО призводять при отриманні подібного пакету до аварійного завершення системи.

SYN flooding

Затоплення SYN-пакет - найвідоміший спосіб "забити" інформаційний канал. Згадаймо, як працює TCP / IP в разі вхідних з'єднань. Система відповідає на що прийшов C-SYN - пакет S-SYN / C-ACK-пакет, переводить сесію в стан SYN_RECEIVED і заносить її в чергу. Якщо протягом заданого часу від клієнта не прийде S-ACK, з'єднання видаляється з черги, в іншому випадку з'єднання переводиться в стан ESTABLISHED. Розглянемо випадок, коли черга вхідних з'єднань вже заповнена, а система отримує SYN-пакет, що запрошує до установки з'єднання. За RFC він буде мовчки проігнорований. Затоплення SYN-пакет засноване на переповненні черги сервера, після чого сервер перестає відповідати на запити користувачів. Найвідоміша атака такого роду - атака на Panix, нью-йоркського провайдера. Panix не працював протягом 2-х тижнів. У різних системах робота з чергою реалізована по різному. Так, в BSD-системах, кожен порт має свою власну чергу розміром в 16 елементів. У системах SunOS, навпаки, такого поділу і немає і система просто має великий загальною чергою. Відповідно, для того, що б заблокувати, наприклад, WWW-порт на BSD досить 16 SYN-пакетів, а для Solaris 2.5 їх кількість буде набагато більше. Після закінчення деякого часу (залежить від реалізації) система видаляє запити з черги. Однак нічого не заважає зловмисникові послати нову порцію запитів. Таким чином, навіть перебуваючи на з'єднання 2400 bps, зловмисник може посилати кожні півтори хвилини по 20-30 пакетів на FreeBSD-сервер, підтримуючи його в неробочому стані (природно, ця помилка була скоригована в останніх версіях FreeBSD). Як завжди, зловмисник може скористатися випадковими зворотними IP-адресами при формуванні пакетів, що ускладнює його виявлення і фільтрацію його трафіку. Детектування нескладно - велика кількість з'єднань в стані SYN_RECEIVED, ігнорування спроб з'єднається з даними портом. Як захист можна порекомендувати патчі, які реалізують автоматичне "зріджені" черги, наприклад, на основі алгоритму Early Random Drop. Для того, що б дізнатися, якщо до Вашої системи захист від SYN-затоплення, зверніться до постачальника системи. Інший варіант захисту - налаштувати firewall так, що б всі вхідні TCP / IP-з'єднання встановлював він сам, і тільки після цього перекидав їх всередину мережі на задану машину. Це дозволить Вам обмежити syn-затоплення і не пропустити його всередину мережі. Ця атака відноситься до атак заборони обслуговування, результатом якої є неможливість надання послуг. Атака зазвичай спрямована на певну, конкретну службу, наприклад telnet або ftp. Вона полягає в передачі пакетів встановлення з'єднання на порт, відповідний атакується службі. При отриманні запиту система виділяє ресурси для нового з'єднання, після чого намагається відповісти на запит (послати "SYN-ACK") по недоступному адресою. За замовчуванням NT версій 3.5-4.0 намагатиметься повторити підтвердження 5 разів - через 3, 6, 12, 24 і 48 секунд. Після цього ще 96 секунд система може очікувати відповідь, і тільки після цього звільнить ресурси, виділені для майбутнього з'єднання. Загальний час зайнятості ресурсів - 189 секунд.

Нестандартні протоколи, інкапсульовані в IP

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

Застосування протоколу TFTP

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

атака smurf

Атака smurf полягає в передачі в мережу широкомовних ICMP запитів від імені комп'ютера-жертви. В результаті комп'ютери, які виконують ці широкомовні пакети, відповідають комп'ютера-жертви, що призводить до істотного зниження пропускної здатності каналу зв'язку і, в ряді випадків, до повної ізоляції атакується мережі. Атака smurf виключно ефективна і широко поширена. Протидія: для розпізнавання даної атаки необхідно аналізувати завантаження каналу і визначати причини зниження пропускної здатності.

атака Land

Атака Land використовує уразливості реалізацій стека TCP / IP в деяких ОС. Вона полягає в передачі на відкритий порт комп'ютера-жертви TCP-пакета з встановленим прапором SYN, причому початкова адреса і порт такого пакета відповідно рівні адресою і порту атакується комп'ютера. Це призводить до того, що комп'ютер-жертва починає з'єднуватися сам з собою, в результаті чого сильно зростає навантаження на ЦП і може статися "підвисання" або перезавантаження. Дана атака досить ефективна на деяких моделях маршрутизаторів фірми Cisco Systems, причому успішне застосування атаки до маршрутизатора може вивести з ладу всю мережу організації. Протидія: захиститися від даної атаки можна, наприклад, встановивши фільтр пакетів між внутрішньою мережею і Internet, задавши на ньому правило фільтрації, яке вказує придушувати пакети, що прийшли з Internet, але з вихідними IP адресами комп'ютерів внутрішньої мережі.

Впровадження в мережу Internet хибного сервера шляхом створення спрямованого "шторму" помилкових DNS-відповідей на атакується хост

Інший варіант здійснення віддаленої атаки, спрямованої на службу DNS, заснований на другого різновиду типової віддаленої атаки "помилковий об'єкт ВС". У цьому випадку атакуючий здійснює постійну передачу на атакується хост заздалегідь підготовленого помилкового DNS-відповіді від імені справжнього DNS-сервера без прийому DNS-запиту. Іншими словами, атакуючий створює в мережі Internet спрямований "шторм" помилкових DNS-відповідей. Це можливо, так як зазвичай для передачі DNS-запиту використовується протокол UDP, в якому відсутні засоби ідентифікації пакетів. Єдиними критеріями, що висуваються мережевої ОС хоста до отриманого від DNS-сервера відповіді, є, по-перше, збіг IP-адреси відправника відповіді з IP-адресою DNS-сервера, по-друге, щоб в DNS-відповіді було зазначено те ж ім'я, що і в DNS-запит, по-третє, DNS-відповідь повинен бути спрямований на той же UDP-порт, з якого був посланий DNS-запит (в даному випадку це перша проблема для атакуючого), і, по-четверте, в DNS -Відповісти поле ідентифікатор запиту в заголовку DNS (ID) повинно містити те ж значення, що і в переданому DNS-запит (а це друга проблема). В даному випадку, так як атакуючий не має можливості перехопити DNS-запит, то основну проблему для нього представляє номер UDP-порта, з якого був посланий запит. Але номер порту відправника приймає обмежений набір значень (1023?), Тому атакуючому досить діяти простим перебором, направляючи помилкові відповіді на відповідний перелік портів. На перший погляд другою проблемою може бути багатобайтових ідентифікатор DNS-запиту, але в даному випадку він або дорівнює одиниці, або має значення близьке до нуля (один запит - ID збільшується на 1). Тому для здійснення даної віддаленої атаки атакуючому необхідно вибрати що цікавить його хост (А), маршрут до якого потрібно змінити так, щоб він проходив через помилковий сервер - хост атакуючого. Це досягається постійною передачею (спрямованим "штормом") атакуючим помилкових DNS-відповідей на атакується хост від імені справжнього DNS-сервера на відповідні UDP-порти. У цих помилкових DNS-відповідях вказується як IP-адреси хоста А IP-адреса атакуючого. Далі атака розвивається за такою схемою. Як тільки мета атаки (атакується хост) звернутися по імені до хосту А, то від цього хоста в мережу буде переданий DNS-запит, який атакуючий ніколи не отримає, але цього йому і не потрібно, так як на хост відразу ж надійде постійно передається помилковий DNS-відповідь, який і буде сприйнятий ОС атакується хоста як справжня відповідь від DNS-сервера. Атака відбулася і тепер атакується хост буде передавати всі пакети, призначені для А, на IP-адреса хоста атакуючого, який, в свою чергу, буде переправляти їх на А, впливаючи на перехоплену інформацію за схемою "помилковий об'єкт розподіленої ВС". Розглянемо функціональну схему запропонованої віддаленої атаки на службу DNS: • постійна передача атакуючим помилкових DNS-відповідей на атакується хост на різні UDP-порти і, можливо, з різними ID, від імені (з IP-адреси) справжнього DNS-сервера із зазначенням імені цікавить хоста і його помилкового IP-адреси, яким буде бути IP-адреса помилкового сервера - хоста атакуючого; • в разі отримання пакета від хоста, зміна в IP-заголовку пакета його IP-адреси на IP-адреса атакуючого і передача пакета на сервер (тобто, помилковий сервер веде роботу з сервером від свого імені - зі свого IP-адреси); • в разі отримання пакета від сервера, зміна в IP-заголовку пакета його IP-адреси на IP-адреса помилкового сервера і передача пакета на хост (для хоста помилковий сервер і є справжній сервер). Таким чином, реалізація даної віддаленої атаки, що використовує прогалини в безпеці служби DNS, дозволяє з будь-якої точки мережі Internet порушити маршрутизацію між двома заданими об'єктами. Тобто дана віддалена атака здійснюється міжсегментного по відношенню до мети атаки і загрожує безпеці будь-якого хоста Internet, що використовує звичайну службу DNS.

Впровадження в мережу Internet хибного сервера шляхом перехоплення DNS - запиту або створення спрямованого "шторму" помилкових DNS - відповідей на атакується DNS - сервер

Зі схеми віддаленого DNS-пошуку слід, що в тому випадку, якщо вказане в запиті ім'я DNS-сервер не виявив у своїй базі імен, то запит відсилається сервером на один з кореневих DNS-серверів, адреси яких містяться в файлі налаштувань сервера root.cache . Тобто, в тому випадку, якщо DNS-сервер не має відомостей про запитуваній хості, то він пересилає запит далі, а значить, тепер сам DNS-сервер є ініціатором віддаленого DNS-пошуку. Тому ніщо не заважає атакуючому, діючи описаними в попередньому пункті методами, направити свою атаку на DNS-сервер. Тобто, в якості мети атаки тепер буде виступати не хост, а DNS-сервер і помилкові DNS-відповіді будуть направлятися атакуючим від імені кореневого DNS-сервера на атакується DNS-сервер. При цьому важливо враховувати таку особливість роботи DNS-сервера. Для прискорення роботи кожен DNS-сервер кешує в області пам'яті свою таблицю відповідності імен і IP-адрес хостів. У тому числі в кеш заноситься динамічно змінна інформація про імена і IP-адреси хостів, знайдених в процесі функціонування DNS-сервера. Тобто, якщо DNS-сервер, отримавши запит, не знаходить у себе в кеш-таблиці відповідного запису, він пересилає відповідь на наступний сервер і, отримавши відповідь, заносить знайдені відомості в кеш-таблицю в пам'ять. Таким чином, при отриманні наступного запиту DNS-сервера вже не потрібно вести віддалений пошук, так як необхідні відомості вже знаходяться у нього в кеш-таблиці. З аналізу тільки що детально описану схему віддаленого DNS-пошуку стає очевидно, що в тому випадку, якщо у відповідь на запит від DNS-сервера атакуючий направить помилковий DNS-відповідь (або в разі "шторму" помилкових відповідей буде вести їх постійну передачу), то в кеш-таблиці сервера з'явиться відповідний запис з неправдивими відомостями і, в подальшому, всі хости, які звернулися до даного DNS-сервера, будуть дезінформовані і при зверненні до хоста, маршрут до якого атакуючий вирішив змінити, зв'язок з ним буде здійснюватися через хост атакуючого по схем е "помилковий об'єкт ВС". І з плином часу ця неправдива інформація, що потрапила в кеш DNS-сервера, буде поширюватися на сусідні DNS-сервери вищих рівнів, а, отже, все більше хостів в Internet будуть дезінформовані і атаковані. Очевидно, що в тому випадку, якщо атакуючий не може перехопити DNS-запит від DNS-сервера, то для реалізації атаки йому необхідний "шторм" помилкових DNS-відповідей, спрямований на DNS-сервер. При цьому виникає наступна основна проблема, відмінна від проблеми підбору портів в разі атаки, спрямованої на хост. Як вже зазначалося раніше DNS-сервер, посилаючи запит на інший DNS-сервер, ідентифікує цей запит двобайтовим значенням (ID). Це значення збільшується на одиницю з кожним переданим запитом. Дізнатися атакуючому це поточне значення ідентифікатора DNS-запиту не представляється можливим. Тому, нічого крім перебору 2 16 можливих значень ID запропонувати що-небудь досить складно. Зате зникає проблема перебору портів, так як всі DNS-запити передаються DNS-сервером на 53 порт. Наступна проблема, яка є умовою здійснення цієї віддаленої атаки на DNS-сервер при направленому "штормі" помилкових DNS-відповідей полягає в тому, що атака буде мати успіх, тільки в тому випадку, якщо DNS-сервер пошле запит на пошук певного імені (яке міститься в хибному DNS-відповіді). DNS-сервер посилає цей такий необхідний і бажаний для атакуючого запит в тому випадку, якщо на нього прийде DNS-запит від будь-якого хоста на пошук даного імені і цього імені ні опиниться в кеш-таблиці DNS-сервера. В принципі цей запит може прийти коли завгодно і атакуючому може бути доведеться чекати результатів атаки як завгодно довго. Однак ніщо не заважає атакуючому, не чекаючи нікого, самому послати на атакується DNS-сервер подібний DNS-запит і спровокувати DNS-сервер на пошук зазначеного в запиті імені. Тоді ця атака з великою ймовірністю буде мати успіх практично відразу ж після початку її здійснення.

Впровадження в мережу Internet хибного DNS-сервера шляхом перехоплення DNS-запиту

В даному випадку це віддалена атака на базі стандартної типової віддаленої атаки, пов'язаної з очікуванням пошукового DNS-запиту. Перед тим, як розглянути алгоритм атаки на службу DNS необхідно звернути увагу на наступні тонкощі в роботі цієї служби. По-перше, за замовчуванням служба DNS функціонує на базі протоколу UDP (хоча можливо і використання протоколу TCP) що, природно, робить її менш захищеною, так як протокол UDP на відміну від TCP взагалі не передбачає коштів ідентифікації повідомлень. Для того, щоб перейти від UDP до TCP адміністратору DNS - сервера прийдеться дуже серйозно вивчити документацію. Крім того, цей перехід трохи сповільнить систему, так як, по-перше, при використанні TCP потрібне створення віртуального з'єднання і, по-друге, кінцеві мережеві ОС спочатку посилають DNS-запит з використанням протоколу UDP і в тому випадку, якщо їм в прийде спеціальний відповідь від DNS-сервера, то тоді мережева ОС пошле DNS-запит з використанням TCP. По-друге, наступна тонкість, на яку потрібно звернути увагу, полягає в тому, що значення поля "порт відправника" в UDP-пакеті спочатку приймає значення 1023 (?) І, потім збільшується з кожним переданим DNS-запиту. По-третє, значення ідентифікатора (ID) DNS-запиту поводиться таким чином. У разі передачі DNS-запиту з хоста його значення залежить від конкретного мережевого додатки, який виробляє DNS-запит. Експерименти автора показали, що в разі передачі запиту з оболонки командного інтерпретатора операційних систем Linux і Windows '95 (наприклад, ftp nic.funet.fi) це значення завжди дорівнює одиниці. У тому випадку, якщо DNS-запит передається з Netscape Navigator, то з кожним новим запитом сам броузер збільшує це значення на одиницю. У тому випадку, якщо запит передається безпосередньо DNS-сервером, то сервер збільшує це значення ідентифікатора на одиницю з кожним знову переданим запитом. Всі ці тонкощі мають значення у разі атаки без перехоплення DNS-запиту. Для реалізації атаки шляхом перехоплення DNS-запиту атакуючому необхідно перехопити DNS-запит, витягти з нього номер UDP-порта відправника запиту, двухбайтовое значення ID ідентифікатора DNS-запиту і шукане ім'я і, потім, послати помилковий DNS-відповідь на витягнутий з DNS-запиту UDP-порт, в якому вказати в якості шуканого IP-адреси справжній IP-адреса помилкового DNS-сервера. Це дозволить в подальшому повністю перехопити і активно впливати за схемою "Помилковий об'єкт РВС" на трафік між "обдуреним" хостом і сервером. Розглянемо узагальнену схему роботи помилкового DNS - сервера: • очікування DNS-запиту; • отримавши DNS-запит, витяг з нього необхідних відомостей і передача по мережі на хост помилкового DNS-відповіді, від імені (з IP-адреси) справжнього DNS-сервера, в якому вказується IP-адреса помилкового DNS-сервера; • в разі отримання пакета від хоста, зміна в IP-заголовку пакета його IP-адреси на IP-адреса помилкового DNS-сервера і передача пакета на сервер (тобто, помилковий DNS-сервер веде роботу з сервером від свого імені); • в разі отримання пакета від сервера, зміна в IP-заголовку пакета його IP-адреси на IP-адреса помилкового DNS-сервера і передача пакета на хост (для хоста помилковий DNS-сервер і є справжній сервер). Необхідною умовою здійснення даного варіанту атаки є перехоплення DNS-запиту. Це можливо тільки в тому випадку, якщо атакуючий знаходиться або на шляху основного трафіку або в сегменті справжнього DNS-сервера. Виконання одного з цих умов місцезнаходження атакуючого в мережі робить подібну віддалену атаку важко здійсненною на практиці (потрапити в сегмент DNS-сервера і тим більше в межсегментний канал зв'язку атакуючому швидше за все не вдасться). Однак в разі виконання цих умов можливо здійснити міжсегментного віддалену атаку на мережу Internet. Відзначимо, що практична реалізація даної віддаленої атаки виявила ряд цікавих особливостей в роботі протоколу FTP і в механізмі ідентифікації TCP-пакетів. У разі, якщо FTP-клієнт на хості підключився до віддаленого FTP-сервера через помилковий DNS-сервер, то виявлялося, що кожен раз після видачі користувачем прикладної команди FTP (наприклад, ls, get, put і т. Д.) FTP-клієнт виробляв команду PORT, яка складалася в передачі на FTP-сервер в поле даних TCP-пакета номера порту і IP-адреси клієнтського хоста (особливий сенс в цих діях важко знайти - навіщо кожен раз передавати на FTP-сервер IP-адреса клієнта)! Це призводило до того, що якщо на хибному DNS-сервері не змінити передається IP-адреса в поле даних TCP-пакета і передати цей пакет на FTP-сервер по звичайної схемою, то наступний пакет буде переданий FTP-сервером на хост FTP-клієнта, минаючи помилковий DNS-сервер і, що найцікавіше, цей пакет буде сприйнятий як нормальний пакет, і, в подальшому, помилковий DNS-сервер втратить контроль над трафіком між FTP-сервером і FTP-клієнтом! Це пов'язано з тим, що звичайний FTP-сервер не передбачає ніякої додаткової ідентифікації FTP-клієнта, а перекладає всі проблеми ідентифікації пакетів і з'єднання на більш низький рівень - рівень TCP.

Атака DNS flooding

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

Атака DNS spoofing

Результатом даної атаки є внесення нав'язуваного відповідності між IP адресою і доменним ім'ям в кеш DNS сервера. В результаті успішного проведення такої атаки всі користувачі DNS півночі отримають невірну інформацію про доменні імена і IP адреси. Дана атака характеризується великою кількістю DNS пакетів з одним і тим же доменним ім'ям. Це пов'язано з необхідністю підбору деяких параметрів DNS обміну. Протидія: для виявлення такої атаки необхідно аналізувати вміст DNS трафіку.

Атака IP spoofing (syslog)

Велика кількість атак в мережі Internet пов'язано з підміною вихідного IP адреси. До таких атак відноситься і syslog spoofing, яка полягає в передачі на комп'ютер жертву повідомлення від імені іншого комп'ютера внутрішньої мережі. Оскільки протокол syslog використовується для ведення системних журналів, шляхом передачі помилкових повідомлень на комп'ютер-жертву можна нав'язати інформацію або замести сліди несанкціонованого доступу. Протидія: виявлення атак, пов'язаних з підміною IP адрес, можливо при контролі отримання на одному з інтерфейсів пакета з вихідним адресою цього ж інтерфейсу або при контролі отримання на зовнішньому інтерфейсі пакетів з IP адресами внутрішньої мережі.

нав'язування пакетів

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

Sniffing - прослуховування каналу (можливо тільки в сегменті локальної мережі)

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

Перехоплення пакетів на маршрутизаторі

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

Нав'язування хосту хибного маршруту з допомогою протоколу ICMP

У мережі Internet існує протокол ICMP (Internet Control Message Protocol), однієї з функцією якого є інформування хостів про зміну поточного маршрутизатора. Дане керуюче повідомлення носить назву redirect. Існує можливість посилки з будь-якого хоста в сегменті мережі помилкового redirect-повідомлення від імені маршрутизатора на атакується хост. В результаті у хоста змінюється поточна таблиця маршрутизації і, в подальшому, весь мережевий трафік даного хоста буде проходити, наприклад, через хост, відіслав помилкове redirect-повідомлення. Таким чином можливо здійснити активну нав'язування помилкового маршруту всередині одного сегмента мережі Internet.

WinNuke

Hаpяду зі звичайними даними пеpесилаемимі по TCP з'єднання cтандаpт пpедустатpівает також пеpедачи сpочно (Out Of Band) даних. Hа уpовне форматів пакетів TCP це виpажается в ненулевом urgent pointer. У більшості PC із установленим Windows присутній мережевий пpотокол NetBIOS, якому використовує для своїх потреб 3 IP поpта: 137, 138, 139. Як з'ясувалося, якщо з'єднатися з Windows машиною в 139 поpт і послати туди кілька байт OutOfBand даних, то pеализация NetBIOS-а не знаючи що робити з цими даними попpосту підвішує або пеpезагpужается машину. Для Windows 95 це зазвичай виглядає як синій текстовий екрана, повідомляє про помилку в дpайвеp TCP / IP і неможливість АДВОКАТУРИ з мережею до пеpезагpузкі ОC. NT 4.0 без сеpвіс паків пеpезагpужается, NT 4.0 з втоpом сеpвіс паком випадає в синій екрана. Аналогічна посилка даних в 135 і деякі інші порти призводить до значному завантаженні процесора RPCSS.EXE. На NTWS це призводить до істотного уповільнення роботи, NTS практично заморожується.

Помилковий ARP сервер

У мережі Internet кожний хост має унікальний IP-адреса, на який надходять всі повідомлення з глобальної мережі. Однак протокол IP це не стільки мережевий, скільки міжмережевий протокол обміну, призначений для зв'язку між об'єктами в глобальній мережі. На канальному рівні пакети адресуються по апаратним адресами мережевих карт. У мережі Internet для взаємно однозначної відповідності IP і Ethernet адрес використовується протокол ARP (Address Resolution Protocol). Спочатку хост може не мати інформації про Ethernet-адреси інших хостів, що знаходяться з ним в одному сегменті, в тому числі і про Ethernet-адресу маршрутизатора. Відповідно, при першому зверненні до мережевих ресурсів хост відправляє широкомовний ARP-запит, який отримають всі станції в даному сегменті мережі. Отримавши такий запит, маршрутизатор відправляє на хост ARP-відповідь, в якому повідомляє свій Ethernet-адреса. Дана схема роботи дозволяє зловмисникові послати помилковий ARP-відповідь, в якому оголосити себе потрібним хостом, (наприклад, маршрутизатором), і, в подальшому, активно контролювати весь мережевий трафік "обманутого" хоста.

Передбачення TCP sequence number (IP-spoofing)

В даному випадку мета зловмисника - прикинутися іншою системою, якою, наприклад, "довіряє" система-жертва. Метод також використовується для інших цілей - наприклад, для використання SMTP жертви для посилки підроблених листів. Установка TCP-з'єднання відбувається в три стадії: клієнт вибирає і передає серверу sequence number (назвемо його C-SYN), у відповідь на це сервер висилає клієнту пакет даних, що містить підтвердження (C-ACK) і власний sequence number сервера (S-SYN ). Тепер уже клієнт повинен вислати підтвердження (S-ACK). Після цього з'єднання вважається встановленим і починається обмін даними. При цьому кожен пакет має в заголовку поле для sequence number і acknowledge number. Дані числа збільшуються при обміні даними і дозволяють контролювати коректність передачі. Припустимо, що зловмисник може передбачити, який sequence number (S-SYN за схемою) буде висланий сервером. Це можливо зробити на основі знань про конкретну реалізацію TCP / IP. Наприклад, в 4.3BSD значення sequence number, яке буде використано при установці наступного значення, кожну секунду збільшується на 125000. Таким чином, пославши один пакет серверу, зловмисник отримає відповідь і зможе (можливо, з декількох попиткок і з поправкою на швидкість з'єднання) передбачити sequence number для наступного з'єднання. Якщо реалізація TCP / IP використовує спеціальний алгоритм для визначення sequence number, то він може бути з'ясований за допомогою посилки декількох десятків пакетів серверу й аналізу його відповідей. Отже, припустимо, що система A довіряє системі B, так, що користувач системи B може зробити "rlogin A" і опинитися на A, не вводячи пароля. Припустимо, що зловмисник розташований на системі C. Система A виступає в ролі сервера, системи B і C - в ролі клієнтів. Перше завдання зловмисника - ввести систему B в стан, коли вона не зможе відповідати на мережні запити. Це може бути зроблено декількома способами, в найпростішому випадку потрібно просто дочекатися перезавантаження системи B. Кількох хвилин, протягом яких вона буде непрацездатна, повинне вистачити. Після цього зловмисник може спробувати прикинутися системою B, для того, що б отримати доступ до системи A (хоча б короткочасний). Зловмисник висилає кілька IP-пакетів, що ініціюють з'єднання, системі A, для з'ясування поточного стану sequence number сервера. Зловмисник висилає IP-пакет, в якому в якості зворотну адресу зазначена вже адреса системи B. Система A відповідає пакетом з sequence number, який направляється системі B. Однак система B ніколи не одержить його (вона виведена з ладу), як, втім, і зловмисник. Але він на основі попереднього аналізу здогадується, який sequence number був висланий системі B. Зловмисник підтверджує "одержання" пакета від A, виславши від імені B пакет з передбачуваним S-ACK (зауважимо, що якщо системи розташовуються в одному сегменті, зловмисникові для з'ясування sequence number досить перехопити пакет, посланий системою A). Після цього, якщо зловмисникові пощастило і sequence number сервера був вгаданий вірно, з'єднання вважається встановленим. Наразі зловмисник може вислати черговий фальшивий IP-пакет, який буде вже містити дані. Наприклад, якщо атака була спрямована на rsh, він може містити команди створення файлу .rhosts або відправлення / etc / passwd зловмисникові по електронній пошті. Протидія: найпростішим сигналом IP-spoofing будуть служити пакети з внутрішніми адресами, які прийшли з зовнішнього світу. Програмне забезпечення маршрутизатора може попередити про це адміністратора. Однак не варто спокушатися - атака може бути і зсередини Вашої мережі. У разі використання більш інтелектуальних засобів контролю за мережею адміністратор може відстежувати (в автоматичному режимі) пакети від систем, які в перебувають в недоступному стані. Втім, що заважає зловмисникові імітувати роботу системи B відповіддю на ICMP-пакети? Які способи існують для захисту від IP-spoofing? По-перше, можна ускладнити або зробити неможливим вгадування sequence number (ключовий елемент атаки). Наприклад, можна збільшити швидкість зміни sequence number на сервері або вибирати коефіцієнт збільшення sequence number випадково (бажано, використовуючи для генерації випадкових чисел криптографически стійкий алгоритм). Якщо мережа використовує firewall (або інший фільтр IP-пакетів), слід додати йому правила, за якими всі пакети, які прийшли ззовні і мають зворотними адресами з нашого адресного простору, не повинні пропускатися всередину мережі. Крім того, слід мінімізувати довіру машин один одному. В ідеалі не повинні існувати способу, напряму потрапити на сусідню машину мережі, отримавши права суперкористувача на одній з них. Звичайно, це не врятує від використання сервісів, які не потребують авторизації, наприклад, IRC (зловмисник може прикинутися довільній машиною Internet і передати набір команд для входу на канал IRC, видачі довільних повідомлень і т.д.). Шифрування TCP / IP-потоку вирішує в загальному випадку проблему IP-spoofing'а (за умови, що використовуються криптографически стійкі алгоритми). Для того, щоб зменшити число таких атак, рекомендується також налаштувати firewall для фільтрації пакетів, посланих нашої мережею назовні, але мають адреси, які не належать нашому адресного простору.

локальна буря

Зробимо невеликий відступ в бік реалізації TCP / IP і розглянемо "локальні бурі" на приклад UDP-бурі. Як правило, за замовчуванням системи підтримують роботу таких UDP-портів, як 7 ( "відлуння", отриманий пакет відсилається назад), 19 ( "знакогенератор", у відповідь на отриманий пакет відправнику вислати рядок знакогенератора) і інших (date etc). В даному випадку зловмисник може послати єдиний UDP-пакет, де в якості вихідного порту буде вказано 7, в якості одержувача - 19-й, а в якості адреси одержувача і відправника будуть вказані, наприклад, дві машини вашої мережі (або навіть 127.0. 0.1). Отримавши пакет, 19-й порт відповідає рядком, яка потрапляє на порт 7. Сьомий порт дублює її і знову відсилає на 19 .. і так до нескінченності. Нескінченний цикл з'їдає ресурси машин і додає на канал безглузду навантаження. Звичайно, при першому втрачений UDP-пакеті буря припинитися. Противодействие: в качестве защиты стоит еще раз порекомендовать не пропускать в сети пакеты с внутренними адресами, но пришедшие извне. Также рекомендуется закрыть на firewall использование большинства сервисов.

IP Hijacking

Метод є комбінацією 'підслуховування' і IP-spoofing'а. Необхідні умови - зловмисник повинен мати доступ до машини, яка знаходиться на шляху мережного потоку і володіти достатніми правами на неї для генерації і перехоплення IP-пакетів. Нагадаємо, що при передачі даних постійно використовуються sequence number і acknowledge number (обидва поля знаходяться в IP-заголовку). Виходячи з їх значення, сервер і клієнт перевіряють коректність передачі пакетів. Існує можливість ввести з'єднання в "десинхронизированное стан", коли надсилаються сервером sequence number і acknowledge number не збігатимуться з очікуваним значеніемі клієнта, і навпаки. В даному випадку зловмисник, "прослуховуючи" лінію, може взяти на себе функції посередника, генеруючи коректні пакети для клієнта і сервера і перехоплюючи їх відповіді. Метод дозволяє повністю обійти такі системи захисту, як, наприклад, одноразові паролі, оскільки зловмисник починає роботу вже після того, як відбудеться авторизація користувача. Є два способи рассінхронізіровать з'єднання. • Рання десинхронізація. З'єднання десінхронізіруется на стадії його установки. Зловмисник прослуховує сегмент мережі, за яким будуть проходити пакети, що цікавить його сесії. Дочекавшись пакета S-SYN від сервера, зловмисник висилає серверу пакет типу RST (скидання), звичайно, з коректним sequence number, і, негайно, слідом за ним фальшивий C-SYN-пакет від імені клієнта Сервер скидає першу сесію і відкриває нову, на тому ж порту, але вже з новим sequence number, після чого посилає клієнту новий S-SYN-пакет. Клієнт ігнорує S-SYN-пакет, проте зловмисник, що прослуховує лінію, висилає сервера S-ACK-пакет від імені клієнта. Отже, клієнт і сервер знаходяться в стані ESTABLISHED, однак сесія десинхронизированном. Природно, 100% спрацьовування в цієї схеми немає, наприклад, вона не застрахована від того, що по дорозі не втратяться якісь пакети, послані зловмисником. Для коректної обробки цих ситуацій програма повинна бути ускладнена. • Десинхронізація нульовими даними. В даному випадку зловмисник прослуховує сесію і в якийсь момент посилає серверу пакет з "нульовими" даними, тобто такими, які фактично будуть проігноровані на рівні прикладної програми і не видно клієнту (наприклад, для telnet це може бути дані типу IAC NOP IAC NOP IAC NOP ...). Аналогічний пакет надсилається клієнту. Очевидно, що після цього сесія переходить в десинхронизированное стан. ACK-бура Одна з проблем IP Hijacking полягає в тому, що будь-який пакет, який був надісланий в момент, коли сесія знаходиться в десинхронизированном стані викликає так називаний ACK-бурю. Наприклад, пакет висланий сервером, і для клієнта він є неприйнятним, тому той відповідає ACK-пакетом. У відповідь на цей неприйнятним вже для сервера пакет клієнт знову отримує відповідь. І так до нескінченності. На щастя сучасні мережі будуються за технологіями, коли допускається втрата окремих пакетів. Оскільки ACK-пакети не несуть даних, повторні передачі не відбувається і "буря стихає". Як показали досліди, чим сильніше ACK-бура, тим швидше вона "утихомирює" себе - на 10MB ethernet це відбувається за частки секунди. На ненадійних з'єднаннях типу SLIP - ненабагато більше. Детектування і захист Є кілька шляхів. Наприклад, можна реалізувати TCP / IP-стек, який контролюватимуть перехід в десинхронизированное стан, обмінюючись інформацією про sequence number / acknowledge number. Однак в даному випадку ми не застраховані від зловмисника, змінює і ці значення. Тому більш надійним способом є аналіз завантаженості мережі, відстеження виникаючих ACK-бур. Це можна реалізувати за допомогою конкретних засобів контролю за мережею. Якщо зловмисник не потрудитися підтримувати десинхронизированное з'єднання до його закриття не стане фільтрувати висновок своїх команд, це також буде відразу помічено користувачем. На жаль, переважна більшість просто відкрити нову сесію, не звертаючись до адміністратора. Стовідсотковий захист від даної атаки забезпечує, як завжди, шифрування TCP / IP-трафіку (на рівні додатків - secure shell) або на уровн протоколу - IPsec). Це виключає можливість модифікації мережного потоку. Для захисту поштових повідомлень може застосовуватися PGP. Слід зауважити, що метод також не спрацьовує на деяких конкретних реалізаціях TCP / IP. Так, незважаючи на [rfc ...], який вимагає мовчазного закриття сесії у відповідь на RST-пакет, деякі системи генерують зустрічний RST-пакет. Це унеможливлює ранню десинхронізацію.

Виявлення атак і захист від них

• Для виявлення атак можна аналізувати трансляцію активність - це пакети UDP, NBF, SAP. • Для захисту внутрішньої мережі, підключеної до Internet'у, не варто пропускати із зовнішньої мережі входять пакети, джерелом в яких варто внутрішній мережеву адресу. Можна дозволити проходити пакетам тільки на порт 80. • Ставте фільтрацію пакетів, якщо необхідно (не варто нехтувати навіть
Control Panel \ Network \ Protocols \ Properties \ Advanced в Windows NT).

методи сканування

Використання протоколу ARP

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

Сканування мережі за допомогою DNS

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

UDP bomb

Сканування мережі методом ping sweep

Ping sweep або виявлення цілей за допомогою протоколу ICMP є ефективним методом.

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

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

Сканування портів є відомий метод розпізнавання конфігурації комп'ютера і доступних сервісів. Існує кілька методів TCP сканування, частина з них називається скритними (stealth), оскільки вони використовують уразливості реалізацій стека TCP / IP в більшості сучасних ОС і не виявляються стандартними засобами. Протидія: протидія можна здійснювати, наприклад, передаючи TCP пакети з встановленим прапором RST від імені сканируемого комп'ютера на комп'ютер зловмисника.

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

Інший вид сканування портів грунтується на використанні протоколу UDP і полягає в наступному: на сканований комп'ютер передається UDP пакет, адресований до порту, який перевіряється на предмет доступності. Якщо порт недоступний то у відповідь приходить ICMP повідомлення про недоступність (destination port unreachable), в іншому випадку відповіді немає. Даний вид сканування досить ефективний. Він дозволяє за короткий час сканувати всі порти на комп'ютері-жертві. Протидія: протидіяти скануванню даного роду можливо шляхом передачі повідомлень про недоступність порту на комп'ютер зловмисника.

Stealth-сканування

Метод заснований на некоректному мережевому коді, тому не можна поручитися що він буде нормально працювати в будь-якої конкретної обстановці. Використовуються TCP-пакети з встановленими ACK- і FIN-прапорами. Їх треба використовувати, тому що якщо такий пакет послати в порт при невідкритому з'єднанні, завжди повернутися пакет з прапором RST. Існує кілька методів, які використовують цей принцип: • Надіслати FIN-пакет. Якщо приймаючий хост повертає RST, значить порт неактивний, якщо RST; не повертається, значить порт активний. Даний метод працює в більшості операційних систем. • Надіслати ACK-пакет. Якщо TTL повертаються пакетів менше, ніж в інших отриманих RST-пакетах, або якщо розмір вікна більше нуля, то швидше за все порт активний.

пасивне сканування

Сканування часто застосовується зловмисниками для того, щоб з'ясувати, на яких TCP-портах працюють демони, що відповідають на запити з мережі. Звичайна програма-сканер послідовно відкриває з'єднання з різними портами. У разі, коли з'єднання встановлюється, програма скидає його, повідомляючи номер порту зловмисникові. Даний спосіб легко детектируются за повідомленнями демонів, здивованих миттєво прерваним після установки з'єднанням, або за допомогою використання спеціальних програм. Кращі з таких програм мають деякі спробами внести елементи штучного елемента в відстеження спроб з'єднання з різними портами. Однак зловмисник може скористатися іншим методом - пасивним скануванням (англійський термін "passive scan"). При його використанні зловмисник посилає TCP / IP SYN-пакет на всі порти підряд (або по якомусь заданому алгоритму). Для TCP-портів, що приймають з'єднання ззовні, буде повернуто SYN / ACK-пакет, як запрошення продовжити 3-way handshake. Решта повернуть RST-пакети. Проаналізувавши дані відповідь, зловмисник може швидко зрозуміти, на яких портах працюють програма. У відповідь на SYN / ACK-пакети він може також відповісти RST-пакетами, показуючи, що процес установки з'єднання продовжений НЕ буде (в загальному випадку RST-пакетами автоматичний відповість TCP / IP-реалізація зловмисника, якщо він не зробить спеціальних заходів). Метод не детектируется попередніми способами, оскільки реальне TCP / IP-з'єднання не встановлюється. Однак (в залежності від поведінки зловмисника) можна відстежувати різко зросла кількість сесій, що знаходяться в стані SYN_RECEIVED. (За умови, що зловмисник не посилає у відповідь RST) прийом від клієнта RST-пакета у відповідь на SYN / ACK. На жаль, при досить розумному поведінці зловмисника (наприклад, сканування з низькою швидкістю або перевірка лише конкретних портів) детектувати пасивне сканування неможливе, оскільки воно нічим не відрізняється від звичайних спроб встановити з'єднання. Як захист можна лише порадити закрити на firewall всі сервіси, доступ до яких не потрібно ззовні.

Запрошення системи і небезпека міститься в ньому інформації

Необхідно прибирати "запрошення системи", які відображаються центральними комп'ютерами на терміналах віддаленого доступу для входу користувача в систему. Ця вимога обумовлена ​​наступними причинами: • "запрошення системи", як правило, містить інформацію, що дозволяє порушнику ідентифікувати тип і версію операційної системи центрального комп'ютера, вид програмного забезпечення віддаленого доступу та ін. Така інформація може істотно спростити завдання проникнення в систему, оскільки порушник зможе застосувати засоби незаконного доступу, що використовують слабкості конкретної системи; • "запрошення системи" зазвичай вказує на відомчу приналежність системи. У разі, коли система належить секретному відомству або фінансову структуру, зацікавленість порушника може значно зрости; • відбулося нещодавно судовий розгляд відхилило позов компанії-на-віч, незаконно проник в мережу компанії, оскільки він мотивував свої дії написом на терміналі віддаленого доступу до центрального комп'ютера "Welcome to ..." ( "Ласкаво просимо в ...").

Кілька порад при дослідження мережі

• Просканувати сервер на предмет відкритих портів і сервісів. • Спробувати зайти на сервер під ім'ям IUSR_ <ім'я машини з кулями> • Спробувати сперти SAM._ з / REPAIR (паролі з SAM дістаються командою expand). • Директорії / scripts і / cgi-bin, як відомо напевно багатьом, в НТ можна запускати будь-які файли з цих директорій, тому слід закривати до цих тек доступ. Запуск здійснюється приблизно такою командою (якщо виконуваний файл в / scripts) з бровзера - http: //www.idahonews/scripts/getadmin.exe? Test. Можна отримати адміновскіе права наступним чином - проги-то з / scripts запускаються не під юзернейм користувача, а з того самого web-аккаунта, з чого можна зробити висновок, що паролі адміністратора можна елементарно сдампіть з реєстру за допомогою PWDUMP.exe. • Слід пам'ятати, що програми з / SCRIPTS запускаються під Web-аккаунтом, а не під обліковим записом запустив користувача. Тому можна спробувати сдампіть паролі з реєстру за допомогою PWDUMP.EXE. Паролі будуть закодовані. В цьому випадку слід зберегти сторінку у вигляді текстового файлу і спробувати розкодувати паролі за допомогою програми BRUTEFORCE. • Під перевірений адміністратором сайту аккаунтом можна поміняти аліаси на ftp і http.

Деякі інші способи отримання інформації

• Використовуючи whois або NSLookUp для з'ясування альтернативних імен з'ясувати, кому належить мережа. Запам'ятати діапазон ip-адрес для подальшого їх сканування. • Піти на найближчий роутер і що-небудь з'ясувати. Для знаходження роутера потрібно протрассировать шлях до будь-якого ip-адреси з виявленого діапазону. Найближчий роутер визначається за часом відгуку. • Спробуйте зайти на роутер telnet'ом. • Запустити сканер діапазону ip-адрес для виявлення запущених на PC служб.

Дірки і помилки адміністрування в Windows NT

• Розглянемо вразливість, пов'язану з помилкою в реалізації системи. Дана уразливість призводить до можливості атаки, званої GetAdmin. Вразливим є системний сервіс NtAddAtom, що не перевіряє параметри, передані йому, і який встановлює біт 0 за адресою NtGlobalFlag + 2. Для цього необхідно відкрити файл ntoskrnl.exe і знайти точку входу в NtAddAtom. Установка даного біта вимикається перевірка привілеїв отладчика в NtOpenProcess і NtOpenThread. Таким чином, будь-який користувач має право відкрити будь-який процес в системі. Атака відкриває процес Winlogon процес і вбудовує dll до нього. Так як даний сервіс має привілеї SYSTEM, він може додати користувача до групи Administrator або видалити його з цієї групи. Теоретично можливі й інші порушення безпеки системи. • Один з популярних методів проникнення в систему - підбір пароля. Для боротьби з цим зазвичай встановлюють блокування облікового запису користувача після певного числа невдалих спроб входу. Приємним винятком є ​​обліковий запис адміністратора. І якщо він має право доступу на вхід через мережу, це відкриває лазівку для спокійного вгадування пароля. Для захисту рекомендується перейменувати користувача Administrator, встановити блокування облікових записів, заборонити адміністратору вхід в систему через мережу, заборонити передачу SMB пакетів через TCP / IP (порти 137,138,139), встановити протоколювання невдалих входів.

спам

Спамери підшукають для початку розсилання свого поштового сміття не просто ISP, а, швидше за все, виберуть корпорацію, тому що провайдеру Internet легше зрозуміти, що сталося, і він, ймовірно, зможе швидше позбутися від таких повідомлень. Періодично повторюється спаммінг може порушити роботу законних користувачів через перевантаження сервера електронної пошти. Проблема полягає в тому, що підключитися до SMTP-серверу не так уже й важко. Для цього необхідно знати лише 7-8 команд, щоб SMTP-сервер став поширювати Ваші повідомлення. Для убезпечення від цього можна здійснювати перевірку адрес вхідних повідомлень по базі даних зареєстрованих користувачів сервера. Якщо адреса посилає повідомлення або один із запитаних їм адрес в списку відсутня, електронна пошта передаватися не буде.

Як уберегти поштову систему від спамерів

• Якщо ви не читаєте логи, то спамери будуть діяти безкарно. • Запрограмуйте всі, крім одного, поштові сервери Вашої компанії так, щоб вони не відповідали на запит на пересилання повідомлень. Що залишився сервер повинен ретельно фільтрувати IP-адреси. • Тримайте всі сервери електронної пошти, які можуть приймати запити на пересилку повідомлень, в зоні дії свого брандмауера.

Як працюють спамери

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

Дірки IIS, WWW, FTP

• Відправник може залишити свій фальшивий адресу наступним чином: відправник може сам з'єднатися з SMTP-портом на машині, від імені якої він хоче відправити лист, і ввести текст листа. • Служба FTP дозволяє встановлювати пасивні з'єднання на основі адреси порту, зазначеного клієнтом. Це може бути використано зловмисником для видачі небезпечних команд службі FTP. Реєстр містить ключ: <HKLM \ System \ CurrentControlSet \ Services \ MSFTPSVC \ Parameters> із значенням <EnablePortAttack: REG_DWORD:> Переконайтеся, що значення встановлено в "0", а не "1". • Якщо з'єднатися через telnet з портом 80, команда "GET ../ .." призведе до краху IIS і повідомленням "The application, exe \ inetinfo.dbg, generated an application error The error occurred on date @ time The exception generated was c0000005 at address 53984655. • Адреса 'http://www.domain.com/scripts .. \ .. \ scriptname "дозволяє виконати зазначений скрипт. За замовчуванням користувач Guest або IUSR_WWW має права на читання всіх файлів у всіх каталогах. Так що ці файли можуть бути переглянуті, завантажені і запущені. • Директорії \ script \ cgi-bin слід закривати, тому що з цих директорій можна запускати будь-які файли прямо з вікна browser'а. • При запpосов у IIS дуже довгого URL (4 - 8KB) сервер зависає і не реагує на подальші запpосов. Пpоблема в тому, що точний розмір URL залежить від конкретного сервера, тому програми-вбивці починаючи з деякого базового розміру запиту і поступово збільшуючи розмір намагаються знайти ту кpитические точку, що підвісить сервер-жертву. • Користувачам Outlook Express 98 доводиться зважати на те, що цей мейлер дозволяє обробляти, в тому числі і на виконання, Visual-Basic-скрипти, які легко можуть бути приховані в листі. Подібний скрипт має повний доступ до файлової системи. Реальним захистом може стати лише установка "рівня безпеки" в Outlook на "максимум". • Якщо в чаті дозволено введення тегів html, ніхто не завадить вставити в своє повідомлення щось типу <img src = "http://www.mysite.com/cgi-bin/sniffer.cgi">. У підсумку всі присутні в чаті (навіть не зареєструвалися) будуть, самі того не відаючи, викликати скрипт. • Обмежуйте доступ до порту 25 тільки для деяких користувачів.