Як обійти https за допомогою proxy

Як обійти https за допомогою proxy

Як обійти HTTPS за допомогою proxy.

Давай уявимо собі ситуацію, що атакуючий може провести на користувача man-in-the-middle атаку. Причому не просто «перебувати» десь посередині між сервером і користувачем, а бути проксі-сервером для підключення між ними. Тобто в настройках браузера / ОС користувача повинен бути вказаний проксі атакуючого. Хоча це може здатися нездійсненним, але на практиці є ряд ситуацій. коли це відбувається. Ось самі типові.

Корпоративна мережа, всі користувачі ходять через корпоративний проксі. Ми виробляємо DNS- або АRР-спуфинг і підміняємо офіційний проксі на свій. Також є автоматичне включення проксі з використанням технології WPAD (Web Proxy Autodiscovery Protocol), яка за замовчуванням активована в Windows-cіcтeмax ( «Автоматичне визначення налаштувань» в IE).

Далі. Чому нам так важливо саме стати проксі-сервером? Справа полягає в унікальності роботи через них. Якщо при звичайному підключенні по SSL дані йдуть безпосередньо і, беручи до уваги перших SSL-пакетів, там все зашифровано, то з проксі додається ще один крок, що не зашифрований.

Отже, по RFC, для роботи по НТТРS через проксі був придуманий додатковий метод - CONNECТ. Коли користувач намагається підключитися по НТТРS до сервера, його браузер спочатку посилає запит плейн-текстом на проксі такого виду:

При цьому він не обриває підключення (ТСР). а починає просто пересилати весь трафік від користувача на сервер. Тобто звідси і далі йде звичайне підключення по SSL. Теорія, я думаю, зрозуміла. Перейдемо до самої уразливості, яка була в браузерах.

Як обійти https за допомогою proxy

Підключення по HTTPS через proxy

Як обійти https за допомогою proxy

Атака HTTPS з proxy

Хотілося б підкреслити тут, що фактично ніщо не порушувало саме НТТРS-з'єднання. Воно як було зашифровано і незаймано. так і залишилося. Проблема була рівнями вище - в same origin policy (SOP) браузера, за яким все було цілком коректно. незалежно від того. звідки прийшли дані, якщо origin той же, значить, і доступ є. Причому розробники дозволяли висновок помилок від proxy з хороших спонукань - щоб у користувача була можливість бачити кастомную інформацію про причини помилки підключення.

[Всього голосів: 3 Середній: 5/5]