LU.NET.UA - Захист інформації в інтернеті

:: Меню ::

Головна
Введення

Частина I.
Вивчення мети

1. Попередній збір даних
2. Сканування
3. Інвентаризація

Частина II.
Уразливість систем

4. Уразливість Windows 95/98/me
5. Уразливість Windows NT
6. Уразливість Windows 2000

Частина III.
Уразливість мереж

9. Уразливість видалених з'єднань, РВХ, Voicemail і віртуальних приватних мереж
10. Мережеві пристрої
11. Брандмауери
12. Атаки DOS

   Частина IV.
Уразливість програмного забезпечення

13. Вади засобів видаленого управління
14. Розширені методи
15. Уразливість в Web
16. Атаки на користувачів Internet
 Братани
Карта сайту
Добавити у вибране

:: Друзі ::

--

:: Статистика ::

 

 

 

 

 


Війна з брандмауерами

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

Передача тестових пакетів


Утиліта hping, написана Сальватором Санфіліппо (Salvatore Sanfilippo), передає TCP-пакеты на порт призначення і повідомляє про те, які у відповідь пакети були отримані. Залежно від численних умов ця утиліта надає найрізноманітніші відомості. Кожен окремий пакет і всі пакети в цілому здатні надати досить ясне уявлення про використовувані на брандмауерах списки управління доступом. Наприклад, за допомогою утиліти hping можна виявити відкриті і заблоковані порти, а також втрачені і знехтувані пакети.
У наступному прикладі утиліта hping повідомила про те, що відкритий порт 80, який готовий встановити з'єднання. Такий висновок можна зробити на підставі того, що ми отримали пакет зі встановленим прапором SA (пакет Syn/ack).

[root]# hping 192.168.51.101 -с2 -s -р80 -n
HPING www.yourcomapany.com (etho 172.30.1.20): S set, 40 data bytes
60 bytes from 172.30.1.20: flags=sa seq=0 ttl=242 id=65121 win=64240
time=144.4 ms

Тепер нам відомий відкритий порт на шляху до бажаної мети, проте ми ще нічого не знаємо про брандмауер. У наступному прикладі утиліта hping повідомляє про те. що з вузла 192.168.70.2 нею отриманий ICMP-пакет типу 13 (Destination Unreachable — одержувач недосяжний). В розділі 2 згадувалося, що такий пакет зазвичай передається маршрутизатором з фільтрацією пакетів типу Cisco IOS, на якому взаємодія з певними портами адміністративно заборонена.

[root]# hping 192.168.51.101 -с2 -s -p23 -n
HPING 192.168.51.101 (etho 172.30.1.20): S set, 40 data bytes
ICMP Unreachable type 13 from 192.168.70.2

З цієї миті наше припущення підтвердилося: вузол 172.168.70.2, швидше за все, є брандмауером. Крім того, нам відомо, що на нім явно блокується порт 23. Іншими словами, якщо вузлом є маршрутизатор Cisco, то в його конфігураційному файлі напевно є наступний рядок.

access-list 101 deny tcp any any 23!telnet

У приведеному нижче прикладі ми отримали у відповідь пакет Rst/ack, що свідчить про виконання однієї з двох можливих умов: (1) пакет пройшов через брандмауер і на цільовому вузлі заданий порт не знаходиться в стані очікування запитів або (2) брандмауер відкинув пакет (що цілком можливо, якщо на брандмауері Checkpoint діє правило REJECT).

[root]# hping 192.168.50.3 -с2 -s -p22 -n
HPING 192.168.50.3 (etho 192.168.50.3): S set, 40 data bytes
60 bytes from 192.168.50.3:flags=ra
seq=0 ttl=59 id=0 win=0 time=0.3 ms

Оскільки раніше був отриманий ICMP-пакет типу 13, можна зробити вивід про те, що брандмауер (192.168.70.2) дозволяє пакетам проходити далі по маршруту, проте на цільовому вузлі опитуваний порт не знаходиться в стані очікування запитів.
Якщо при скануванні портів на шляху до мети опинився брандмауер Checkpoint, то утиліта hping повідомить IP-адрес цільового вузла, проте насправді пакет буде відправлений із зовнішнього мережевого адаптера брандмауера Checkpoint. В даному випадку хитрість полягає в тому, що брандмауер Checkpoint генерує у відповідь пакет замість внутрішнього вузла, поміщаючи в цей пакет його помилкову адресу. Проте якщо зломщик зіткнеться з подібною ситуацією в Internet, то йому ніколи не вдасться дізнатися про це, оскільки на його комп'ютер МАС-адрес ніколи не потрапить.
І нарешті, якщо брандмауер взагалі блокує пакети, передавані на заданий порт, як правило, у відповідь не буде отримано ніякої інформації.

[root]# hping 192.168.50.3 -с2 -s -p22 -n
HPING 192.168.50.3 (etho 192.168.50.3): S set,40 data bytes

Такий результат утиліта hping може надати по двох причинах: (1) пакет не зміг досягти джерела призначення і був загублений в процесі передачі або (2) найймовірніше, пакет був відкинутий пристроєм (можливо, брандмауером — 192 .168. 70.2) відповідно до встановлених правил ACL.

 Контрзаходи: захист від тестових пакетів


Запобігання


Запобігти атакам з використанням утиліти hping дуже важко. Краще всього просто заблокувати передачу повідомлень ICMP з типом 13 (як описано в розділі, присвяченому утиліті nmap).

Утиліта firewalk


Утиліта firewalk є невеликим прекрасним засобом, який, подібно программам-ськаннерам, дозволяє досліджувати порти вузлів, розташованих позаду брандмауера. Вона написана Майком Шифманом (Mike Schiffman) і Дейвом Гольдсмітом (Dave Goldsmith). За допомогою цієї утиліти можна просканувати такі вузли і отримати встановлені на них правила. Причому вся процедура виконується без реального "дотику" до цільової системи.
Утиліта firewalk генерує IP-пакеты з параметром TTL, який обчислюється так, щоб час життя пакету закінчився в наступному за брандмауером сегменті маршруту. Теоретичні передумови такого підходу полягають в тому, що якщо пакет пропускається брандмауером, то після закінчення часу його життя буде отримано повідомлення ICMP TTL, expired in transit (час життя закінчився в процесі передачі). В той же час, якщо пакет блокується на підставі заданого списку ACL брандмауера, то цей пакет буде знехтуваний. В результаті або взагалі не буде отримано ніякого у відповідь повідомлення, або буде отриманий ICMP-пакет з типом 13.

[root]# firewalk -ptcp -S135-140 10.22.3.1
192.168.1.1

Ramping up hopcounts to binding host...
probe: 1 TTL: 1 port 33434: expired from [exposed.acme.com]
probe: 2 TTL: 2 port 33434: expired from [rtr.isp.net]
probe: 3 TTL: 3 port 33434: Bound scan at 3 hops [rtr.isp.net]
port 135: open
port 136: open
port 137: open
port 138: open
port 139: *
port 140: open

Щодо утиліти firewalk необхідно згадати про одну проблему, яка полягає в тому, що її результати можуть виявитися непередбачуваними. Деякі брандмауери здатні виявити закінчення часу життя пакету до перевірки свого списку ACL, що приводить до передачі у відповідь Icmp-сообшенія TTL EXPIRED у будь-якому випадку. В результаті утилітою firewalk всі порти вважатимуться за відкритих.

Контрзаходи: захист від утиліти firewalk


Запобігання


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

Сканування з початкового порту


Традиційні брандмауери з фільтрацією пакетів типу IOS Cisco мають один істотний недолік: вони не зберігають стан! Для більшості читачів цей факт виглядає цілком очевидним, чи не так? Проте проаналізуйте його еше разів. Якщо брандмауер не може підтримувати стан, то він не може визначити, з внутрішньою або із зовнішнього боку було встановлено з'єднання. Іншими словами, такі брандмауери не можуть повністю управляти деякими потоками даних. Як наслідок, як початковий можна задати порт, який зазвичай є "легітимним", наприклад TCP 53 (перенесення зони) і TCP 20 (FTP), а потім для отримання цінної інформації приступити до сканування (або до атаки).
Для того, щоб визначити, чи дозволяє брандмауер виконувати сканування із заданого початкового порту 20 (каналу даних FTP), скористайтеся утилітою nmap з параметром -д.
nmap -ss -Р0 -д 20 -р 139 10.1.1.1
При завданні статичного початкового порту як параметр утиліти шпар необхідно скористатися методом сканування з неповним відкриттям сеансу або з використанням повідомлень SYN.
Якщо скановані порти виявилися відкритими, то, очевидно, ви маєте справу з уразливим брандмауером, який розташований між вашим комп'ютером і цільовим вузлом. Для кращого розуміння описуваного процесу проанатазіруйте приведену нижче діаграму.


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

Контрзаходи: захист і сканування з початкового порту Запобігання


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




:: Реклама ::

>Страница статей


:: Посилання ::

-


:: Рекомендуємо ::

-


 

 

 

 


Copyright © Klab-F 2008