SSLStrip - перехват http трафика

BDFINFO1.9
Оффлайн

BDFINFO1.9

Новичок
.
Регистрация
12.05.16
Сообщения
1.927
Реакции
523
Репутация
0
You must be registered for see images attach


SSL Strippping

Любой атакующий, который может расположиться между источником и адресатом трафика, здесь у нас источник, здесь адресат, этот атакующий может совершить атаку вида “Man in the middle” (рус. "Человек посередине"). Одна из подобных атак, которая требует весьма небольших навыков и ресурсов, называется SSL stripping (рус. "Снятие SSL"). Атакующий выступает в роли прокси здесь и подменяет зашифрованные HTTPS-соединения на HTTP-соединения.



И есть бесплатный инструмент для проведения таких атак, называется SSLStrip, который работает с HTTP, использующим SSL. Вот адрес сайта. Он создан парнем по имени Moxie Marlinspike, это достаточно широко известный исследователь в области безопасности.

Давайте подумаем, как, собственно говоря, мы попадаем на HTTPS веб-сайты. Есть пара основных способов, как это можно сделать. Вот первый способ. Вбиваем в адресную строку браузера адрес сайта, на который хотим зайти и нажимаем Enter.

В большинстве случаев мы не набираем https://. Что происходит далее: мы отправляемся на HTTP веб-сайт, а затем сервер дает нам так называемый 302-й редирект и отправляет нас на эту HTTPS-версию веб-сайта.

Другой способ попасть на HTTPS веб-сайты - это переход по ссылке. Допустим, я нашел что-нибудь в Google, получил ссылку, и мы видим, что это HTTPS-ссылка, и затем она приводит нас прямиком на HTTPS-версию Facebook.

Как работает SSLStrip. Он выступает в роли прокси, который ищет эти два вида событий: 302-е редиректы и переходы по HTTPS-ссылкам, а затем проксирует эти соединения. Итак, вы устанавливаете исходное HTTP-соединение, оно достигает сервера, сервер отвечает: "Вообще-то нет, это должно быть HTTPS-соединение", и отправляет вас обратно.

SSLStrip здесь проксирует ответ от веб-сервера, имитируя ваш браузер, и отправляет вам обратно HTTP-версию сайта. Сервер никогда не заметит отличий. Он думает, что общается с вами. Он верит, что это - ваш браузер. И что вы увидите - это будет практически неотличимо от подлинного сайта.

Давайте я покажу вам, как должен выглядеть вебсайт Facebook. Это легитимный вебсайт Facebook. Теперь я выполнил HTTPS-stripping при помощи Kali Linux. И вот, как выглядит версия сайта после атаки. Легитимная версия, версия сайта после атаки. Легитимная версия, версия сайта после атаки. Как можно заметить, отличие в том, что у вас теперь нет HTTPS и большинство людей не заметят эту разницу. И как я уже сказал, сервер никогда не заметит, что что-то не так, потому что он общается с прокси, который ведет себя точно также, как вели бы себя вы.

Чтобы произвести эту атаку, вам нужно быть посередине. Вам нужно иметь возможность видеть трафик, чтобы вы могли его разобрать. А находиться посередине чьего-либо трафика не всегда так просто. Это зависит от того, где вы находитесь. Если вы в чужой сети, например, на работе или в интернет-кафе, в сети интернетпровайдера, владельцы этих сетей, они контролируют эти сети, так что они находятся посередине. По этой причине они могут произвести подобного рода атаку. Однако это не очень искусная атака, поскольку вы можете заметить отсутствие HTTPS. При проведении целевой атаки правительство вполне может использовать этот метод, однако это весьма маловероятно, и еще более низка вероятность того, что они решат делать это для массовой слежки, разве что это не какое-нибудь там небольшое диктаторское правительство, которое занимается подобными вещами, ведь это довольно-таки простейшая форма атаки, эффективная при небольших ресурсах, низкоквалифицированных атакующих, а не атака по-настоящему государственного уровня.

Рандомному киберпреступнику, сидящему где-то на удалении от вас, будет достаточно трудно попасть в середину вашего трафика. Не очень-то много есть механизмов, чтобы осуществить это, и поэтому, более вероятно, что такой атакующий попытается вместо этого атаковать ваш клиент, ведь это попросту легче сделать, а люди всегда идут по легкому пути, избегая сложного. И если они совершают атаку на ваш клиент и попали в ваш клиент, завладели им, то им не нужно снимать SSL, поскольку они и так смогут увидеть ваши данные, ведь они уже в вашем клиенте.

Другой интересный способ для проведения этой атаки - когда атакующий находится в вашей локальной сети, так что это либо происходит по Ethernet-кабелю, либо по беспроводной связи через Wi-Fi. Они могут обмануть вашу машину и заставить ее отправлять трафик через них, и это известно как ARP-спуфинг, или ARP-отравление.

Атакующий посылает ARP-пакеты, имитируя шлюз жертвы по умолчанию.

Это работает, потому что у Ethernet нет механизмов для аутентификации, нет этого функционала, поэтому любая машина в принципе может отправить то, что называется ARP-пакетом, и сообщить, что она - одна из машин в этой сети, например, шлюз или маршрутизатор, и это приводит к тому, что вы начинаете отправлять свой трафик через фейковый маршрутизатор, который затем переправляет его, попутно снимая SSL, и после этого переправляет трафик обратно к вам, как мы уже видели.



Если вы хотите больше узнать об ARP-спуфинге, я бы порекомендовал этот вебсайт, он довольно-таки хорош. Вот небольшая схема, на ней атакующий говорит: "Смотри, я маршрутизатор", и трафик начинает ошибочно идти через него.

В Kali есть инструменты под названием Ettercap и Arpspoof, и конечно же, SSLStrip, которые позволяют вам совершать подобного рода атаки.

И есть инструмент под названием Cain & Abel, вот адрес сайта, вы можете использовать его под Виндой.



А это сайт инструмента SSLStrip, тут перечислены команды, как работать с ним. И все, что вам нужно для выполнения SSL stripping или ARP-спуфинга если вы в локальной сети, все это доступно в Kali. Тут приведены команды, которые следует запускать, все предельно просто.

Здесь включение ip_forward, внесение некоторых изменений в iptables, чтобы HTTP-трафик перенаправлялся на SSLStrip. Запуск SSLStrip, тут нужно указать порт. И далее включение arpspoof, где вы говорите целевой машине отправлять ее трафик вам. В общем, можете поэкспериментировать с этим в Kali, если есть желание. Еще один интересный способ снятия SSL - это установка подставной точки доступа. Она может быть затем настроена для автоматического снятия SSL. Подставная точка доступа - это когда вы подключаетесь к Wi-Fi сети, а владелец этой Wi-Fi сети пытается вас атаковать, это подставная или поддельная точка доступа. И вы можете настроить эту точку доступа для снятия SSL точно таким же образом, как мы обсуждали, потому что вновь атакующий находится посередине, ведь вы подключаетесь через него

Собственно говоря, вы можете купить оборудование, которое будет делать это за вас. Это WiFi Pineapple. Есть и другие версии, но я бы порекомендовал взять его в аэропорт или другое людное место, включить, поднять открытую сеть, говорящую "Бесплатный WiFi" или что-нибудь типа того, и вы будете поражены полученным количеством паролей от Facebook, Google и многих других сайтов. Люди попросту не замечают снятие SSL.

Пожалуй, стоит отметить, что когда вы делаете снятие SSL, это означает, что соединение перестает быть зашифрованным, и следовательно вы можете видеть все содержимое трафика, то есть у вас появляется возможность красть имена пользователей и пароли, и попросту наблюдать за всем тем, чем занимается определенный человек. Давайте теперь подумаем, что можно сделать для предотвращения всего этого? Что ж, на клиентской стороне вы можете попытаться замечать те случаи, когда у вас отсутствует HTTPS, но если вы будете заняты, то вряд ли сможете это заметить. И тем не менее, вам следует обращать на это внимание.

You must be registered for see images attach

Более надежный метод - это использование туннеля или шифрованного туннеля, так чтобы снятие SSL стало невозможно, поскольку трафик, который вы отправляете, будет зашифрован иным способом. Например, можно использовать SSH туннелирование.

Можно использовать VPN-технологию типа IPsec. А вообще, стоит обратить внимание на end-to-end шифрование, и мы поговорим об этом позже.

Помимо всего прочего, вам лучше не подключаться к сомнительным сетям без использования туннелирования или VPN или шифрования, потому что это именно то, что может произойти, если у вас их нет. Ваш SSL может быть снят и весь ваш трафик станет открытым. В этом курсе мы также обсудим виртуальные частные сети VPN.

Наличие ARP-спуфинга и сниффинга в вашей локальной сети можно в определенной степени обнаружить, и есть пара инструментов для примера, которые вы можете использовать. Это Arpwatch. Он мониторит вашу Ethernet-сеть на наличие ARP-спуфинга или отравления. И есть другой инструмент, это Sniffdet, он обнаруживает тех, кто наблюдает за сетевым трафиком.

Что касается серверной стороны, и я выведу это на экран, у вас может не быть контроля за серверной стороной, но я полагаю, в некоторых случаях, такой контроль имеется. Есть возможность активации строгой безопасности передачи данных по протоколу HTTP, сокращенно HSTS, этот механизм использует особый заголовок для принудительного использования браузером только лишь HTTPS-трафика.

You must be registered for see images attach


Это работает только если вы ранее посещали сайт, и затем ваш клиент фактически запоминает, что данный сайт принимает исключительно HTTPS-трафик. А вот пример того, как я снял SSL и получил сообщение об ошибке, потому что на этом сайте была активирована строгая транспортная безопасность HTTP.

Другим способом предотвращения снятия SSL или ARP-спуфинга и отравления является использование виртуальных локальных сетей и другие формы изоляции сетей. Виртуальная локальная сеть предотвращает перемещение трафика из одного сегмента сети в другой сегмент сети при помощи коммутатора и особых тегов. Если вам это интересно, погуглите виртуальные локальные сети VLAN.

Также можно иметь полную изоляцию сети при условии, что атакующий не находится в этой же физической сети, потому что вы и ваш трафик не будете проходить через атакующего, вы будете использовать разные сетевые коммутаторы или проходить через разные маршрутизаторы, и понятно, что атакующий не сможет получить доступ к вашему трафику.

Вы также можете использовать фаерволы для предотвращения перемещения трафика в определенных направлениях, вы можете настроить WiFi таким образом, чтобы получить изоляцию при помощи конфигурации вашей точки доступа, и вы можете поднять раздельные WiFi-сети, например, гостевую сеть, или сеть 1 и сеть 2, и эти две сети не смогут видеть трафик друг друга. В общем, есть множество вещей, которые вы можете сделать на сетевом уровне. Мы более подробно рассмотрим эти вопросы, когда будем говорить о вашей локальной сети и WiFi. Это был материал о снятии SSL.
 
Сверху Снизу