Материал просмотрен 17,819 раз(а)

Введение в механизм атаки Man in the middle (“Человек посередине”).

Вот по такой схеме происходит обмен пакетами между двумя узлами. Я воспользовался двумя виртуальными машинами из нашей схемы. Как вы можете видеть, одна машина (А) имеет IP-адрес: 192.168.10.2 (клиент), вторая (Б): 192.168.10.1 (сервер). Всё это относительно почты конечно же. Машины могут быть равноправны. Сути это не меняет. Серая колбаска по центру – это передающая среда (Ethernet-сеть).

А вот так будет выглядеть атакованная сеть. Встраивается третий компьютер и все данные проходят через него.

Теоретическая выкладка такова, что перед тем как узел “А” посылает кадр данных для “Б”, он должен получить физический адрес узла “Б” с известным IP-адресом. Посылается широковещательный запрос и ожидается ответ от “Б” обратно к “А”, что “Это я! Это я! У меня такой адрес!”. Наша задача, как злоумышленника, ответить узлу “А” раньше истинного узла “Б”, что мы, якобы, и есть узел “Б”. Тогда узел “А” будет посылать пакет нам, вместо истинного “Б”, полагая, что посылает верно. Мы же, прочитав данные, пошлём пакет истинному “Б” дальше. И наоборот. В общем встраиваемся между ними, как на схеме.

Собираем информацию о сети с помощью программы Cain.

Для этих экспериментов я использую программку Cain, которую можно легко найти на просторах Интернета или скачать с нашего сайта. Она бесплатна и очень функциональна. Мы не раз будем обращаться к ней за помощью. Итак, ставим её на атакующую систему злоумышленника (так же поставим сниффер Wireshark, на предложение установить библиотеки WinPcap соглашаемся).

Вот что мы увидим на нашей (под нашей здесь и далее я буду называть машину 192.168.10.34 – злоумышленник. Узлы соответственно “А” и “Б”).

Запускаем программу по ярлыку и видим перед собой такое вот окошко.

Переходим на вкладочку Sniffer. Нажимаем кнопку “Start Sniffer”, я отметил её стрелочкой.

Появляется вот такое окошко с выбором сетевого адаптера. Учитывая то, что у нас один адаптер и одна сеть: 192.168.10.0/24 – используем его и жмём “ОК”.

На вкладке Sniffer / Hosts (через слэш я здесь и далее обозначаю верхнюю и нижнюю панели соответственно) кликаем правой кнопкой мыши на таблице и выбираем пункт сканирования MAC-адресов.

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

Прогресс поиска идёт, а у нас уже два найденных узла. Конечно, у них адреса .1 и .2 🙂 После того, как узлы найдены, можно в этом же поле кликнуть правой кнопкой мыши и выбрать пункт определения имён хостов (Resolv). Если у нас в сети много машин, можно понять кто есть кто.

Переходим на вкладку Sniffer / Arp, обратите внимание, чтобы в левом дереве был выбран корневой пункт ARP. Кликаем на верхнем поле, отмеченное цифрой 1, чтобы туда перешёл фокус. И у нас станет доступна кнопка 2, с картинкой “+”. Добавим в наш лист атакуемую систему.

Выбираем, между какими узлами будем встраиваться. Целевая система HOST с IP: .2, поэтому в первом поле выбираем SERV .1, а во втором .2 (.1 = 192.168.10.1 и т.д., учитывая, что работаем в пределах одной подсети – я буду сокращать адресацию). Жмём ОК.

У нас появилась запись об этом  в таблицу. Нажимаем на кнопку ARP Spoofing-а, эта кнопка 3-я по счёту на верхней панели инструментов, с логотипом радиационной угрозы. Процесс пошёл. Ну теперь осталось отправить пакеты узлу А до узла Б и мы должны их все получить. И что получить? Как открыть? Правильно! Запускаем сниффер WireShark, из первого урока со сниффером вы уже должны знать, как пользоваться основными моментами.

Реализуем атаку с перехватом почты и пароля

А тем временем на узле “А” пользователь Вася решил отправить письмо админу следующего содержания:

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

Итак, отправляем письмо ни о чём не подозревая. Оно, кстати, дойдёт. 🙂

Возвращаемся на машину злоумышленника. Если вы увидели Packets-> и <-Packets отличные от нуля, значит всё в порядке, это количество пакетов мы обработали.

Пришла пора заглянуть в сниффер: Ого! Наловили немало. Серо-чёрная линейка – общение непосредственно клиента с сервером, стандартные команды на светло-серых полях: HELO, MAIL FROM и т.д.. Помните их в материале про отправку почты посредством telnet? Оказывается, сервер делает то же самое. Только быстро и надёжно.

Кстати, так же стоит обратить внимание на узлы Source и Destination – это не наши IP, что означает, что пакеты для нас не предназначались, но мы их получили. Значит атака удалась. Идём дальше.

Найдём место, когда отправлялась команда DATA и развернём содержимое пакета в нижнем поле WireShark: мы увидим там HTML-код письма! Вот и перехваченное почтовое сообщение.

Но это ещё не всё. Проследуем на вкладку Sniffer/Passwords и увидем 1 пойманый пароль в POP3. Вот user@mail.serv.main.com и засветил свой Password: 1234. 🙂

Вот сколько интересного мы сделали с помощью двух бесплатных программок. Кстати, сейчас пишу продолжение к материалу. Если у вас есть вопросы – вы можете задать их мне непосредственно по e-mail (который можно найти на моей странице), постараюсь на них ответить и написать качественный материал! Спасибо за внимание! Удачи! Надеюсь, было интересно!