• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья Злые устройства. Быстрый способ поиска и эксплуатации IoT уязвимостей

Logotype.jpg

Дисклеймер: данная статья написана с целью ознакомления. Автор не одобряет и не поощряет использования приведенной ниже информации в незаконных целях. Помни, что ответственность за свои действия несешь только ты.

Введение
Давай вспомним, когда последний раз ты читал новости? Я думаю, что не так давно. А теперь подумай, когда весь мир мог прожить без единого масштабного взлома. Нас постоянно окружают гаджеты и умные девайсы и производители этих устройств не так часто заботятся о их безопасности. Кто-то забывает выпустить свежие патчи или просто перестает поддержку старых моделей. Из-за этого они ставят под угрозу большинство владельцев, потому что современные умные вещи не очень хорошо ладят с безопасностью. Поэтому я предлагаю прогуляться по миру IoT и показать как при помощи простого браузера найти всю необходимую информацию начиная от уязвимости и заканчивая ее эксплоитом.

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

Поиск угроз
Итак, существует несколько методов поиска угроз. Все они выполняются прямо из браузера. Поэтому ходить на сторонние и непонятные сайты тебе не придется.
  1. Эксплуатация Google Dorks;
  2. Использование специализированных поисковиков;
  3. Ручное сканирование при помощи утилит.
Первые два пункта мы рассмотрим в нашей статье. Давай рассмотрим каждый немного подробнее.

Эксплуатация Google Dorks подразумевает собой использование специальных фильтров Google, которые позволяют найти определенные, интересные тебе устройства. Работает это также как и обычный запрос, но с использованием аргументов. Сам метод крайне прост, но его ключевым минусом является неточность. Простыми словами ты можешь найти старый сайт или устройство, которое уже не работает. Но здесь все зависит от самого запроса, поэтому главное научиться его составлять.

Использование специализированных поисковых сайтов позволяет выполнить поиск уже более конкретно и точно. К примеру ты можешь задать слово IoT и увидишь множество уязвимых девайсов, которые можно эксплуатировать. Из явных минусов это риск попасть на honeypod, это девайсы созданные с целью поиска и сбора информации о взломщиках. Обычно они имеют соответствующий тег, но надеется на его наличие не стоит. Также ниже я оставил три ресурса, которыми ты сможешь воспользоваться:
  1. ;
  2. ;
  3. .
Все они требуют регистрации для базовых возможностей. Различие лишь в количестве доступных устройств и функционале. У всех он разный и ты можешь подобрать тот, который удобнее всего. В работе я буду использовать Shodan, поскольку в нем есть свой доступный и понятный синтаксис для поиска. Но если ты не хочешь что-то по сложнее, то предлагаю посетить репозиторий утилиты Gasmask. Стоит она на Python 3.x и собирает информацию из таких источников как:
  • ask
  • bing
  • crt
  • censys.io
  • dns
  • dnsdumpster
  • dogpile
  • github
  • google
  • googleplus
  • instagram
  • linkedin
  • netcraft
  • pgp
  • reddit
  • reverse dns
  • shodan
  • twitter
  • vhosts
  • virustotal
  • whois
  • yahoo
  • yandex
  • youtube
  • spyse
Из этого огромного списка ты можешь выбрать ключевые поисковые системы и с помощью API-токена использовать всю мощь прямо из окна терминала. Но не будем забывать про официальный модуль Shodan, который также дает неплохое количество информации. Устанавливается в два клика и команды для работы я привел ниже, на тот случай если тебе не хочется сидеть в браузере.

Код:
sudo apt install python python3 python-pip python3-pip
sudo apt install python-setuptools python3-setuptools

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

Код:
pip install shodan

После этого авторизуемся на официальном сайте и кликаем по кнопке Account в правом верхнем углу. Отсюда тебе следует взять этот набор символов:

token.jpg


Копируем все это дело. Не переживай, свой токен я уже поменял, поэтому информация со скриншота является простым примером. Далее вводим следующую команду:

Код:
shodan init your_api_key

Протестировать его в деле ты можешь на примере сканирования. Для этого вводим следующее:

Код:
shodan scan submit --force target_IP

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

Создание запросов и эксплуатация
После того, как я рассказал тебе об инструментах поиска угроз давай попробуем создать правильный запрос к ним и получить корректный ответ. Начнем с самого простого. Google, как самый распространенный поисковик имеет свои особенности. Чтобы попасть на самую обычную IP-камеру тебе не обязательно брутить к ней пароль. Есть вероятность того, что владелец не позаботился о защите конфигурации или других важных файлов. И в таком случаи на помощь приходит как не странно Google.

Чтобы найти необходимый файл с логином и паролем тебе следует знать только IP устройства. Его ты можешь увидеть в том же Shodan при поиске. После этого переходим в новое окно и вбиваем следующий запрос:

Код:
site: target_IP filetype: ini

С некоторой вероятностью тебе может попасться нужный файл, который можно спокойно скачать и исследовать в поисках заветного логина и пароля. По мимо этого можно спокойно заменить аргумент filetype на filename и задать название интересующего файла. Для автоматизации процесса поиска рекомендую присмотреться к утилите dorks.

Это самый простой процесс поиска бреши в устройствах, но давай усложним задачу и попробуем поискать требуемые девайсы и уязвимости при помощи Shodan. Для этого поисковая система предусматривает список флагов, которые конкретизируют информацию и дают более точный результат. О них поговорим по подробнее.

Shodan имеет огромное количество вспомогательных аргументов, для их использования тебе следует указать его название и двоеточие, после чего записать интересующую тебя информацию. Все точно как и в Google Dorks, но со своими особенности. Одна из которых это ограничение по платному и бесплатному аккаунту. Для обычных пользователей доступен список только половины всех функций. К примеру аргумент для поиска CVE по ее кодовому названию vuln можно использовать только с привилегиями. В остальном самые базовые и требуемые для нашей работы параметры становятся доступны тебе после регистрации.

Попробуем использовать все это дело на практике. Самый простой пример поиска умных устройств это использования тега IoT или простого названия. Но я постараюсь объяснить как сузить круг поиска до определенной страны и организации. К примеру один из крупнейших поставщиков умных устройств на рынке принято считать компанию Xiaomi. Поэтому давай я возьму любую страну, к примеру Индию для поиска таких устройств. Для этого составим следующий запрос:

Код:
org:"Xiaomi" country:"IN"

Будь внимателен, при составлении запроса в тексте не должно быть лишних пробелов, иначе Shodan ничего не выдаст. По результатам запроса тебе высветится такая информация:

result.jpg


Теперь давай поменяем круг и попробуем найти IP-камеры крупных производителей. Для этого тебе требуется знать порты их работы, а это: 80, 5000, 8008 и 53. Я попытался найти устройства от компании BEWARD, для этого создаем следующий запрос:

Код:
org:"BEWARD" port:53

BEWARD.jpg


К сожалению из-за ограничения аккаунта результатов появилось всего лишь два, но с этим уже можно работать. Чтобы проверить все на уязвимости ты можешь использовать автоматический сканер OWASP ZAP или любую другую утилиту. В правой нижней части у тебя расположен баннер, который сообщает более подробную информацию о девайсе. Чаще всего это может быть содержимое TCP/UDP пакетов или любые другие данные. Чтобы тебе было легче работать с этой поисковой сетью я собрал несколько ключевых аргументов для облегченного поиска:
  1. category - тип устройств, которые требуются для поиска (с бесплатным аккаунтом доступны ics и malware);
  2. city - название города, по которому проводится поиск;
  3. country - страна для анализа устройств;
  4. net - задает диапазон IP адресов для поиска (пример: net:"127.0.0.1/99");
  5. org - сужает круг поиска до определенной компании (пример: org:"Xiaomi IoT").
Теперь давай рассмотрим способы эксплуатации уязвимостей для наших девайсов.

Первый способ это самое обычное подключение по доступным портам. По результатам поиска чаще всего попадаются Xiaomi IoT, которые содержат несколько открытых портов. Чаще всего они служат для работы служб. Ниже я оставил пример, который показывает какой порт доступен, а какой используется для служб.

ports.jpg


Также давай пробежимся по всем уязвимостям, которые могут быть в данном типе устройств, а это:
Этот список уязвимостей доступен для эксплуатации на всех IoT девайсах от компании Xiaomi. Как искать эксплоиты? Есть два надежных варианта.

Первый способ использование базы эксплоитов . Найдется не всегда все, но большая часть уязвимостей есть на сайте. Для работы потребуется только ID уязвимости (цифры после CVE). Переходим на сайт и кликаем на Filters. После чего появится иконка с надписью Advance (дополнительно). Она нам и потребуется. Кликаем на нее и в поле CVE пишем по примеру цифры нужной нам дыры. После чего открываем первую ссылку и получаем эксплоит в открытом виде. Многие из них написаны на Python или языках семейства C.

Второй вариант слегка усложнен и тебе придется погуглить некоторую информацию. Для работы открываем гугл и пишем интересующую нас CVE и добавляем к ней слово github и exploit. Тебе могут попасться аналоги этой дыры или еще что-то. В основном разработчики стараются добавлять README к своему коду.

Также спешу предупредить тебя о ловушках для хакеров. О них я говорил ранее (honeypot). Основная опасность заключается в том, что эти устройства имеют огромный спектр уязвимостей и открытых портов. Чаще всего это порт 54321 или 13 (по результатам исследования Shodan), поэтому прежде чем тестировать устройство на проникновение убедись, что это не ловушка.

Подводим итоги
В этой статье я показал тебе как искать устройства и подбирать к ним эксплоиты для эксплуатации. В дальнейшем я попробую разобрать несколько интересных на мой взгляд CVE, которые встречаются чаще всего в устройствах. На основе всей информации ты сможешь правильно составлять запросы к специализированным поисковым системам и собирать требуемые данные для пентеста. Помни, что любые незаконные действия караются законом. Поэтому применяй эти знания только в пределах своей локальной сети.
 
Последнее редактирование модератором:
  • Нравится
Реакции: BERG_RU, Deito и D3L1F3R
Мы в соцсетях:

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