Взлом пароля веб-сайта с использованием WireShark (и защита от этого)
https://t.me/Torchik_RuВы знаете, что каждый раз, когда вы заполняете ваши имя пользователя и пароль на веб-сайте и нажимаете 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"
Шаг 3: Анализ данных POST на наличие имени пользователя и пароля
Сейчас кликните правой кнопкой на этой линии и выберите Follow TCP Steam
Это откроет новое окно, содержащее что-то вроде такого:
Видите я выделил строчку log=Dimon&pwd=justfortest?
Т.е.
log=Dimon (имя пользователя: Dimon)
pwd=justfortest (пароль: justfortest)
Вот так вот, выдуманный пользователь WebWare.biz спалил свой пароль.
Как бороться с перехватом трафика WireShark и другими подобными программами
- Не позволяйте посторонним лицам иметь доступ в вашу сеть. Например, не нужно свой Wi-Fi делать публичным, не нужно сообщать пароль от него посторонним лицам.
- Когда вы сами пользуетесь публичными точками доступа, то, хотя бы, помните об угрозе перехвата пароля. Даже если вы не производили вход (не вводили логин и пароль), то ваш браузер постоянно обменивается с сайтами, на которых вы авторизованы, данными кукиз. Это не тоже самое что пароль, иногда кукиз просто бесполезны. Это не значит что нужно прекратить пользоваться публичными точками доступа. Но поменяв пароль, когда вернётесь к «безопасной» сети, вы сделаете бессмысленным захват тех данных, который мог произойти пока вы пользовались публичной сетью.
- Используйте VPN, эта технология способна решить все проблемы с небезопасными сетями разом.
- Самый действенный способ — SSL-сертификаты. У меня по этому поводу две новости: плохая и хорошая. Начну с плохой: от нас, от пользователей сайтов, не зависит, установлен ли на веб-сайте SSL-сертификат, если сертификат не установлен, то мы никак не можем это исправить. Хорошая новость: почти все популярные веб сайты (разные твитеры, вконтакте, фейсбуки, гугл-почты, яндекс-почты и т. д.) имеют эти сертификаты. Даже у Википедии теперь есть!
Если вы владелец сайта, то можно задуматься об установлении SSL-сертификата. Кроме уже названного преимущества (невозможность перехвата данных, отправляемых/получаемых на/с вашего сайта), ещё и Гугл обещала учитывать наличие SSL-сертификата при ранжировании (если этот сертификат есть, то позиции в поиске выше). Проблема в том, цена самых дешёвых сертификатов, даже по акции со скидкой, начинается от 400 рублей. За эти деньги можно купить несколько месяцев хостинга, при весьма эфемерной выгоде от наличия SSL-сертификата.
Если вас всё-таки заинтересовали эти сертификаты, то рекомендую обратиться к статье «Что такое SSL-сертификаты, для чего они нужны и как сэкономить покупая сертификат». Там и где купить со скидкой, и как установить, и прочее.