В гостях у сказки...
Icam - 608 Part 2 Хакинг
Описание Уязвимости и методы борьбы с ними.
Краткий обзор уязвимостей:
1) CVE-2017-8224 - Backdoor account Это при старте чебурашки работающий телнет с известным нам логином и паролем (т.е. любой может подключиться). Фикс: Два варианта: Первый: ставим свой пароль на telnet, описан вот в этой статье - Icam - 608 Part 3 etc/passwd Второй: если не можем прошить rootfs то Файл /system/init/ipcam.sh после /system/system/bin/wifidaemon & добавить:
Последние 3 строчки нужны для того чтобы программы типа дигма или запросы через cgi не путались, показывая , что телнет вроде есть, но на самом деле мы вручную убили процесс. Мы просто изменяем флаг телнета в файле system.ini p.s. Флаг Telnetswitch находится в system.ini по смещению 0x0F8F по крайней мере это относится к моей чебурашки, в других я не знаю, не видел, не патчил.... 2) CVE-2017-8222 - RSA key and certificates В прошивке находится закрытый ключ шифрования, т.е. тот у которого есть вторая часть ключа, автоматически авторизуется. Фикс Просто удалим этот ключик
3) CVE-2017-8225 - Pre-Auth Info Leak (credentials) within the custom http server Простым get запросом злоумышленник получает все настройки чебурашки, в том числе пароль и логин на админку. И потом он делает с не всё что хочет Фикс в ipcam.sh после строки /system/system/bin/wifidaemon & добавляем
Первая строка нужна для второй части нашего фикса. И для надежности патчим encoder и wifidaemon , т.е. там где создаются эти сим-линки. Для этого нам понадобится sd-карта вставленная в чебурашку и примонтированная, как DCIM.
Этот код оформлен в виде патча. Установка проста: 1) закачиваем содержимое файла на sd-карту в директорию DCIM, я закачиваю подключившись по фтп к чебурашке используя total commander 2) запускаем файл runme.sh после того как он отработает, нужно создать архив zip, и полученный encoder поместить в него. Это нужно потому что busybox не поддерживает архивирование. Поэтому это нужно сделать ручками, впоследствии установил что можно и не делать, но раздел system, где находится encoder, у нас не резиновый. 3) запускаем файл runme2.sh который скопирует encoder.zip и wifidaemon в нужное место, и перезагрузит чебурашку. 4) Authenticated RCE as root Сложный вопрос, но сделать можно. Для этого правится в encoder функция , которая запускает дырявый файл ftpupload.sh После правки запускаться будет не уязвимый ftpupload.sh , а наш файл без этой уязвимости. Править те-же файлы, как и в предыдущей уязвимости, лучше в виде патча. Фикс Изменяем вызов файла ftpupload.sh на другой, с которым мы можем делать всё что захотим. Для этого патчим encoder
p.s. Ну и конечно можно изменить команду set_ftp.cgi на какой-либо другой, но это вопрос интимный. Конечно в веб-морде упраление ftp потеряется, но ради безопастности можно изменять настройки ftp и вручную, через cgi, введе не set_ftp.cgi , а что-нибудь другое_интимное.cgi 5) Pre-Auth RCE as root Эта уязвимость вытекает из предыдущих, если ранее мы уже пропатчились, то нам это не грозит. Фикс - Читать с начала. 6) Details -- CVE-2017-8223 - Misc - Streaming without authentication Возможность смотреть видеопоток без авторизации Фикс - менять порт rtsp потока, и вроде бы китайцы пытались сделать там авторизация, но я не пробовал. Не знаю как она там работает и работает ли вообще. 7) CVE-2017-8221 - Misc - "Cloud" (Aka Botnet) Моё любимое - китайский облачный сервис. В гугле полно ипкамер с паролями и девайсидом, для просмотра. Фикс - пока нет, но всегда можно прикрыть на роутере, или фаервале В работе Подведем итог Почти все известные дырки мы закрыли! Надеюсь что это всё ![]()
Часовой пояс: GMT + 3
|