Обхід брандмауерів зовні та зсередини - Хакерство в Інтернеті - Каталог статей - Кращий софт рунета

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

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

На ринку домінують два типи брандмауерів – пакетні фільтри, також звані шлюзами фільтрації пакетів (packet filter gateway) та програмні проксі (application proxy). Приклад першого типу є Firewall від компанії Check Point, а другого – Microsoft Proxy Server.

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

Брандмауери обох типів зазвичай включають вбільш-менш урізану версію системи визначення вторгнень (Intruder Detection System, IDS), що аналізує характер мережевих запитів і виявляє потенційно небезпечні дії - звернення до неіснуючих портів (характерно для сканування), пакети з TTL, рівним одиниці, (характерно для трасування) і і т.д. Все це суттєво ускладнює атаку, і хакеру доводиться діяти дуже обережно, оскільки будь-який невірний крок одразу видасть його з кишенями. Однак інтелектуальність інтегрованих систем розпізнавання достатня невелика, і більшість адміністраторів, що поважають себе, перекладає це завдання на плечі спеціалізованих пакетів, таких, як Real Secure від Internet Security System.

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

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

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

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

Більшість брандмауерів відкидають пакети із закінченням TTL (Time To Live – час життя), блокуючи цим трасування маршруту, чим викривають себе. Аналогічно надходять і деякі маршрутизатори, однак, як уже говорилося вище, між маршрутизатором і пакетним фільтром немає принципової різниці.

Відстеження маршруту зазвичай здійснюється утилітою traceroute, що підтримує трасування через протоколи ICMP та UDP, причому ICMP блокується набагато частіше.Вибравши вузол, явно захищений брандмауером (наприклад, www.intel.ru), спробуємо відстежити до нього маршрут командою traceroute - wwww.intel.ru.

$traceroute -I wwww.intel.ru

Трасування маршруту до bouncer.glb.intel.com [198.175.98.50]

з максимальним числом стрибків 30:

1 1352 ms 150 ms 150 ms 62.183.0.180

2 140 ms 150 ms 140 ms 62.183.0.220

3 140 ms 140 ms 130 ms 217.106.16.52

4 200 ms 190 ms 191 ms aksai-bbn0-po2-2.rt-comm.ru [217.106.7.25]

5 190 ms 211 ms 210 ms msk-bbn0-po1-3.rt-comm.ru [217.106.7.93]

6 200 ms 190 ms 210 ms spb-bbn0-po8-1.rt-comm.ru [217.106.6.230]

7 190 ms 180 ms 201 ms stockholm-bgw0-po0-3-0-0.rt-comm.ru [217.106.7.30]

8 180 ms 191 ms 190 ms POS4-0.GW7.STK3.ALTER.NET [146.188.68.149]

9 190 ms 191 ms 190 ms 146.188.5.33

10 190 ms 190 ms 200 ms 146.188.11.230

11311 ms 310 ms 311 ms 146.188.5.197

12 291 ms 310 ms 301 ms so-0-0-0.IL1.DCA6.ALTER.NET [146.188.13.33]

13 381 ms 370 ms 371 ms 152.63.1.137

14 371 ms 450 ms 451 ms 152.63.107.150

15 381 ms 451 ms 450 ms 152.63.107.105

16 370 ms 461 ms 451 ms 152.63.106.33

17 361 ms 380 ms 371 ms 157.130.180.186

18 370 ms 381 ms 441 ms 192.198.138.68

19 * * * Перевищено інтервал очікування для запиту.

20 * * * Перевищено інтервал очікування для запиту.

Дивись: трасування доходить до вузла 192.198.138.68, а потім вмирає, що вказує або на брандмауер або на недемократичний маршрутизатор. Трохи пізніше ми покажемо, як можна проникнути крізь нього, а поки що виберемо для трасування інший вузол, наприклад, www.zenon.ru

$traceroute -I www.zenon.ru

Трасування маршруту до distributed.zenon.net [195.2.91.103]

змаксимальним числом стрибків 30:

1 2444 ms 1632 ms 1642 ms 62.183.0.180

2 1923 ms 1632 ms 1823 ms 62.183.0.220

3 1632 ms 1603 ms 1852 ms 217.106.16.52

4 1693 ms 1532 ms 1302 ms aksai-bbn0-po2-2.rt-comm.ru [217.106.7.25]

5 1642 ms 1603 ms 1642 ms 217.106.7.93

6 1562 ms 1853 ms 1762 ms msk-bgw1-ge0-3-0-0.rt-comm.ru [217.106.7.194]

7 1462 ms 411 ms 180 ms mow-b1-pos1-2.telia.net [213.248.99.89]

8 170 ms 180 ms 160 ms mow-b2-geth2-0.telia.net [213.248.101.18]

9 160 ms 160 ms 170 ms 213.248.78.178

10 160 ms 151 ms 180 ms 62.113.112.67

11 181 ms 160 ms 170 ms css-rus2.zenon.net [195.2.91.103]

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

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

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

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

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

Складання фрагментованих TCP-пакетів підтримують тільки найякісніші з брандмауерів, а решта аналізують лише перший фрагмент, безперешкодно пропускаючи решту. Надіславши сильно фрагментований TCP-пакет, що "розмазує" TCP-заголовок по кількох IP-пакетах, хакер приховає від брандмауера Acknowledgment Number і він не зможе визначити належність TCP-пакета до відповідної йому TCP-сесії (можливо, він відноситься до легального з'єднання, встановленому корпоративним користувачем). Якщо тільки на брандмауері не активовано опцію "різати фрагментовані пакети", успіх хакерської операції гарантовано. Блокування фрагментованих пакетів створює багато проблем і перешкоджає нормальній роботі мережі. Теоретично можна блокувати лише пакети з фрагментованим TCP-заголовком, але далеко не кожен брандмауер підтримує таку гнучку політику налаштування. Атаки даного типу, звані Tiny Fragment Attack, мають надзвичайно потужну проникаючу здатність і тому є улюбленим прийомом усіх хакерів.

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

Оскількибрандмауери розраховані на захист ззовні, а не зсередини, вирватися через їхні катівні дуже просто, достатньо лише скористатися будь-яким відповідним проксі-сервером, що знаходиться у зовнішній мережі і ще не занесеним адміністратором у чорний список. Зокрема, популярний клієнт ICQ дозволяє обмінюватися повідомленнями безпосередньо, а через сервер (не обов'язково сервер компанії-розробника). Існують тисячі серверів, які підтримують ICQ. Одні існують у більш менш незмінному вигляді вже кілька років, інші динамічно то з'являються, то зникають. І якщо "довгожителів" ще реально занести в стоп-лист, то встежити за серверами-одноденками адміністратор просто не в змозі!

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

Посилання по темі Nmap

Популярний сканер портів, що дозволяє виявляти деякі типи брандмауерів. Безкоштовний. Вихідні тексти доступні. На сайті http://www.insecure.org/nmap море технічної інформації з проблеми. FireWalk

Утиліта для трасування мережі через брандмауер, що працює на TCP/UDP-протоколах та заснована на TTL. Безкоштовно. http://www.packetfactory.net/firewalk. Перед використанням рекомендується ознайомитись із документацією http://www.packetfactory.net/firewalk/firewalk-final.pdf. HPING

Утиліта, що реалізує сканування через німий хост. Потужна зброя для дослідження внутрішньої мережі поза брандмауером.Безкоштовна та добре документована. http://www.hping.org/papers.html. SSH-клієнт

Secure Shell клієнт, який використовується користувачами внутрішньої мережі для подолання заборон та обмежень, накладених брандмауером. Безкоштовний. Поширюється разом із вихідними текстами. http://www.openssh.com. FFAQ

Детальний FAQ з брандмауерів англійською мовою. www.interhack.net/pubs/fwfaq/firewalls-faq.pdf. Його український переклад, який не відрізняється особливою свіжістю, лежить на ln.com.ua/

Конспект лекцій з брандмауерів (англійською мовою) від тайванського професора Yeali S. Sun. http://www.im.ntu.edu.tw/

Величезний портал з мережевої безпеки, що містить у тому числі інформацію про діри в популярних брандмауерах (українською та англійською мовами). http://www.opennet.ru

Брандмауери схильні до великої кількості DoS-атак, таких, як луна-шторм або SYN-flood, яким вони в принципі нездатні протистояти.

Брандмауер – це маршрутизатор, проски-північ та система виявлення вторгнень в одному флаконі.

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

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

Брандмауер можна атакувати не лише ззовні, а й зсередини корпоративної мережі.

Різні брандмауери по-різному реагують нестандартні TCP-пакети, дозволяючи ідентифікувати себе.

Брандмауери, що відкривають 53 порти (служба DNS) не тільки на приймачі (наприклад, Check Point Firewall), але і на джерелі, дозволяють хакеру просканувати всю внутрішню мережу.

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