Обхід і злом firewall або Хакерство в Інтернеті



  • [ 1. Введення ]
  • [2. Принцип виявлення]
  • [3. Принцип обходу]
  • [4. Висновок]


  • [ 1. Введення ]

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

    [2. Принцип виявлення]


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

    Отже, прийшов час докладніше дізнатися про принципи виявлення.


    A. Банальне сканування

    Сподіваюся багато хто з вас сканували в мережі порти будь-якого IP-адреси ... У кожного сервісу
    є свій унікальний порт, будь то ftp (21), http (80), ssh (22) і т.д., не оминуло внима
    ням і фаєрволлов, але не всіх ... Відразу скажу, що не всі фаєрволли слухають порт. некото
    які маскуються під демони на зразок порту 23 (на них зазвичай висить Cisco Router або йому по
    добние). Наведу деякий список портів, на яких іноді висять фаєрволли або їх мене
    Джером за замовчуванням:
    додаток: порт:
    cisco-manager (mgmt) 4001 (6001, 2001)
    checkpoint DNS (53udp/tcp) RIP (520udp)
    cisco-xremotesrv 9001
    wingate 8080, 81
    realsecure 2998/2997/2999
    Це, можливо, найпоширеніші фаєрволли на сьогоднішній день.
    Отже, при підключенні на вище описані порти, можливо, вважати сервісний банер фаєрволла.
    Але знову ж таки повторюся, що не завжди! Скажу ще, що грамотно конфігурований фаерволл
    не дасть вам сканувати порти в "масах", тобто ви не зможете просканувати адресу, при ска
    нировании більше одного порту ... Тоді дійсно завдання атакуючого ускладнюється і прихо
    диться вигадувати якісь способи сканування (будь то сканування з подменной source адреси).
    Так само хочу сказати, що деякі фаєрволли конфигурируются так, що у внутрішню мережу
    доступ заборонений всім, крім їх же внутрішньої мережі тобто ви не зможете приєднатися до портів,
    які фільтруються фаєрволлом, якщо ви не належите до внутрішньої мережі хостингу або
    локальної мережі ... Способів обходу таких захистів не так вже й багато. Скажу лише те, що один з
    способів сканування "за фаєрволлом" придумав відомий всім колишній редактор журналу
    Phrack - Route. Його утиліта Firewalk здатна сканувати порти як би за фаєрволлом. але
    при цьому так само не потрібно покладатися на всі 100%, що вона правильно просканує порти тому
    багато фаєрволли конфигурируются так, що фаерволл може визначити TLL пакету до його при
    буття (перевірки за списком). Тому пакети типу ICMP оповіщають про закінчення TLL будуть отси
    латься в будь-якому випадку ...

    Тепер перейдемо до пункту про відстеження маршруту проходження пакету по мережі ...

    B. Tracerouting

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

    У WIN32 системах, утиліта tracert.exe, а в Unix Like системах - traceroute.

    Давайте розглянемо приклад проходження пакету, щоб ідентифікувати фаєрволл на шляху прохо
    дження нашого udp / icmp пакета:

    Трасування маршруту до 168.75.176.102
    з максимальним числом стрибків 30:

    1 * 4366 ms * Loopback0.GW8.ALA2.nursat.net [195.82.29.53]
    2 3373 ms * 4287 ms Ethernet0-0-2.GW1.ALA2.nursat.net [195.82.28.7]
    3 * 4463 ms * Serial6-1.GW2.MOW1.nursat.net [195.82.28.198]
    4 * * * Превышен интервал ожидания для запроса.
    5 * * * Превышен интервал ожидания для запроса.
    6 * * * Превышен интервал ожидания для запроса.
    7 * * * Превышен интервал ожидания для запроса.
    8 2274 ms 971 ms 958 ms so-2-3-1-zar1.skt.cw.net [166.63.220.69]
    9 928 ms 945 ms 958 ms ge-3-3-0-ycr1.skt.cw.net [166.63.220.129]
    10 954 ms 958 ms * so-1-0-0-ycr1.cpi.cw.net [208.173.216.25]
    11 958 ms 958 ms 971 ms so-2-0-0-ycr2.cpi.cw.net [208.173.216.2]
    12 981 ms 958 ms 958 ms so-2-0-0-bcr1.amd.cw.net [208.173.211.233]
    13 1059 ms 1050 ms 1049 ms dcr1.nyk.cw.net [195.2.1.3]
    14 1050 ms 1037 ms 1036 ms 65.59.192.13
    15 1041 ms 1050 ms 1063 ms ge-0-3-0.bbr2.NewYork1.Level3.net [209.247.9.209]
    16 1050 ms 1036 ms 1076 ms ge-7-0-0.edge1.NewYork1.Level3.net [64.159.4.150]
    17 1050 ms 1063 ms 1050 ms xo-level3-oc12.NewYork1.Level3.net [209.244.160.178]
    18 1050 ms 1062 ms 1076 ms p5-0-0.RAR1.NYC-NY.us.xo.net [65.106.3.37]
    19 1115 ms 1523 ms 1757 ms p6-0-0.RAR2.Chicago-IL.us.xo.net [65.106.0.29]
    20 1324 ms 1471 ms 1324 ms p1-0-0.RAR1.Dallas-TX.us.xo.net [65.106.0.34]
    21 1141 ms 1141 ms 1141 ms p6-0-0.RAR2.LA-CA.us.xo.net [65.106.0.14]
    22 1732 ms 1377 ms 1456 ms p4-0-0.MAR2.LasVegas-NV.us.xo.net [65.106.5.34]
    23 1155 ms 1141 ms 1128 ms p15-0.CHR1.LasVegas-NV.us.xo.net [207.88.81.78]
    24 1404 ms 1181 ms * 66.238.47.34.ptr.us.xo.net [66.238.47.34]
    25 1614 ms 1378 ms 1378 ms 168.75.176.102

    Трасування завершена.

    У вище наведеному прикладі дуже яскраво відображається структура проходження пакету по мережі.
    Можна припустити, що фаерволл створює якусь ланцюжок адрес, за якими проходить наш
    пакет ... У трасуванні зі стрибків 1-3 можна спостерігати, що dialup сервер фільтрує входячи
    щие пакети, далі відбувається послання пакету по мережі по ланцюжку адрес ... У кінцевому
    підсумку можна бачити, що наш пакет приходить до місця призначення - 168.75.176.102 ... У це
    випадку можу сказати, що найімовірніше фаєрволл - 66.238.47.34, хоча 100 процентних ре
    злиттів я не даю, тому що в цій справі потрібно бути вкрай уважним ...

    C. Зчитування сервісних банерів.

    Ну цей спосіб я думаю украй простий, хоча на даний момент вкрай важко знайти такий фаєр
    волл, який би виводив про себе інформацію, але знову ж таки "чим чорт не жартує" ... Зчитування
    банерів полягає в тому, що при підключенні до фаєрволлу, ви отримуєте якесь послання
    від віддаленого фаєрволла ... Тобто при з'єднанні, наприклад 295 (порт CheckPoint Firewall),
    вам виводитися інформація про версію фаєрволла, тоді ви з упевненістю можете йти шукати
    в bugtraq уразливість в цьому фаєрволла, найчастіше, коли я стикався з фаєрволла
    CheckPoint, мені виходила якась інформація, я спочатку зовсім не розумів що вона
    позначає ... А полягає вона в тому, що при підключенні до фаєрволлу CheckPoint, він ви
    водить якусь послідовність цифр, наприклад: 30003, 30002 і т.д. Як пізніше я дізнався, що
    це властиво фаєрволлу CheckPoint ...

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

    [3. Принцип обходу]


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

    Існує ще один дуже цікавий спосіб: тунелювання ICMP / UDP пакетами ... Воно заключа
    ються в тому, що у деяких фаєрволлов немає правила на блокування ICMP ECHO, ICMP ECHO REPLY,
    UDP. Все це сприяє хорошої атаки ... оповідь скажу, що цей спосіб проходить, якщо ви нахо
    дітесь в підмережі фаєрволла. Для його здійснення вам знадобляться дві програми - loki, lokid
    (Демон). Для того щоб здійснити атаку, вам слід встановити демон за фаєрволлом і після
    дующей експлуатацією за допомогою утиліти loki ...

    [4. Висновок]


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