Добро пожаловать обратно, мои новобранцы-кибервоины!
Атаки типа «человек посередине» могут быть одними из самых продуктивных и опасных. Если злоумышленник/хакер сможет расположиться между двумя системами (обычно клиентом и сервером), он сможет контролировать трафик между ними. Таким образом, он сможет перехватывать трафик, удалять его, внедрять вредоносное ПО и даже изменять его (представьте себе изменение электронной почты!). В предыдущих уроках я показал, как использовать ARPSpoof и DNSSpoof для проведения атаки MiTM, но в этом уроке мы будем использовать графический инструмент MiTM, известный как Ettercap.
Ettercap, вероятно, является наиболее широко используемым инструментом для проведения атак MiTM (за ним следуют Cain и Abel, которые мы рассмотрим в следующем уроке).
Ettercap был разработан Альбертом Орнаги и Марко Валлери. По сути, это набор инструментов для упрощения атак типа «человек посередине». Его можно использовать как из командной строки (CLI), так и через графический интерфейс (GUI). В этом уроке мы будем использовать графический интерфейс.
Ettercap позволяет нам разместиться посередине между двумя машинами, а затем:
Важно отметить, что ettercap требует прав root для открытия сокетов уровня 2 (канала передачи данных). Кроме того, как и следовало ожидать, ettercap может замедлить обмен данными между двумя целевыми системами, выполняя собственную обработку.
Ettercap — это инструмент с графическим интерфейсом, встроенный в Kali, поэтому вам не нужно ничего загружать и устанавливать. Итак, начнем с проведения атаки MiTM с помощью Ettercap.
Шаг №1: Запуск ettercap
Давайте просмотрим файл справки для ettercap, введя:
kali > ettercap -h
Как видите, ettercap имеет внушительный файл справки для запуска из командной строки, но нам нужен только ключ для запуска в графическом режиме. В нижней строке скриншота (не в нижней строке самого файла справки, так как я обрезал её для экономии места) вы видите ключ -G. Он после команды ettercap запустит графический интерфейс ettercap.
kali > ettercap -G
После этого запустится графический интерфейс ettercap, как показано ниже.
Первый шаг в запуске MiTM-приложения — начать анализ трафика. Откройте выпадающее меню «Обзор» и выберите «Унифицированный анализ трафика».
Когда мы это сделаем, откроется новое окно с вопросом о том, какой интерфейс мы хотим использовать, и по умолчанию будет выбран eth0.
Когда мы нажимаем «ОК», ettercap запускает сканирование и загружает свои плагины.
Следующий шаг — поиск хостов в сети. Перейдите на вкладку «Хосты», и вы увидите меню с пунктом «Сканировать хосты». Нажмите на него, и ettercap начнёт сканирование сети на наличие хостов.
Теперь на той же вкладке «Хосты» нажмите «Список хостов». Отобразятся все хосты, обнаруженные ettercap в вашей сети, как показано на скриншоте ниже.
Теперь выберите один из хостов, который будет целью этой атаки, в окне, щёлкнув
по нему, а затем нажмите «Добавить к цели 1» в нижней части окна. После этого ettercap добавит этот хост в качестве первой цели нашей атаки MiTM, как показано на снимке экрана ниже.
Далее выберите второй хост в этой атаке и нажмите «Добавить в цель 2».
Наконец, перейдите в меню выше и нажмите на вкладку MITM, в раскрывающемся меню будет пункт под названием «Отравление ARP», как показано на снимке экрана ниже.
Выберите его, и откроется всплывающее окно, как показано ниже. Выберите «Проверка удалённых подключений».
Когда мы нажмем «ОК», ettercap начнет отравление ARP, и вы увидите в главном окне ettercap ответ с сообщением ниже.
Итак, мы успешно разместились между двумя целевыми системами, и весь их трафик должен проходить через нас. Вот тут-то и начинается самое интересное: теперь мы можем удалять, манипулировать, выдавать себя за других и просматривать весь их трафик.
Изменение трафика
Как я уже упоминал выше, реальный риск атаки типа «человек посередине» заключается в том, что злоумышленник может перехватывать интернет-трафик и изменять его по своему усмотрению. В этом разделе, раз уж мы находимся между двумя системами, мы продемонстрируем риски атаки типа «человек посередине». Мы будем использовать атаку типа «человек посередине» для редактирования/изменения интернет-трафика, видимого жертвой. Таким образом, злоумышленник может изменять содержимое веб-сайтов, электронных писем, изображения, которые видит жертва в своём интернет-трафике, удалять определённые пакеты интернет-трафика и т. д. Суть должна быть ясна: когда мы оказываемся в центре, цель в нашей власти!
Шаг №2 : Измените трафик
В следующем разделе мы изменим трафик с внутреннего сайта корпоративной интрасети. Этот сайт используется всеми сотрудниками для корпоративных объявлений, планирования и т. д. Хотя этот сценарий относится к корпоративной интрасети в локальной сети, техника и эффект будут такими же в более широком Интернете. В нашем сценарии менеджер опубликовал новое время начала работы на следующий день из-за очень большой рабочей нагрузки. В результате он хочет, чтобы все начинали работу в 6 утра, и публикует это на корпоративном интрасети, чтобы все сотрудники могли его увидеть. Наш злоумышленник имеет злонамеренные намерения в отношении жертвы и хочет изменить сообщение так, чтобы жертва пришла на работу позже, в 11 утра. Это, вероятно, будет иметь негативные последствия для жертвы со стороны менеджера, а именно этого и добивается злоумышленник.
Шаг №3. Создание интранет - сайта
Страница с объявлением в корпоративной интранет-сети выглядит так, как показано на скриншоте ниже. Её увидят все сотрудники отдела, и, хотя они недовольны ранним началом работы, они корректируют свой график, чтобы справиться с дополнительной нагрузкой. Наш злоумышленник хочет, чтобы жертва увидела не это сообщение, а изменённое, чтобы ввести её в заблуждение относительно нового времени начала.
Шаг №4: Использование фильтров Ettercap
Одним из многочисленных преимуществ использования Ettercap для атак MiTM является простота, с которой вы можете изменять и редактировать интернет-трафик цели.
В графическом интерфейсе Ettercap над верхней строкой меню вы увидите раскрывающееся меню «Фильтры». Щёлкните по нему, а затем выберите «Загрузить фильтр».
После этого появится окно, подобное показанному ниже. Справа от окна мы видим множество файлов фильтров.
Давайте посмотрим на содержимое этого каталога (/usr/share/ettercap) в терминале Kali. Откройте терминал и введите:
кали > cd /usr/share/ettercap
кали > ls -l
Как видно на скриншоте выше, существует множество файлов фильтров Ettercap. Обратите внимание на файл с именем etter.filter.examples. Давайте откроем его с помощью Leafpad и посмотрим, что в нём содержится.
Кали > листовка etter.filter.examples
Этот файл содержит множество примеров фильтров Ettercap различных типов. Мы можем использовать их в качестве шаблонов для создания собственных фильтров. Обратите внимание на разнообразие типов:
В связи с небольшой рабочей нагрузкой ожидается , что все придут на работу к 11:00 .
В Ettercap есть готовый файл фильтра именно для этого! Это файл etter.filter. Давайте откроем его с помощью Leafpad и посмотрим, что в нём есть.
kali > leafpad etter.filter
Обратите внимание, начиная со строки 21 после комментариев, у нас есть простой код, который ищет трафик TCP (if (ip.proto == TCP)), содержащий данные, соответствующие слову «ethercap» (search (DATA.data, «ethercap»)), затем регистрирует его и заменяет на ettercap (replace(“etthercap”, “ettercap”)) и создает сообщение о том, что произошло (msg(“Correctly substitute and logged. n”)). Мы можем использовать этот же код, но заменить слова, которые он ищет, на слова, которые мы хотим заменить, а именно «Heavy» и «6».
Далее нам нужно отредактировать этот файл фильтра Ettercap. Сначала скопируйте и вставьте весь незакомментированный код, чтобы получилось две строфы. Затем замените слово «ethercap» на «Heavy» в первой строфе, а во второй — на «6», как показано на скриншоте ниже.
Внесите все изменения, отмеченные на снимке экрана выше, и сохраните файл.
Шаг №5 : Компиляция фильтра
Теперь, прежде чем использовать фильтр, его нужно скомпилировать. Откройте терминал и введите:
Кали >etterfilter etter.filter -o etter.filter.heavy
Где:
etterfilter — это команда для компиляции файла фильтра
etter.filter — это входной файл
-o etter.filter.heavy направляет скомпилированный вывод в новый файл
Шаг №6 : Добавьте фильтр в Ettercap
Теперь, когда файл фильтра перекомпилирован и готов к использованию, мы можем вернуться в графический интерфейс Ettercap, выбрать пункт «Фильтры» и нажать на созданный нами скомпилированный фильтр. Когда он появится в окне «Выбор», нажмите «ОК». Это должно активировать автоматический процесс, при котором в режиме реального времени слово «Heavy» в интернет-трафике будет заменяться на «Light», а число «6» — на «11». Важно отметить, что эта замена будет применяться ко ВСЕМУ интернет-трафику, поступающему на целевой сервер.
Теперь, когда целевой пользователь перейдет на интранет-сайт, объявляющий новое время начала, он увидит следующую веб-страницу, как показано ниже. Все остальные увидят настоящий интранет-сайт, но у целевого пользователя эти два слова будут изменены.
В этом руководстве показано, насколько легко провести атаку MitM с помощью ettercap, и насколько это возможно — незаметно и прозрачно изменять трафик целевой системы. У конечного пользователя нет никаких признаков того, что его трафик был изменён!
Атаки типа «человек посередине» могут быть одними из самых продуктивных и опасных. Если злоумышленник/хакер сможет расположиться между двумя системами (обычно клиентом и сервером), он сможет контролировать трафик между ними. Таким образом, он сможет перехватывать трафик, удалять его, внедрять вредоносное ПО и даже изменять его (представьте себе изменение электронной почты!). В предыдущих уроках я показал, как использовать ARPSpoof и DNSSpoof для проведения атаки MiTM, но в этом уроке мы будем использовать графический инструмент MiTM, известный как Ettercap.
Ettercap, вероятно, является наиболее широко используемым инструментом для проведения атак MiTM (за ним следуют Cain и Abel, которые мы рассмотрим в следующем уроке).
Ettercap был разработан Альбертом Орнаги и Марко Валлери. По сути, это набор инструментов для упрощения атак типа «человек посередине». Его можно использовать как из командной строки (CLI), так и через графический интерфейс (GUI). В этом уроке мы будем использовать графический интерфейс.
Ettercap позволяет нам разместиться посередине между двумя машинами, а затем:
- заражать трафик вредоносным ПО
- удалить трафик
- перехват паролей
- предоставлять поддельные сертификаты для HTTPS
- DNS-спуфинг
Важно отметить, что ettercap требует прав root для открытия сокетов уровня 2 (канала передачи данных). Кроме того, как и следовало ожидать, ettercap может замедлить обмен данными между двумя целевыми системами, выполняя собственную обработку.
Ettercap — это инструмент с графическим интерфейсом, встроенный в Kali, поэтому вам не нужно ничего загружать и устанавливать. Итак, начнем с проведения атаки MiTM с помощью Ettercap.
Шаг №1: Запуск ettercap
Давайте просмотрим файл справки для ettercap, введя:
kali > ettercap -h
Как видите, ettercap имеет внушительный файл справки для запуска из командной строки, но нам нужен только ключ для запуска в графическом режиме. В нижней строке скриншота (не в нижней строке самого файла справки, так как я обрезал её для экономии места) вы видите ключ -G. Он после команды ettercap запустит графический интерфейс ettercap.
kali > ettercap -G
После этого запустится графический интерфейс ettercap, как показано ниже.
Первый шаг в запуске MiTM-приложения — начать анализ трафика. Откройте выпадающее меню «Обзор» и выберите «Унифицированный анализ трафика».
Когда мы это сделаем, откроется новое окно с вопросом о том, какой интерфейс мы хотим использовать, и по умолчанию будет выбран eth0.
Когда мы нажимаем «ОК», ettercap запускает сканирование и загружает свои плагины.
Следующий шаг — поиск хостов в сети. Перейдите на вкладку «Хосты», и вы увидите меню с пунктом «Сканировать хосты». Нажмите на него, и ettercap начнёт сканирование сети на наличие хостов.
Теперь на той же вкладке «Хосты» нажмите «Список хостов». Отобразятся все хосты, обнаруженные ettercap в вашей сети, как показано на скриншоте ниже.
Теперь выберите один из хостов, который будет целью этой атаки, в окне, щёлкнув
по нему, а затем нажмите «Добавить к цели 1» в нижней части окна. После этого ettercap добавит этот хост в качестве первой цели нашей атаки MiTM, как показано на снимке экрана ниже.
Далее выберите второй хост в этой атаке и нажмите «Добавить в цель 2».
Наконец, перейдите в меню выше и нажмите на вкладку MITM, в раскрывающемся меню будет пункт под названием «Отравление ARP», как показано на снимке экрана ниже.
Выберите его, и откроется всплывающее окно, как показано ниже. Выберите «Проверка удалённых подключений».
Когда мы нажмем «ОК», ettercap начнет отравление ARP, и вы увидите в главном окне ettercap ответ с сообщением ниже.
Итак, мы успешно разместились между двумя целевыми системами, и весь их трафик должен проходить через нас. Вот тут-то и начинается самое интересное: теперь мы можем удалять, манипулировать, выдавать себя за других и просматривать весь их трафик.
Изменение трафика
Как я уже упоминал выше, реальный риск атаки типа «человек посередине» заключается в том, что злоумышленник может перехватывать интернет-трафик и изменять его по своему усмотрению. В этом разделе, раз уж мы находимся между двумя системами, мы продемонстрируем риски атаки типа «человек посередине». Мы будем использовать атаку типа «человек посередине» для редактирования/изменения интернет-трафика, видимого жертвой. Таким образом, злоумышленник может изменять содержимое веб-сайтов, электронных писем, изображения, которые видит жертва в своём интернет-трафике, удалять определённые пакеты интернет-трафика и т. д. Суть должна быть ясна: когда мы оказываемся в центре, цель в нашей власти!
Шаг №2 : Измените трафик
В следующем разделе мы изменим трафик с внутреннего сайта корпоративной интрасети. Этот сайт используется всеми сотрудниками для корпоративных объявлений, планирования и т. д. Хотя этот сценарий относится к корпоративной интрасети в локальной сети, техника и эффект будут такими же в более широком Интернете. В нашем сценарии менеджер опубликовал новое время начала работы на следующий день из-за очень большой рабочей нагрузки. В результате он хочет, чтобы все начинали работу в 6 утра, и публикует это на корпоративном интрасети, чтобы все сотрудники могли его увидеть. Наш злоумышленник имеет злонамеренные намерения в отношении жертвы и хочет изменить сообщение так, чтобы жертва пришла на работу позже, в 11 утра. Это, вероятно, будет иметь негативные последствия для жертвы со стороны менеджера, а именно этого и добивается злоумышленник.
Шаг №3. Создание интранет - сайта
Страница с объявлением в корпоративной интранет-сети выглядит так, как показано на скриншоте ниже. Её увидят все сотрудники отдела, и, хотя они недовольны ранним началом работы, они корректируют свой график, чтобы справиться с дополнительной нагрузкой. Наш злоумышленник хочет, чтобы жертва увидела не это сообщение, а изменённое, чтобы ввести её в заблуждение относительно нового времени начала.
Шаг №4: Использование фильтров Ettercap
Одним из многочисленных преимуществ использования Ettercap для атак MiTM является простота, с которой вы можете изменять и редактировать интернет-трафик цели.
В графическом интерфейсе Ettercap над верхней строкой меню вы увидите раскрывающееся меню «Фильтры». Щёлкните по нему, а затем выберите «Загрузить фильтр».
После этого появится окно, подобное показанному ниже. Справа от окна мы видим множество файлов фильтров.
Давайте посмотрим на содержимое этого каталога (/usr/share/ettercap) в терминале Kali. Откройте терминал и введите:
кали > cd /usr/share/ettercap
кали > ls -l
Как видно на скриншоте выше, существует множество файлов фильтров Ettercap. Обратите внимание на файл с именем etter.filter.examples. Давайте откроем его с помощью Leafpad и посмотрим, что в нём содержится.
Кали > листовка etter.filter.examples
Этот файл содержит множество примеров фильтров Ettercap различных типов. Мы можем использовать их в качестве шаблонов для создания собственных фильтров. Обратите внимание на разнообразие типов:
- отобразить сообщение на порту 22
- регистрировать весь трафик Telnet
- регистрировать весь трафик, кроме http
- выполнить некоторые операции с полезной нагрузкой пакета (в данном случае изменить числовые значения)
- отбрасывать любой пакет, содержащий определенное слово или строку
- регистрировать расшифрованные пакеты SSH, соответствующие регулярному выражению
- и многое другое
В связи с небольшой рабочей нагрузкой ожидается , что все придут на работу к 11:00 .
В Ettercap есть готовый файл фильтра именно для этого! Это файл etter.filter. Давайте откроем его с помощью Leafpad и посмотрим, что в нём есть.
kali > leafpad etter.filter
Обратите внимание, начиная со строки 21 после комментариев, у нас есть простой код, который ищет трафик TCP (if (ip.proto == TCP)), содержащий данные, соответствующие слову «ethercap» (search (DATA.data, «ethercap»)), затем регистрирует его и заменяет на ettercap (replace(“etthercap”, “ettercap”)) и создает сообщение о том, что произошло (msg(“Correctly substitute and logged. n”)). Мы можем использовать этот же код, но заменить слова, которые он ищет, на слова, которые мы хотим заменить, а именно «Heavy» и «6».
Далее нам нужно отредактировать этот файл фильтра Ettercap. Сначала скопируйте и вставьте весь незакомментированный код, чтобы получилось две строфы. Затем замените слово «ethercap» на «Heavy» в первой строфе, а во второй — на «6», как показано на скриншоте ниже.
Внесите все изменения, отмеченные на снимке экрана выше, и сохраните файл.
Шаг №5 : Компиляция фильтра
Теперь, прежде чем использовать фильтр, его нужно скомпилировать. Откройте терминал и введите:
Кали >etterfilter etter.filter -o etter.filter.heavy
Где:
etterfilter — это команда для компиляции файла фильтра
etter.filter — это входной файл
-o etter.filter.heavy направляет скомпилированный вывод в новый файл
Шаг №6 : Добавьте фильтр в Ettercap
Теперь, когда файл фильтра перекомпилирован и готов к использованию, мы можем вернуться в графический интерфейс Ettercap, выбрать пункт «Фильтры» и нажать на созданный нами скомпилированный фильтр. Когда он появится в окне «Выбор», нажмите «ОК». Это должно активировать автоматический процесс, при котором в режиме реального времени слово «Heavy» в интернет-трафике будет заменяться на «Light», а число «6» — на «11». Важно отметить, что эта замена будет применяться ко ВСЕМУ интернет-трафику, поступающему на целевой сервер.
Теперь, когда целевой пользователь перейдет на интранет-сайт, объявляющий новое время начала, он увидит следующую веб-страницу, как показано ниже. Все остальные увидят настоящий интранет-сайт, но у целевого пользователя эти два слова будут изменены.
В этом руководстве показано, насколько легко провести атаку MitM с помощью ettercap, и насколько это возможно — незаметно и прозрачно изменять трафик целевой системы. У конечного пользователя нет никаких признаков того, что его трафик был изменён!