Донецкий техникум промышленной автоматики

Злом пароля веб-сайту з використанням WireShark (і захист від цього)

  1. Крок 1. Запуск Wireshark і захоплення трафік
  2. Крок 2. Фільтр захопленого трафіку для пошуку POST даних
  3. Крок 3: Аналіз даних POST на наявність імені користувача та пароля
  4. Як боротися з перехопленням трафіку WireShark і іншими подібними програмами

Ви знаєте, що кожен раз, коли ви заповнюєте ваші ім'я користувача та пароль на веб-сайті і натискаєте ENTER, ви відправляєте ваш пароль. Добре, звичайно ви це знаєте. Як ще ми збираємося авторизувати себе на веб-сайті ?? Але (так, тут є маленьке АЛЕ) коли веб-сайт дозволяє вам авторизуватися використовуючи HTTP (PlainText), дуже просто захопити цей трафік від будь-якої машини в локальній мережі (і навіть в Інтернеті) і проаналізувати його. Це означає, хтось може хакнуть пароль від будь-якого веб-сайту, який використовує HTTP протокол для авторизації. Зрозуміло, щоб зробити це через Інтернет ви повинні бути здатні сидіти на шлюзі або центральному хабі ( BGP роутери змогли б - якщо у вас є доступ, і трафік проходить через них).

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

Отже, давайте спробуємо це на простому веб-сайті. Я це буду робити всередині однієї машини. Ви ж можете спробувати це між VirtualBox / VMWare / Фізичними машинами.

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

Крок 1. Запуск Wireshark і захоплення трафік

В Kali Linux ви можете запустити Wireshark переслідував

Програми> Kali Linux> Top 10 Security Tools> Wireshark

У Wireshark перейдіть до пункту меню Capture> Interface і виберіть цікавить вас інтерфейс, у мене з'єднання по дроту, тому я вибираю eth0, для бездротового доступу інтерфейс може називатися wlan0.

В ідеалі, після натискання кнопки Start Wireshark має розпочатися захоплення трафіку. Якщо цього не відбулося, то перейдіть в меню Capture> Start

Крок 2. Фільтр захопленого трафіку для пошуку POST даних

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

Зазвичай в Wireshark безліч даних. Але нас цікавлять тільки дані, відправлені методом POST.

Чому тільки POST?

Тому що коли ви друкуєте ваше ім'я і пароль і натискаєте кнопку входу, дані на віддалений сервер відправляються методом POST.

Для фільтрації всього трафіку і знаходження даних POST, наберіть наступне у вікні для введення фільтра:

http.request.method == "POST"

Подивіться скріншот внизу. Він відображає 1 подія подія POST.

Крок 3: Аналіз даних POST на наявність імені користувача та пароля

Зараз клікніть правою кнопкою на цій лінії і виберіть Follow TCP Steam

Це відкриє нове вікно, що містить щось на кшталт такого:

Бачите я виділив рядок log = Dimon & pwd = justfortest?

Тобто

log = Dimon (ім'я користувача: Dimon)

pwd = justfortest (пароль: justfortest)

Ось так ось, вигаданий користувач codeby.net спалив свій пароль.

Як боротися з перехопленням трафіку WireShark і іншими подібними програмами

1. Не дозволяйте стороннім особам мати доступ до вашої мережі. Наприклад, не потрібно свій Wi-Fi робити публічним, не потрібно повідомляти пароль від нього стороннім особам.

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

Це не означає що потрібно припинити користуватися публічними точками доступу. Але помінявши пароль, коли повернетеся до «безпечної» мережі, ви зробите безглуздим захоплення тих даних, який міг статися поки ви користувалися публічної мережею.

3. Використовуйте VPN , Ця технологія здатна вирішити всі проблеми з небезпечними мережами разом.

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

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

Якщо вас все-таки зацікавили ці сертифікати, то рекомендую звернутися до моєї статті « Що таке SSL-сертифікати, для чого вони потрібні і як заощадити купуючи сертифікат ». Там і де купити зі знижкою, і як встановити, та інше.

Як ще ми збираємося авторизувати себе на веб-сайті ?
Чому тільки POST?