Взлом IP камеры через прошивку

Joined
Aug 17, 2016
Messages
1,788
Reaction score
826
Всем привет.

Очень часто на форуме, особенно у новичков возникает вопрос, как получить доступ к ip камере, если пароль по умолчанию изменен. Как вариант многие советуют либо брутить пароль, либо ищут готовые инструменты, которые позволяют обойти авторизацию. Но что делать, если сисадмин поставил сложный пароль на админку, на перебор которого уйдет не один месяц, а может и год, а готовые инструменты (решения из коробки) не поддерживают модель камеры, к которой вы хотите получить доступ.



Не стоит унывать, так как не все потеряно… Сегодня рассмотрим, как раз такой случай.



Тестирование мы будем проводить на реальной ip камере из поднебесной, и может для кого-то открою Америку, но 90 процентов камер из поднебесной, да и не только, подвержены данному взлому. В процессе я расскажу об аппаратной и программной части устройства, так же рассмотрим, как можно вытаскивать учетные данные с паролями, находить скрытые бэкдоры, в конце дам рекомендации по их устранению.



Данный алгоритм действий подходит не только для ip камер, но и к другим различным IoT устройствам.



Так как материала будет много, я статью разделю на несколько частей.



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



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

29fbfad9a746f4a063a5f.png

В нашем случае нас интересует Telnet сервер на BusyBox, а именно 23 порт.(про BusyBox я подробно расскажу во второй части статьи.)



Мы можем попробовать подключится, перебирая дефолтные связки логин-пароль, благо на просторах всемирной паутины информации предостаточно, но что делать если ни одна из общедоступных связок не подошла?



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



Запомните, для каждой камеры своя прошивка.



Узнать можно следующими способами.



1. Используя сервис shodan.

2. Если у вас заключен договор на тестирование, можете истребовать данную информацию у заказчика.

3. Можно проанализировать трафик IoT устройства с помощью Wireshark, часто в логах проскакивает названия устройства.

4. Если у вас есть физический доступ к устройству, можно разобрать, подключится и прочитать содержимое. Правда есть нюансы, если чип SPI проще, с NAND сложнее. В любом случае последний пункт, не зная схемотехнику и микроэлектронику лучше не лазить.



В нашем случае, у нас есть доступ к админке, и мы ее просто посмотрим.

4d561066beaee4d3cc912.png

название как мы видим выглядит следующим образом:

V4.02.R12.00006531.100.10.142100



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

Chinese IP camera configuration & firmware | Technology News



Топаем на сайт производителя, в нашем случае:

https://pan.sohu.net/f/MjI5OTYsY2N4eGQ.htm и скачиваем нужный нам файл.



Файл будет следующего вида: General_HZXM_IPC_HI3518E_53H13_S38_V4.02.R12.Nat.OnvifS.20160913_ALL.bin

Давайте посмотрим, что он из себя представляет.



Для этого воспользуемся инструментом binwalk, он входит в кали по умолчанию и предназначен для анализа прошивок.

674ae8341458cb2e9c508.png

Мы видим следующее:

Формат сжатия файлов используется ZIP , бывают еще(LZMA, Tar, итд)

Фаловая система CramFS, еще может встретится SquashFS

Загрузчик у нас U-Boot, так же может встретится Redboot

Теперь нам нужно распаковать нашу прошивку с помощью утилиты unzip

30b5c12a9ace3213b396f.png

У нас 8 файлов, обращаю внимание на файлы, которые заканчиваются на *.img.



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

cf022784052917638e16a.png

Отлично, остальные файлы кроме u-boot.bin.img делаем таким же образом.

А сейчас немного пробежимся по основным файлам , в крадце расскажу что они собой представляют.

u-boot.bin.img - загрузчик U-boot.

custom-x.cramfs.img - дополнительные настройки платформы.

user-x.cramfs.img - программа видеорегистратора Sofia и дополнителный софт.

InstallDesc – скрипт , используется для обновления прошивки.

romfs-x.cramfs.img -операционная система linux под архитектуру ARM, на ней сейчас мы акцентируем внимания, так как именно там содержится файл с паролем.



Что бы двигаться дальше нам нужно установить дополнительный пакет, а именно cramfsprogs.

Для этого нам нужно добавить репозитарий в source.list и обновится.

58baff0c16fff6a6f29ce.png

Далее распаковываем образ:

3dad360ded14e0a876f2f.png

Заходим в каталог с распакованной системой, в нашем случае это romfs, ищем файл passwd, открываем и вуаля у нас хэш пароля. Далее мы можем скормить хэш John the Ripper, hydra или воспользоваться онлайн сервисами, в моем же случае хэш пароля лежал в гугле.а именно : логин root пароль xmhdipc



Здесь выкладываю общий скрин моих действий.

b33228b53f4c6b5a791db.png

Давайте проверим и зайдем в ip камеру используя наш логин и пароль.

81577cdf945625f28c0d9.png

Как видите у нас все получилось.

Всем спасибо за внимания, продолжение следует…
 
Top