Гостевая статья Evil SSDP:спуфинг SSDP и UPnP устройств

Злой SSDP воспроизводит и создает поддельные устройства UPnP для фишинга учетных данных и запроса / ответа NetNTLM.

Содержание
  • Вступление
    • Что такое SSDP?
    • Что такое устройства UPnP?
  • Установка
  • Спуфинг Сканер SSDP
    • Конфигурация шаблона
    • Манипуляции пользователем
    • Захват учетных данных
  • Подмена Office365 SSDP
    • Конфигурация шаблона
    • Манипуляции пользователем
    • Захват уетных данных
  • Подмена Пароля Vault SSDP
    • Конфигурация шаблона
    • Манипуляции пользователем
    • Захват учетных данных
  • Подмена Microsoft Azure SSDP
    • Конфигурация шаблона
    • Манипуляции пользователем
  • Митигация
Вступление
Что такое SSDP?

SSDP или Simple Service Discovery Protocol - это сетевой протокол, предназначенный для объявления и обнаружения сетевых служб. Он может работать без каких-либо настроек DHCP или DNS. Он был разработан для использования в жилых или небольших офисных помещениях. Он использует UDP в качестве основного транспортного протокола для порта 1900. Он использует HTTP-метод NOTIFY, чтобы объявить о создании или отзыве служб для группы многоадресной рассылки. Это основа протокола обнаружения UPnP.

Что такое устройства UPnP?

UPnP или Universal Plug and Play - это набор сетевых протоколов, который позволяет сетевым устройствам, таким как персональные компьютеры, принтеры, интернет-шлюзы, точки доступа Wi-Fi и мобильные устройства, обнаруживать доступность друг друга в сети и устанавливать сетевые сервисы для связи, обмен данными и развлечения. Архитектура UPnP поддерживает работу в сети с нулевой конфигурацией. Совместимое с UPnP устройство любого поставщика может динамически подключаться к сети, получать IP-адрес, объявлять свое имя, передавать свои возможности по запросу, а также узнавать о наличии и возможностях других устройств.

Теперь, когда мы поняли основные функции SSDP или UPnP, давайте использовать его для манипулирования целевым пользователем с целью кражи его учетных данных.

Установка

Злой SSDP был разработан . Этот инструмент размещен на GitHub. Мы будем использовать команду git clone для клонирования всего содержимого git на нашу атакующую машину. Команда git clone создаст каталог с тем же именем, что и на GitHub. Поскольку инструмент разработан в Python версии 3, для запуска программы нам потребуется использовать python3, за которым следует имя файла .py. Здесь мы можем увидеть основной экран справки инструмента.
Код:
git clone https://github.com/initstring/evil-ssdp.git
cd evil-ssdp/
ls
python3 evil-ssdp.py --help
1.png

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

Спуфинг Сканер SSDP
Теперь, когда мы запустили инструмент, давайте использовать его для получения учетных данных. В этом первом практическом упражнении мы будем имитировать надежное устройство UPnP. Для начала нам нужно будет настроить шаблон.

Конфигурация шаблона

Чтобы использовать инструмент, нам нужно будет предоставить сетевой интерфейс. У нас есть «eth0» в качестве нашего интерфейса, вы можете найти свой интерфейс с помощью команды «ifconfig».

После предоставления интерфейса мы будем использовать параметр «–template» для передачи шаблона, который мы нашли ранее в каталоге шаблонов. Чтобы подделать сканер, мы запустим следующую команду. Как мы видим, инструмент выполнил свою работу и разместил несколько файлов шаблонов на нашей машине злоумышленника на порту 8888. У нас также есть указатель SMB.

Код:
ls templates/
python3 evil-ssdp.py eth0 --template scanner
2.png

Манипуляции пользователем

Следующий логический шаг - манипулировать пользователем. Находясь в той же сети, что и цель, наш фальшивый сканер отобразится в проводнике. Здесь работает UPnP. Средство Evil SSDP создает этот подлинно выглядящий сканер в системе на цели без какого-либо принудительного взаимодействия с целью.

3.png

После нажатия на значок внутри Проводника мы будем перенаправлены в веб-браузер по умолчанию, открывая нашу размещенную ссылку. Здесь используются шаблоны, которые мы использовали. Теперь пользователь знает, что он действительно подключен к подлинному сканеру или поддельному устройству UPnP, которое мы создали. Непонятная цель, не имеющая подсказки, вводит действительные учетные данные в этот шаблон, как показано на рисунке ниже.
4.png

Захват учетных данных

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

5.png


Подмена Office365 SSDP
В предыдущей практике мы подделали сканер для целевого пользователя. Теперь, просматривая каталог шаблонов, мы нашли шаблон Office365. Давайте использовать это.

Конфигурация шаблона

Как мы делали ранее, давайте начнем с настройки шаблона и инструмента. Затем предоставим сетевой интерфейс, за которым последует параметр шаблона с office365.

python3 evil-ssdp.py eth0 --template office365
6.png

Как мы видим, инструмент выполнил свою работу и разместил несколько файлов шаблонов на нашей машине атакующего в порту 8888.

Манипулирование пользователем

Как только мы запустим инструмент, у нас будет устройство UPnP с именем Office365 Backups. Это было сделано инструментом без необходимости отправлять какой-либо файл, полезную нагрузку или любой другой тип взаимодействия целевому пользователю. Осталось только нажать на иконку.

7.png

После нажатия пользователем целевой пользователь перенаправляется на нашу поддельную страницу шаблона через браузер по умолчанию. Это очень подлинно выглядящая веб-страница Microsoft. Невежественный пользователь вводит свои действительные учетные данные на этой странице.
8.png

Захват учетных данных

Как только пользователь вводит учетные данные, и они передаются в качестве почтового запроса на сервер, который является нашей целевой машиной, мы видим, что на нашем терминале у нас есть учетные данные.

9.png


Переадресация пользователя на хранилище паролей SSDP
До сих пор мы успешно обманывали целевого пользователя, чтобы получить некоторые учетные данные сканера и некоторые учетные данные резервного копирования Office365. Но теперь мы переходим к самой важной вещи, которая используется в качестве UPnP, The Password Vault.

Конфигурация шаблона

Как и в наших предыдущих практиках, нам нужно будет настроить шаблон для хранилища паролей. В кратчайшие сроки инструмент размещает шаблон хранилища паролей на порту 8888.

python3 evil-ssdp.py eth0 --template password-vault
10.png

Манипулирование пользователем

Переходя к целевой машине, мы видим, что хранилище паролей UPnP видно в проводнике. Теперь предположим, что пользователь нажимает на устройство и попадает в нашу атаку. Увидев что-то вроде Password Vault, пользователь будет испытывать желание нажать на значок.

11.png

Поскольку пользователь невежествен, он думает, что обнаружил нечто важное. Это отвлекает пользователя, и это приводит к тому, что он попробует исчерпывающий список учетных данных, но безуспешно.
12.png


Подмена Microsoft Azure SSDP
При работе со спуфингом одна из самых важных задач - не дать целевому пользователю понять, что он/она стал жертвой спуфинга. Это может быть достигнуто путем перенаправления пользователя после того, как мы получим учетные данные, файлы cookie или все, что хотел получить злоумышленник. У инструмента evil_ssdp есть параметр (-u), который перенаправляет целевого пользователя на любой URL по выбору злоумышленника. Давайте посмотрим на работу этого параметра в действии.

Для начала мы будем использовать python3 для загрузки инструмента. Далее следует упомянуть сетевой интерфейс, который следует использовать. Теперь для этого мы будем использовать шаблон хранилища Microsoft Azure. После выбора шаблона мы помещаем параметр (-u) и затем упоминаем любой URL-адрес, куда мы хотим перенаправить пользователя. Здесь мы используем официальную ссылку Microsoft. Но это может быть любой вредоносный сайт.

python3 evil-ssdp.py eth0 --template microsoft-azure -u https://malicous-site.com
13.png

Манипулирование пользователем

Теперь, когда мы запустили инструмент, он создаст устройство UPnP на целевой машине, как показано на рисунке ниже. Чтобы атака была успешной, цель должна нажать на устройство.

14.png

После нажатия на значок мы видим, что пользователь перенаправлен на официальную страницу Microsoft. Это может быть тем, что хочет атакующий.
15.png

На этом мы завершаем практическое использование этого удивительного спуфингового инструмента.

Источник:
 
  • Нравится
Реакции: narcoloki
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!