Содержание статьи
Интернет часто отождествляют с вебом, но WWW — это всего лишь вершина айсберга. Его глубинная часть куда разнообразнее, и хоть она скрыта от глаз рядовых пользователей, ничто не мешает изучать ее специализированными средствами. Одним из них стал Shodan — поисковый сервис по интернету вещей. Shodan обходится без записей DNS и напрямую опрашивает сетевые узлы, отправляя им серии запросов на все порты в разных диапазонах IP-адресов.
Теневой аналог Гугла помогает оценивать уровень распространения тех или иных устройств, операционных систем и веб‑инструментов, а также выяснять текущий уровень проникновения интернета в любые регионы — от квартала до континента. Возможности Shodan постоянно расширяются, и некоторые из них становятся сюрпризом даже для его создателя.
Автором этого крайне необычного поисковика стал Джон Мэтерли (John Matherly) — программист швейцарского происхождения, обосновавшийся в штате Техас. Имя поисковика было выбрано им в память о персонаже из игры System Shock — не самого дружелюбного образа ИИ, которому по сценарию хакер помог отринуть этические барьеры.
В основе Shodan лежит поисковый робот, подобный «паукам» Google и Yandex. Он накапливает технические сведения обо всех узлах сети, откликнувшихся хотя бы на один запрос. Персональные компьютеры и мобильные гаджеты конечных пользователей обычно маскирует файрвол, поэтому гораздо чаще в поле зрения Shodan попадают всевозможные сетевые устройства, формирующие так называемый интернет вещей. Совсем недавно его основную долю составляли маршрутизаторы, сетевые принтеры и IP-камеры, но теперь даже некоторые лампочки имеют собственный IP-адрес. К интернету не задумываясь подключают практически все — от умной бытовой техники до различных датчиков и автоматизированных систем управления технологическими процессами.
Многие из них рассчитаны на удаленное управление и имеют большие проблемы с ограничением доступа. К ним можно подключиться по SSH, SNMP или даже HTTP, причем кому угодно. Дефолтные пароли, стандартные логины и пин‑коды — это лишь малая и ожидаемая часть проявлений человеческого фактора. Гораздо интереснее, что практически все эти устройства открыто передают свой сетевой идентификатор и откликаются на запросы настолько специфично, что их без труда можно обнаружить среди массы других — особенно используя инструменты продвинутого поиска в Shodan.
Мощные фильтры позволяют отфильтровать результаты по стране, городу или вручную заданному диапазону координат GPS. Поэтому сам Мэтерли описывает свой проект как безобидный «интернет‑картограф».
Поначалу мощь поиска по интернету вещей повергает в шок. Если с помощью Гугла можно найти лишь общее описание и фотографии станции водоочистки где‑нибудь в Канаде, то, узнав при помощи Shodan ее IP-адрес и особенности подключения к интернету, можно остановить насос. То же самое с электростанциями, климатическими установками, системами управления транспортом и другими ключевыми элементами современной городской инфраструктуры. Здравый смысл подсказывает, что многие из них вообще не должны иметь выхода в Сеть. Однако лень победила и здесь: практически всё — от домашней радионяни до медицинского оборудования крупных больниц и автоматических сборочных линий — сегодня удаленно настраивается через интернет. Долгое время опасность такого подхода считали гипотетической. Казалось, что для успешного взлома нужно будет узнать слишком многое. Писатели‑фантасты и сценаристы порой доводили идею до абсурда, однако реальность оказалась похуже многих фантазий.
Взлом ≠ аудит
Один из первых масштабных аудитов с помощью Shodan провел докторант кафедры информатики в Кембриджском университете Эйрианн Леверетт, ныне ставший главным консультантом по безопасности в компании IOActive, советником Европейского агентства по безопасности сетей и информационной безопасности (ENISA) и приглашенным экспертом 52 групп быстрого реагирования на киберугрозы (такие группы создают представители компаний и провайдеры для расследования крупных инцидентов). Его не интересовали IP-камеры и прочие примитивные устройства, способные косвенно навредить только владельцу и его гостям. Он обнаружил настоящую бомбу: 10 358 АСУ ТП с открытым управлением через веб. Перехватив управление любой из них, можно спровоцировать аварию, нанести серьезный ущерб, а то и вовсе устроить техногенную катастрофу. Этот пример вошел в книгу Томаса Рида Cyber War Will Not Take Place.
Следом результаты своих изысканий представил Дэн Тентлер — основатель компании AtenLabs, консультант по вопросам сетевой безопасности Twitter, Zynga и других крупных фирм. В ходе своего выступления на DEF CON 20 он показал, как смог за короткое время обнаружить около миллиона различных уязвимых устройств. Это были отопительные системы, бойлеры, автоматические двери, гаражные ворота, холодильная установка датского ледового катка, французская ГЭС и даже автоматизированная система управления движением, переключающая все светофоры на сигнал «Внимание» по удаленной команде. Демонстрацию можно увидеть в ролике на YouTube (youtu.be/5cWck_xcH64).
Изучение возможностей Shodan продолжалось, и на конференции Black Hat в 2014 году один из докладов имел особенно большой резонанс. Это «Глобальный лог (без)опасности: использование Shodan для изменения мира» (Global Logfile of (IN)security: Using SHODAN to change the world), представленный Билли Риосом. Ранее Риос служил аналитиком в подразделении РЭБ корпуса морской пехоты. На гражданке сначала работал консультантом в Microsoft, потом перешел в Google, где был руководителем подразделения по расследованию инцидентов в сфере безопасности. Затем Риос захотел создать собственный бизнес и стал директором компании Qualys. А с недавних пор сделался горячим поклонником творения Мэтерли.
Слияние черных дыр в безопасности
В своем докладе Риос не только продолжил исследование Тентлера, но и предложил новые варианты практического применения Shodan. Он использовал поисковик для получения фактической картины всей сети или ее отдельных сегментов, изучения реальной распространенности уязвимостей и темпов их ликвидации.
Например, среди множества моделей Cisco выпускались модульные маршрутизаторы серии 7200, кое‑где работающие и по сей день. Их прошивка версии 12.4 содержала серьезную уязвимость, которую исправили выпуском новой. Однако некоторые админы поленились перепрошить маршрутизаторы, и к этим устройствам можно подключиться до сих пор — спустя годы. Риос показывает, как мгновенно найти их с помощью недокументированных фильтров Shodan, указав имя файла уязвимой прошивки iOS. После публикации результатов число уязвимых роутеров быстро снизилось на три порядка. Метод универсален и работает для большинства других устройств.
Любопытным фактом оказалось и то, что платформы управления сетевым трафиком сами поддерживают удаленное управление. Найти любую из них можно просто по названию, а пароль в большинстве случаев будет стоять дефолтный, который написан в официальном руководстве.
Поиск по словосочетанию default password — один из самых простых на Shodan, но если ты хочешь получить более интересные результаты, то лучше использовать другие типичные признаки систем с настройками по умолчанию. Одним из них служит текст напоминания о необходимости сменить пароль. Обычно в нем используется фраза «общеизвестные учетные данные» — publicly-known credentials.
Темная сторона светлого будущего
Аналитики Gartner прогнозируют: через пять лет интернет вещей расширится до 30 миллиардов устройств. В Ericsson называют для 2020 года еще более впечатляющее число: 50 миллиардов. Можно смело добавить, что, сколько бы их ни было, львиная доля будет содержать уязвимости. По крайней мере до тех пор, пока владельцы не поймут реальность угрозы, которую так наглядно демонстрирует Shodan.
info
Если ты нашел слишком мало устройств по своему запросу, просто повтори его через некоторое время. Shodan не только ищет в своей базе, но и сканирует интернет в реальном времени. Иногда список поисковой выдачи растет буквально на глазах: примерно по 10–20 результатов в минуту.
Обнаружить устройства с открытым удаленным управлением можно по разным признакам. Один из них — стандартный код HTTP отклика 200 — «успешная обработка запроса». Хочешь найти мобильные гаджеты, переделанные в камеры наблюдения и управляемые через первую версию Android Webcam Server? Легко! Это приложение принимает запросы на порт 8080 и открывает панель управления на странице /remote.html. С ее помощью можно менять настройки камеры, смотреть изображение прямо в окне браузера и слушать звук от встроенного микрофона. И нужно для этого всего лишь перейти по одному из результатов в поисковой выдаче Shodan. Кроме кода 200, можно использовать прямое указание на отсутствие аутентификации: -Authenticate.
Для Shodan не имеет значения, как ответит тот или иной сетевой узел. Поисковик просто протоколирует собранные отклики и помещает их в свою базу. Доступ к ней предоставляется всем желающим: ознакомительный — бесплатно, а подробности разного уровня — за деньги.
Как подружиться со злобным ИИ
Начать работу с Shodan можно на одном из двух сайтов: основном (shodanhq.com) и экспериментальном (shodan.io). Учетные данные на них используются независимо. Если зарегистрироваться, то поисковая выдача будет полнее и появится возможность смотреть детали о найденных узлах сети. Без нее доступны только общие сведения о первых десяти IP-адресах по каждому запросу. С базовым аккаунтом удастся посмотреть уже пятьдесят результатов, но целенаправленная работа с Shodan возможна только за счет использования фильтров, за которые списываются кредиты. Минимально можно оплатить 19 долларов в месяц. За эти деньги начисляется восемь активных кредитов (они списываются за каждый фильтр) и поисковая выдача расширяется до десяти тысяч результатов.
Эксперты, фрилансеры, университетские кафедры и специализирующиеся на вопросах безопасности фирмы платят Мэтерли тысячи долларов за возможность неограниченного использования Shodan или даже за создание его частичной копии на базе собственных серверов. За счет постоянного притока финансов мощности Shodan быстро увеличиваются. Сейчас за месяц он успевает просканировать свыше миллиарда IP-адресов. Четыре года назад это были десятки миллионов.
info
С помощью Shodan легко получить список FTP-серверов с возможностью анонимного доступа. Просто напиши в строке поиска код FTP отклика 230 и добавь стандартную фразу Anonymous access granted.
Поскольку сервис не имеет подробной справки и дружественного интерфейса, поначалу многие просто не знают, что писать в поисковой строке. Они смотрят чужие (и уже устаревшие) запросы, слабо представляя практическую пользу от поиска по ним. Найти что‑то с помощью Shodan можно только в том случае, если знать какие‑то детали о предмете поиска. Для этого стоит почитать, что пишут эксперты и сам Мэтерли. Они часто делятся любопытными находками на форумах и в соцсетях. Например, ветряные генераторы фирмы Nordex определяются по идентификационной строке «jetty 2000», а многие сетевые хранилища — по отклику «220 NASFTPD Turbo station».
Мэтерли всегда предлагает изучать возможности Shodan на практике и готов обеспечить техническую поддержку по email или телефону (за деньги, ввиду большого количества желающих). Это проект одного человека, поэтому на составление справки у него нет времени. В своем выступлении Билли Риос продемонстрировал массу недокументированных фильтров Shodan: сортировку по организации через запрос org, по заголовкам через title, провайдерам через isp, названиям полей сертификатов SSL и другие трюки. В помощь начинающим Мэтерли создал сервис Explorer. На этой странице случайным образом отображаются IP-адреса, с которых проще начать изучение принципов работы Shodan.
Многоступенчатая очистка
В последнее время Shodan существенно пополнил коллекцию фильтров, и его научились использовать для нетривиальных задач. Помимо традиционного поиска уязвимых систем, это могут быть исследования распространенности веб‑инструментов (глобально и по регионам), популярности сетевых устройств разных фирм, оценка доли типовых решений для веб‑хостинга (серверы, панели управления) и другой сравнительный анализ, опирающийся на фактическое состояние сети. Зачем проводить опросы и делать экстраполяцию, когда можно просто взять и опросить пару миллиардов реальных устройств через Shodan?
С помощью этого поисковика можно увидеть текущую долю операционных систем, сетевых платформ или веб‑приложений. По умолчанию отображается ситуация в мире, но фильтрами можно ограничить выборку вплоть до города.
В декабре прошлого года было выполнено исследование сравнительной популярности трех панелей управления веб‑хостингом: cPanel, WHM и Webmin. Последнюю, к примеру, можно идентифицировать при помощи запроса port:10000 title:webmin. Для двух других требуется отфильтровать результаты. Сухой остаток cPanel получается по запросу port:2082 -cloudflare, а WHM — port:2086 -cloudflare. Самой популярной в мире оказалась cPanel, а в России — Webmin.
Заразительный пример
Shodan существует уже шесть лет. За это время он стал излюбленным инструментом «белых хакеров» — специалистов по тестам на проникновение, исследователей из академической среды и экспертов по вопросам информационной безопасности. С его помощью можно быстро выполнить аудит собственной инфраструктуры предприятия и найти все уязвимые устройства с выходом в интернет. Достаточно просто ограничить поиск по региону, типу ОС и другим параметрам. Использование Shodan в корыстных целях технически затруднено из‑за необходимости регистрации и оплаты, а практически — опасно или бессмысленно. Вставшие на темную сторону могут использовать для своих целей подобные инструменты на базе ботнетов и сохранять анонимность.
Задать новое направление бывает просто, а вот оставаться его лидером — гораздо сложнее. Помимо Shodan, создаются другие подобные сервисы. В компании Rapid7 разрабатывают его закрытый аналог, а для аудита веб‑приложений лучше подходит бесплатный PunkSPIDER.
Конкуренция нарастает, поэтому Мэтерли постоянно расширяет функциональность своего поисковика. Shodan обрастает дополнительными сервисами (Scanhub и Nmap), плагинами и аддонами — их уже можно загрузить со страницы сайта. Есть версии для браузера Firefox и аналитической системы Maltego. С недавних пор Shodan можно интегрировать в любой софт. Появились открытые API и другие средства для разработчиков, среди которых — библиотеки на Python, Ruby и Node.js. В конце мая этого года Джон Мэтерли должен приехать в Москву на форум по практической безопасности Positive Hack Days. Посмотрим, какие сюрпризы он приготовит на этот раз.
ПРИМЕР РАБОТЫ С SHODAN
Начать знакомство с интернетом вещей можно на любом сайте Shodan: основном и часто перегруженном запросами (shodanhq.com) или экспериментальном (shodan.io), который постоянно обрастает тестовыми инструментами анализа. Среди них Explore — наиболее полезный для новичков. Он показывает IP-адреса устройств с простым доступом и типовые поисковые запросы.
Допустим, ты хочешь найти сетевые хранилища с дефолтным паролем. Таких много среди NAS производства Lenovo/EMC. Ранее это совместное подразделение назвалось Iomega, что оставило свой след в коде прошивки. При установке удаленного соединения они отправляют запрос вида: «Set-Cookie: iomega=». Именно его мы и напишем в поисковой строке Shodan.
На большинстве найденных устройств будет стоять дефолтный пароль (ADMIN/ADMIN), как было и на этой модели ix4 300d.
Обычно через веб‑интерфейс управляют с помощью Java-приложений, которые не имеют цифрового сертификата. Начиная с версии 1.7.51 в Java RE отсутствует возможность запуска неподписанных апплетов. В настройках современной панели Java можно добавить только сайт в список исключения, но Shodan ищет по IP. Поэтому управлять найденными устройствами можно только из старых версий Java — их можно скачать в разделе архивных релизов.
Более интересные результаты получаются при использовании фильтров, доступ к которым можно получить после бесплатной регистрации. Например, запрос «title:"Network Cube "Camera"» выдаст список сетевых камер, для доступа к которым не требовался пароль, когда их нашел Shodan. Большинство из них так и остаются открытыми для всех.
Во время всех этих изысканий не включай свою веб‑камеру и заранее найди адвоката — число ловушек (honeypot) особенно велико в первой полусотне результатов из выдачи Shodan.