Перенаправлення SSH та HTTP трафіку

У цій статті ми розглянемо з тобою атаки типу Man-in-the-Middle, а точніше метод перенапрямку SSH- та HTTP-трафіку за допомогою атаки Man in the Middle. Не тягтимемо кота за хвіст, а перейдемо до діла.

Man in the Middle (у короткому MitM, з української мови просто — «атака посередника» або «людина посередині») — це такий вид атаки, заснований на перенаправленні трафіку між двома машинами для перехоплення інформації — подальшого її вивчення, знищення або модифікації. Отже, перше, що нам потрібно – пакет dsniff (посилання на пакет ти побачиш наприкінці статті). Чому саме він? Та тому, що цей пакет має всі необхідні утиліти, включаючи sshmitm (перенаправлення SSH-трафіку) і httpmitm (перенаправлення HTTP-трафіку), які вміють обходити наступну схему безпеки: наскільки тобі відомо, протоколи з шифруванням даних досить-таки. секурни» (шифрація на допомогу :)) і не дозволяють проводити атаки «поверх» мережного рівня. Ключ шифрування хакеру невідомий — розшифрувати дані неможливо і вставити команду теж. Все б начебто нічого, та ось як програми MitM-атак (sshmitm і httpmitm) з пакету dsniff здатні обійти цю систему безпеки (обійти можна практично всі). Робиться це за наступним принципом: проміжний хост отримує запит від клієнта, «сказавши» йому, що він і є сервер, потім підключаючись до реального сервера. Друге, що нам знадобиться – прямі руки, четверте – найголовніше – бажання, ну і, звичайно, жертва, тобто комп'ютер, який атакуватимемо.

Після підготовки інструментарію ти зрозумів, що до чого і чому :). Діставай sshmitm — зараз ми перенаправлятимемо SSH-трафік (все, що не зрозумів з теоретичною частиною — читай вище) за допомогою неї, використовуючи недолікисьогоднішнього PKI (public key infrastructure - схема управління ключами, заснована на методах несиметричної криптографії). Давай розглянемо синтаксис sshmitm:

sshmitm [-d] [-I] [-p port] host [port]

-d дозволити налагоджувальний висновок (тобто більш розширений режим)

-I перехоплення сеансів

-p port порт для прослуховування

port порт на віддаленому хості

Все начебто просто і зі смаком – нічого складного немає:). Почнемо реалізувати атаку!

]# sshmitm server.target.gov // вказуємо свій SSH-сервер sshmitm: relaying to server server.target.gov

Оскільки ми не маємо реального SSH-ключа, то командний інтерпретатор атакованого виведе запит про перевірку host-ключа, все це буде виглядати приблизно так:

clientmachine$ server.target.gov @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. Please contact your system administrator.

І тоді користувач вирішуватиме – підключатися чи ні. Якщо так, то ми отримаємо повний контроль над SSH-сеансом. АЛЕ! Якщо юзвер жодного разу не підключався до тієї тачки, може бути видане таке повідомлення:

Справжність host 'server.target.gov' може бути встановлений RSA key fingerprint is bla:bla:bla;bla;bla…….. Are you sure you want ti continue connecting (yes/no)?

Тут юзвер теж має два вибори — коннектитися чи ні. Якщо так - то ми перехопили сеанс, якщо ні - то на жаль ... : (. Загалом, атака пройшла успішно, якщо користувач приконнектився, а sshmitm в свою чергу запише всі паси і логіни, причому дуже читабельно🙂 Звичайно, це не єдиний перехоплювач SSH-сеансів, але познайомившись із цим, ти без проблем освоїш і інший 🙂

Зараз ми перенаправлятимемо HTTP-трафік. Знову ж таки, нам знадобиться вже раніше підібраний інструмент: httpmitm, який прослуховує 80-(HTTP-) і 443-(HTTPS-) порти, перехоплює WEB-запити, потім підключається до сервера і пересилає запити комп'ютеру-клієнту. Також програма генерує SSL-ключі та SSL-сертифікати за допомогою OpenSSL. Потім, після спроби доторкнеться до сайту (target.gov), браузер перевірить SSL-сертифікат. Оскільки сертифікати збігатися не будуть, то браузер користувача попередить про неправильний SSL-сертифікат. З боку зломщика це виглядатиме приблизно так:

Ось так все це виглядає з боку перехоплюється SSL-коннект, схопивши незашифровані дані.

У цій статті ми розглянули з тобою перенаправлення SSH- та HTTP-трафіку, за допомогою атаки Man in the Middle – чітко, докладно, коротко. Інші програми перенаправлення HTTP- та SSH- трафіку за допомогою MitM ти освоїш швидко, якщо освоїв і ці :)). Якщо щось було незрозуміло — то:

- шануй про будову інтернет-протоколів - man і google розкриють тобі очі 🙂

Буду дуже радий, якщо цією статтею і я чимось вам допоміг, і вона вам сподобалася 😉