@xsash

Как перехватить и перенаправить трафик на любом порту?

Есть 2 программы, клиент и сервер.
Общаются они на нестандартном порту, но через https. В клиенте можно указать ip:port сервера

Нет ли "простого" способа поднять некий сервис, который бы слушал XXX порт, подменял бы серт с логированием трафика и перенаправлял бы на ip:YYY. т.е. атака MITM
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 3
@rPman
Нет, в этом и есть весь смысл использования https, незаметно атаку MITM провести не получится.

Чтобы атака в принципе могла быть произведена необходимо как то заставить клиента игнорировать контроль сертификата https или подсунуть свой корневой (кстати это имеет смысл только если сервис использует контроль сертификата от ос а не свой собственный). Так же она возможна при наличии сертификата используемого сервиса (он есть у владельца сервера) атака возможна
Тут достаточно поднять прокси-сервис, подписывая его запросы на промежуточном сервере.
Ответ написан
msHack
@msHack
iptables умеет такое настройте NAT masquerade
Ответ написан
Комментировать
CityCat4
@CityCat4 Куратор тега Цифровые сертификаты
Внимание! Изменился адрес почты!
Простого способа нет. Единственная ее реалзиация - это так как сделано в squid. И главное - чтобы у клиента (инициатора соединения) стоял в доверенных сертификат СA, который выпустит сертификат для сервера-перехватчика.
Очень упрощенная обычная сессия:
Клиент: Привет, я Вася Писькин, умею так и так шифровать
Сервер: Привет, я vk.com, умею так и так шифровать
Клиент: ОК, согласен на ..., мой сертификат
Сервер: Мой сертификат
(далее проверка на клиенте того, что это на самом деле сертификат vk.com, проверка валидности сертификата, генерация сеансового ключа)
[зашифрованный сеанс]

Сессия через mitm (squid в данном случае):
Клиент: Привет, я Вася Писькин, умею так и так шифровать
Прокси: Привет, я vk.com, умею так и так шифровать
Клиент: ОК, согласен на ..., мой сертификат
(прокси быстренько генерит сертификат на себя на имя vk.com)
Прокси: Мой сертификат
(далее проверка на клиенте того, что это на самом деле сертификат vk.com, проверка валидности сертификата, генерация сеансового ключа. Заполучив сеансовый ключ, прокси обращается к настоящему vk.com, устанавливает с ним соединение и ведет обмен между Васей и vk.com как если бы его не было. Но поскольку ему доступен сеансовый ключ - он находится внутри соединения и может его мониторить и разорвать при необходимости.
Возникает конечно вопрос - почему Вася верит такому явному фейку, как сертификат от CA "Большой Брат", прикидывающийся vk.com? А все дело в шляпе том, что сертификат CA, выпустившего сертификат для прокси, ДОЛЖЕН находиться у Васи в доверенных - если этого нет, браузер Васи в ответ на сертификат прокси скажет "Ты кто такой? Давай, до свидания")
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы