html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

«Я хотел её только настроить…» Как я искал уязвимости в IP-камерах и нашел их

Новостями про уязвимости в тех или иных моделях IP-камер уже сложно кого-то удивить. Регулярно появляется информация о разнообразных багах и недокументированных учетных записях (бэкдорах). Несмотря на это, многие производители до сих пор относятся к безопасности своей продукции кое-как. Об одном из таких случаев и хочу рассказать.

WARNING

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

Начну с предыстории. Я и мой коллега внедряли распределенную систему видеонаблюдения на несколько сотен IP-каналов. Модель камер выбрали быстро — сыграла роль привлекательная цена и приличные ТТХ. Экземпляры, взятые на тестирование, показали себя нормально, работали стабильно, без нареканий.

Поскольку камер мы планировали покупать много, то потребовалось автоматизировать их настройку. Заставить нормально работать штатную утилиту (IPCManager) я так и не смог, поэтому пришлось изобретать свой велосипед.

По задумке управление камерой будет происходить через запросы по HTTP на 80-й порт скриптом на Python с использованием библиотеки requests.

Процесс должен сводиться к простому алгоритму:

  1. Запустил скрипт.
  2. Достал из коробки камеру.
  3. Подключил.
  4. Получил оповещение о завершении перенастройки.
  5. Отключил.
  6. Подключил следующую.
  7. Далее по циклу.

В качестве оповещения об успешной перенастройке логично было бы использовать звуковой сигнал из динамика камеры. Однако заставить камеру пищать при помощи запроса по HTTP так и не получилось.

 
Собираем информацию

Я начал поиски альтернативного способа подчинить себе динамик камеры — просканировал камеры при помощи Nmap.

Уже немало...
Уже немало…

С портами 80 (HTTP) и 554 (RTSP) все понятно, 1935-й порт вроде как используется приложением Flash, через которое браузер показывает видео с камеры, а вот что висит на остальных портах — пока загадка.

Мое внимание привлек открытый 23-й порт. Но вот незадача — логин и пароль от веб-интерфейса к Telnet не подходят, в интернете на этот счет ничего нет, а техподдержке поставщика пароль неизвестен. Через веб-интерфейс настроить или отключить Telnet нельзя, остается только гадать, для чего или для кого он вообще работает. Но ведь если есть Telnet, значит, должны быть и учетные данные на него. Что ж, придется искать.

Почти все манипуляции я проводил в Ubuntu desktop 16.04. Для начала я скачал прошивку камеры и начал ее изучать. Нужно заметить, что прошивки для исследуемой камеры в зависимости от версии могут иметь разное содержимое. Вот несколько примеров различий.

  1. Файлы .rootfs и .fm. Первый содержит корневую файловую систему, включая искомый etc\passwd с паролем на Telnet, второй — включает «брендированный обвес» — веб-интерфейс с логотипом и другими индивидуальными особенностями конкретного продавца (об этом позже).
  2. Файл .fm, который корневую ФС не включает.
  3. Файл .fm, внутри которого сразу корневая ФС и «обвес».

Далее попробовал определить тип файла командой file.

$ file -b -i IPCAM_BV_EW_11_E_V2.37.170715_Airlink.fm
application/octet-stream; charset=binary

Для дальнейших манипуляций с файлами прошивки понадобится утилита binwalk. Забегая вперед, отмечу еще, что обязательно наличие модуля jefferson — для распаковки JFFS2.

WWW

На странице проекта в GitHub есть вся необходимая информация по установке.

Я заглянул внутрь бинарника при помощи binwalk.

Вывод binwalk
Вывод binwalk

JFFS2 — файловая система, которую часто используют на флеш-памяти.
Squashfs — специализированная сжатая файловая система, часто применяемая в роутерах, IP-камерах и прочих IoT-устройствах.

В интернете можно найти несколько способов монтирования JFFS2 и Squashfs, но проще всего распаковать их через тот же binwalk.

binwalk -Me  IPCAM_BV_EW_11_E_V2.37.170715_Airlink.fm
binwalk -Me  IPCAM_BV_EW_11_V2.37.170715.rootfs 

где

  • -e включает режим извлечения;
  • -M пытается распаковывать вложенные элементы.

В итоге получилось два каталога с содержимым прошивки. В каталоге _IPCAM_BV_EW_11_V2.37.170715.rootfs.extracted можно найти файл etc/passwd, внутри которого находится хеш типа MD5 (Unix). Брутанув этот хеш с помощью John или hashcat, можно получить искомый пароль для подключения по Telnet.

Вот пример запуска брута через hashcat:

hashcat64 -m 500 -a 0 --force usr\hashes.txt dict\worst_passwds.dict -o usr\recovered.txt

Здесь

  • -m 500 — тип хеша, который будем брутить, 500 — md5crypt / MD5(unix);
  • -a 0 — режим работы, 0 — атака по словарю;
  • --force — игнорировать предупреждения;
  • usr\hashes.txt — файл, в который я положил взламываемый хеш;
  • dict\worst_passwds.dict — словарь;
  • -o usr\recovered.txt — файл, в который будет записан восстановленный пароль.

Hashcat отработал очень быстро, так как пароль тривиален и есть в популярных словарях. Учетки на Telnet получены, но моя история только начинается…

Продолжение статьи доступно только подписчикам

Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

5790 р. Экономия 1400 рублей!

1 месяц

720 р. 25-30 статей в месяц

Уже подписан?
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с xakep.ru

3

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • XakepVideo
          • память
          • браузер
          • приложения
          • домен xakep.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции