Как установить sslstrip в kali linux

Обновлено: 03.07.2024

Важно! Статья опубликована исключительно с целью информирования общественности о существующих угрозах. Я не призываю вас в каким бы то ни было действиям, а также не несу за них ответственности. Должен предупредить, что практически во всех странах неправомерный доступ к компьютерной информации является противоправным действием, предусматривающим ответственность вплоть до уголовной. Например, если вы живете в России, см главу 28 уголовного кодекса.

Поднимаем поддельную точку доступа

Было решено провести небольшой эксперимент. Для этого я использовал свой довольно новый телефон Sony Xperia X (F5121) со всеми последними обновлениями, версия Android 8.0. С этим телефоном я решил погулять вокруг дома и поискать публичные точки доступа (access point, AP). Найдя очередную точку доступа, я подключался к ней и проверял, действительно ли она пускает в интернет.

Где-то через пол часа были найдены следующие AP:

  • Moscow_WiFi_Free
  • Starbucks_Beeline_Free
  • MT_FREE

Вернувшись домой, я взял первый попавшийся под руку Wi-Fi роутер и настроил в нем гостевую сеть с SSID «Moscow_WiFi_Free». Что же мы видим? Телефон радостно подключается к Wi-Fi точке. Делает он это автоматически, участие пользователя не требуется. Теперь весь трафик идет через роутер.

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

Перехватываем незашифрованный трафик

А знаете ли вы, что просто сидя в кафе с публичной точкой доступа, можно мониторить трафик всех, кто подключен к этой точке доступа? Для этого даже не требуется специального оборудования, такого, как LimeSDR. Подойдет любой приличный Wi-Fi донгл, или даже беспроводная сетевая карта, встроенная в ноутбук. Для описанного далее эксперимента я лично использовал донгл Panda Wireless PAU07 на базе чипа Ralink RT5572.

Вы убедитесь в том как просто можно организовать атаки типа MITM на SSL путем техник arp-spoof и проги sslstrip.

В моем примере жертва - виртуалка с ИПом 10.10.11.163 (обычная тачка с виндой), ПК с которого я атакую - 10.10.11.85 с установленной ОС Kali и с sslstrip (эта утилита предустановлена в пентестерских дистрибутивах Kali\BackTrack Linux). Между нами шлюз с ИПом 10.10.11.1.

2. Включаю маршрутизацию трафика на ПК с Кали:

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 81

теперь заставлю жертву считать, что моя тачка - это шлюз (проведу атаку ARP-spoofing) с помощью команды

arpspoof -i eth0 -t 10.10.11.163 10.10.11.1

теперь трафик жертвы ходит через мою тачку и (согласно моего правила iptables) форвардится на 81 порт.

3. Запускаю sslstrip

sslstrip -a -l 81 -w /root/Desktop/ssllog.txt

tail -f /root/Desktop/ssllog.txt

4. Жертва идет на свою почту


Жертва жмакает "Войти". а на моем окошке, куда выводился перехваченный трафик я вижу следующее:


Как видно, пароль 1q2w3e4r5t6y.

Чтобы избежать угроз, связанных с перехватом начала SSL-соединения, надо:
- не юзать гаджеты в недоверенных сетях, даже если это очень надо (злодей может устроить MITM с гораздо бОльшей вероятностью, скажем, в аэропорту путем установки rogue wireless access point, чем ломанув корпоративную сеть вашей организации);
- шифровать почту симметричными протоколами шифрования (пишу и думаю о PGP);
- платить нормальную зарплату админу чтоб у него не возникало желания шпионить за вашими сотрудниками таким образом;
- следить за ARP-таблицей и юзать оборудование/софт, которое отслеживает подбные атаки;
- регулярно обновлять ПО из доверенных легальных источников.

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


Эта статья о том, как стать кулхацкером (или по-английски Script Kiddie) — условным злоумышленником, который испытывает недостаток знаний в области программирования и использует существующее программное обеспечение, чтобы провести атаку на смартфоны и планшеты своих одноклассников.

Шучу. На самом деле передо мной стояла задача понять две вещи:

Отправная точка

Сразу скажу, что хотя часть моих опытов проводил в настоящих публичных сетях, “неправомерный доступ” я получал только к браузерам своих собственных устройств. Поэтому фактически Главу 28 УК РФ я не нарушал, и Вам настоятельно нарушать не советую. Данный эксперимент и статья предлагаются к ознакомлению исключительно в целях демонстрации небезопасности использования публичных беспроводных сетей.

Железо

В качестве инструментария для эксперимента я использовал следующий инструментарий:

  • Любая публичная WiFi сеть на фудкорте
  • Нетбук Acer Aspire one D270
  • Встроенная wifi карта Atheros AR5B125
  • Внешний wifi usb адаптер WiFi TP-LINK Archer T4U v3
  • Внешний wifi usb адаптер TP-LINK Archer T9UH v2
  • Kali Linux c версией ядра 5.8.0-kali2-amd64
  • Фреймворк Bettercap v2.28
  • Фреймворк BeEF 0.5
  • Несколько смартфонов и планшетов на Android 9 и ноутбук на Windows 7 в качестве устройств-жертв.

У встроенной карты Atheros AR9485 была великолепная поддержка всех режимов и драйвер “из коробки” в Kali, но невозможность управлять мощностью сигнала и слабая антенна сводили на нет эффективность данной карты на фазе активного вмешательства в трафик.

У WiFi TP-LINK Archer T4U v3 не было драйвера из коробки, а тот который я нашел на Github, не имел поддержки режима точки доступа (AP) и его нужно было компилировать самостоятельно.

Карточка TP-LINK Archer T9UH v2 заработала идеально с драйвером из коробки, на ней то у меня все и получилось.

Первым делом я установил Kali Linux 5.8.0 на свой ноутбук. Единственный SSD в ноутбуке был пустым и предназначался целиком для эксперимента, что избавило меня от некоторых трудностей с разбивкой разделов и резервным копированием старых данных с него, поэтому при установке я использовал все варианты “по умолчанию”. Я все же столкнулся некоторыми тривиальными проблемами вроде потери монтирования флешки с дистрибутивом в процессе установки и обновления системы до последней актуальной версии из репозитория.


Затем нужно было запустить инструменты проникновения, ими будут Bettercap и BeEF. С их помощью мы принудим браузеры “жертв” отказаться от шифрования трафика и внедрим в просматриваемые сайты троянский JavaScript.

Bettercap — это полный, модульный, портативный и легко расширяемый инструмент и фреймворк с диагностическими и наступательными функциями всех видов, которые могут понадобиться для выполнения атаки “человек посередине”. Bettercap написан на Go, основная разработка проекта проходила до 2019 года, сейчас происходят лишь небольшие исправления. Однако, как мы увидим позднее этот инструмент в быстро меняющемся мире информационной безопасности сохраняет свою актуальность и на закате 2020 года. Bettercap поставляется со встроенным модулями arp spoof и sslstrip. Именно Bettercap должен перехватывать трафик и внедрять в него вредоносную нагрузку.

BeEF — это фреймворк, позволяющий централизованно управлять пулом зараженных через XSS-атаку (сross-site scripting) клиентов, отдавать им команды и получать результат. “Злоумышленник” внедряет на уязвимый сайт скрипт hook.js. Скрипт hook.js из браузера “жертвы” сигналит управляющему центру на компьютере “злоумышленника” (BeEF) о том, что новый клиент онлайн. “Злоумышленник” входит в панель управления BeEF и удаленно управляет зараженными браузерами.

Я использовал версии Bettercap v2.28 и BeEF 0.5 Они оба уже есть в составе Kali Linux 5.8.0
Открываем окно командной строки и вводим команду


Стартует первая часть нашего зловредного бутерброда — фреймворк BeEF.


Оставляем вкладку с BeEF открытой, мы в нее вернемся позже.

Перейдем к второй части бутерброда — Bettercap. Тут был подводный камень — Bettercap, уже имевшийся в системе, отказывался стартовать сервисом и выдавал другие непонятные мне ошибки. Поэтому я его решил удалить и поставить заново вручную. Открываем окно командной строки и выполняем команды:


Затем скачиваем браузером бинарную версию Bettercap v2.28 в архиве в папку загрузки. Обратите внимание, что я выбрал версию для своей архитектуры ядра.

Теперь распаковываем и размещаем исполняемый файл в системе Bettercap в папку, предназначенную для ручной установки.


Самый простой способ начать работу с Bettercap — использовать его официальный веб-интерфейс пользователя. Веб-интерфейс работает одновременно с сервисом rest API и интерактивной сессией командной строки. Чтобы установить веб-интерфейс нужно выполнить команду:


Внимание! Уже на этом этапе нужно обязательно подключиться к атакуемой беспроводной сети, получить ip-адрес для беспроводного интерфейса атакующей машины и запомнить его (команда ifconfig поможет его узнать).


Теперь можно открыть в браузере еще одну вкладку с адресом 127.0.0.1 (без номера порта!) и войти в систему, используя учетные данные, которые были подсмотрены или настроены на предыдущем шаге (обычно это user/pass).


Веб-интерфейс Bettercap полностью дублирует командную строку, поэтому все действия которые мы будем делать из командной строки, можно сделать и из веб-интерфейса (запуск модулей, смена режимов, просмотр изменение значение переменных, вывод диагностической информации)

Продолжаем в командной строке и проведём первоначальную разведку беспроводной сети, к которой мы уже подключены в качестве обычного клиента.


net.recon on — Запускает обнаружение сетевых хостов.
net.probe on — Запускает активное зондирование новых хостов в сети через отправку фиктивных пакетов каждому возможному IP в подсети.
net.show — Даёт команду отобразить список кэша обнаруженных хостов.
net.probe off — Выключает модуль активного зондирования.
Настраиваем переменные Bettercap, чтобы он:


Затем запускаем атаку против пользователей беспроводной сети:
Команды






А на машине “злоумышленника” в контрольной панели фреймворка BeEF, в разделе Online Browsers тем временем появится запись о новом браузере, пойманном на крючок. Выбираем этот браузер мышью, переходим в суб-вкладку Commands, на каталог Browsers, потом последовательно Hooked domain → Get Cookie → Execute


Выводы

Выводы по результатам эксперимента неутешительные. Браузеры еще не могут на 100% защитить пользователей от вмешательства в трафик или подмены настоящего сайта фишинговым. Механизм HSTS срабатывает только для пары тысяч самых популярных сайтов и оставляет без надежной защиты миллионы других. Браузеры недостадочно явно предупреждают о том, что соединение с сервером не зашифровано. Еще хуже дело обстоит в беспроводных сетях, где доступ к среде передачи данных есть у любого желающего, при этом почти никто из пользователей вообще никак не проверяет подлинность самой точки доступа, а надежных методов проверки подлинности точек доступа просто не существует.

Основная концепция инструментов сниффинга так же проста, как прослушивание телефонных разговоров, и в Kali Linux есть несколько популярных инструментов для этой цели. В этой главе мы узнаем об инструментах прослушивания и спуфинга, доступных в Kali.

Burpsuite

Burpsuite можно использовать в качестве инструмента отслеживания между вашим браузером и веб-серверами, чтобы найти параметры, которые использует веб-приложение.

Чтобы открыть Burpsuite, выберите Приложения → Анализ веб-приложений → Burpsuite.

Веб-анализ

Для настройки сниффинга мы настраиваем burpsuite для работы в качестве прокси. Для этого перейдите в Параметры, как показано на следующем снимке экрана. Установите флажок, как показано.

В этом случае IP-адрес прокси-сервера будет 127.0.0.1 с портом 8080.

IP прокси

Затем настройте прокси-сервер браузера, который является IP-адресом компьютера burpsuite и порта.

Настроить браузер

Чтобы начать перехват, перейдите в Прокси → Перехват → нажмите «Перехват включен».

Продолжайте перемещаться по веб-странице, где вы хотите найти параметр для проверки на уязвимости.

перехват

В данном случае это метастабильная машина с IP 192.168.1.102

IP машины

mitmproxy

Чтобы открыть его, перейдите в терминал и введите «mitmproxy -parameter», а для получения справки по командам введите «mitmproxy –h» .

Mitmproxy

Чтобы запустить mitmproxy, введите «mitmproxy –p portnumber» . В данном случае это «mitmproxy –p 80».

Номер порта

Wireshark

Wireshark

Как только вы нажмете wireshark, откроется следующий графический интерфейс.

Wireshark GUI

Нажмите «Пуск», и захват пакета начнется, как показано на следующем снимке экрана.

Захват пакетов

SSLstrip

Чтобы открыть его, перейдите в Приложения → 09-Sniffing & Spoofing → Spoofing и MITM → sslstrip.

Подделка
Применение MITM

Чтобы настроить его, напишите, чтобы переслать все 80-портовое соединение на 8080.

Читайте также: