В этой статье мы рассмотрим с тобой атаки типа Man-in-the-Middle, а точнее метод
перенапраления SSH- и HTTP- трафика с помощью атаки Man in the Middle. Не будем тянуть кота за хвост, а перейдем к делу.

Man in the Middle (в кратце MitM, с русского языка просто - "атака посредника" или "человек
посередине") - это такой вид атаки, основанный на перенаправлении трафика между двумя машинами для перехвата информации - дальнейшего ее изучения, уничтожения или модификации. Итак, первое, что нам нужно - пакет dsniff (ссылку на пакет ты увидишь в конце статьи). Почему именно он? Да потому, что этот пакет имеет в себе все необходимые утилиты, включая sshmitm (перенаправление SSH-трафика) и httpmitm (перенаправление HTTP-трафика), которые умеют обходить следующую следующую схему безопасности: насколько тебе известно, протоколы с шифрованием данных довольно-таки "секурны" (шифрация в помощь :)) и не позволяют проводить атаки "поверх" сетевого уровня. Ключ шифрования хакеру неизвестен - данные расшифровать невозможно и вставить команду тоже. Все бы вроде ничего, да вот как
раз таки программы MitM-атак (sshmitm и httpmitm) из пакета dsniff способны обойти данную систему безопасности (обойти можно практически все). Делается это все по следующему принципу:
промежуточный хост получает запрос от клиента, "сказав" ему, что он и есть сервер, затем подключаясь к реальному серверу.
Второе, что нам понадобится - прямые руки, четвертое - самое главное - желание, ну и, конечно, жертва, то есть компьютер, который будем атаковать.

Перенаправление SSH-трафика

После подготовки инструментария, ты понял, что к чему и почему :). Доставай sshmitm - сейчас мы будем перенаправлять SSH-трафик (все, что не понял с теоретической частью - читай выше)
с помощью нее, используя недостатки сегодняшнего PKI (public key infrastructure — схема управления ключами, основанная на
методах несимметричной криптографии). Давай рассмотрим синтаксис
sshmitm:

sshmitm [-d] [-I] [-p port] host [port]

-d
разрешить отладочный вывод (то есть более расширенный режим)

-I
перехват сеансов

-p port
порт для прослушивания

host
адрес удаленного хоста, сеансы которого будут перехватываться

port
порт на удаленном хосте

Все вроде просто и со вкусом - ничего сложного нет :). Начнем реализовать атаку!

[inf@home ~ ]# sshmitm server.target.gov // указываем свой SSH-сервер
sshmitm: relaying to server server.target.gov

Так как мы не имеем реального SSH-ключа, то командный интерпретатор атакованного
выведет запрос о проверке host-ключа, все это будет выглядить примерно так:

clientmachine$ server.target.gov
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ 
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
Please contact your system administrator.

И тогда пользователь будет решать - подключаться или нет. Если да - то мы получим полный контроль над SSH-сеансом.
НО! Если юзверь ни разу не подключался к той тачке, может быть выдано следующее сообщение:

The authenticity of host 'server.target.gov' can't be established
RSA key fingerprint is 
bla:bla:bla;bla;bla........
Are you sure you want ti continue connecting (yes/no)?

Тут у юзверя тоже есть два выбора - коннектиться или нет. Если да - то мы перехватили сеанс, если нет - то увы... :(.
В общем-то, атака прошла успешно, если пользователь приконнектился, а sshmitm в свою очередь запишет все пассы и логины, причем очень читабельно 🙂
Естественно, это не единственный перехватчик SSH-сеансов, но познакомившись с этим, ты без проблем освоишь и другой 🙂

Перенаправление HTTP-трафика

Сейчас мы будем перенаправлять HTTP-трафик. Опять таки, нам понадобится уже раннее подобранный инструмент: httpmitm, который прослушивает 80- (HTTP -) и 443- (HTTPS -) порты, перехватывает WEB-запросы, потом подключается к серверу и пересылает запросы компьютеру-клиенту. Также программа генерирует SSL-ключи и SSL-сертификаты с помощью OpenSSL. Затем, после попытки
приконнектится к сайту (target.gov), браузер проверит SSL-сертификат. Так как сертификаты совпадать не будут, то браузер юзверя предупредит о
неправильном SSL-сертификате. Со стороны взломщика это будет выглядеть примерно так:

[inf@home ~ ]#webmitm -d
webmitm: relaying transparently
webmitm: new connection from [IP-адрес]
GET [ссылка]/uzerz.php?user=hellknights&password=neskaju1qwerty HTTP/[версия]
Connection: [тип]
Host: www.target.gov
User-Agent: [информация о системе, браузере]
[итд, итд, итд]
Cookie: [кукисы]

Вот так все это выглядит со стороны -
перехватывается SSL-коннект, схватив незашифрованные данные.

Заключение

В этой статье мы рассмотрели с тобой перенаправление SSH- и HTTP- трафика, с помощью атаки Man in the Middle - четко, подробно, коротко. Другие программы перенаправления HTTP- и SSH-
трафика с помощью MitM ты освоишь быстро, если освоил и эти :)). Если, что-то было непонятно - то:

- почитай про строение интернет-протоколов
- man и google расскроют тебе глаза 🙂

Буду очень рад, если этой статьей и я чем-то вам помог и она вам понравилась 😉

[Пост Скриптум]

Check Also

Разгоняем микроконтроллер. Как я выжал 620 МГц из совместимой с Arduino платы

Производительности всегда не хватает. Иногда проблему можно решить, просто обновившись до …

Оставить мнение