Як зламують IP- і веб-камери і як від цього захиститися

Віддалений доступ до веб-камерам і камерам спостереження – сама наочна практика злому. Вона не вимагає спецсофта, дозволяючи обійтися тільки браузером і нехитрими маніпуляціями. Тисячі цифрових очей по всьому світу стануть доступні, якщо ти вмієш знаходити їх IP-адреси і уразливості.
WARNING
Стаття носить дослідницький характер. Вона адресована фахівцям з безпеки і тим, хто збирається ними стати. При її написанні використовувалися загальнодоступні бази даних. Ні редакція, ні автор не несуть відповідальності за неетичну використання будь-яких згаданих тут відомостей.
Відеоспостереження використовується переважно для охорони, а тому не чекай веселих картинок з першої ж хакнуть камери. Може, тобі й пощастить швидко знайти HD-трансляцію з елітного борделю, але частіше будуть потрапляти нудні види на безлюдні склади і парковки з дозволом VGA. Якщо в кадрі і є люди, то в основному це ждунов в холі і жруни в кафе. Куди цікавіше спостерігати за самими операторами і роботою всяких роботів.
Реальне і формальне спостереження
IP-камери і веб-камери часто плутають, хоча це принципово різні пристрої. Мережева камера, або IP-камера, – самодостатнє засіб спостереження. Вона управляється через веб-інтерфейс і самостійно передає відеопотік по мережі. По суті, це мікрокомп’ютер зі своєю ОС на базі Linux. Мережевий інтерфейс Ethernet (RJ-45) або Wi-Fi дозволяє виконувати пряме підключення до IP-камері. Раніше для цього використовувалися фірмові клієнтські програми, але більшість сучасних камер управляються через браузер з будь-якого пристрою – хоч з компа, хоч зі смартфона. Як правило, IP-камери включені постійно і доступні віддалено. Саме цим і користуються хакери.
Веб-камера – пасивне пристрій, яким керують локально з комп’ютера (по USB) або ноутбука (якщо вона вбудована) через драйвер операційної системи. Цей драйвер може бути двох різних типів: універсальний (попередньо встановлений в ОС і відповідний для багатьох камер різних виробників) і написаний на замовлення для конкретної моделі. Завдання хакера тут уже інша: чи не підключитися до веб-камері, а перехопити її відеопотік, який вона транслює через драйвер. У веб-камери немає окремого IP-адреси і вбудованого веб-сервера. Тому злом веб-камери завжди наслідок злому комп’ютера, до якого вона підключена. Давай поки відкладемо теорію і трохи практики.
Злом камер спостереження
Злом IP-камер зовсім не говорить про те, що хтось господарює на комп’ютері, з якого власник дивиться їх відеопотік. Просто тепер він дивиться його не один. Це окремі і досить легкі цілі, однак підводних каменів на шляху до них вистачає.
WARNING
Підглядання через камери може спричинити адміністративне і кримінальне покарання. Зазвичай призначають штраф, але не всім вдається легко звільнитися. Меттью Андерсон відсидів півтора року за злом веб-камер за допомогою трояна. Повторити його подвиг присудили вже чотири роки.
По-перше, віддалений доступ до обраної камері може підтримуватися тільки через якийсь конкретний браузер. Одним подавай свіжий Chrome або Firefox, а інші працюють тільки зі старим IE. По-друге, відеопотік транслюється в інтернет в різних форматах. Десь для його перегляду потрібно буде встановити плагін VLC, інші камери зажадають Flash Player, а треті не покажуть нічого без старої версії Java або власного плагіна.
Іноді зустрічаються нетривіальні рішення. Наприклад, Raspberry Pi перетворюють в сервер відеоспостереження з nginx і транслюють відео по RTMP.
За задумом, IP-камеру захищають від вторгнення два секрету: її IP-адреса і пароль облікового запису. На практиці IP-адреси навряд чи можна назвати секретом. Вони легко виявляються за стандартними адресами, до того ж камери однаково відгукуються на запити пошукових роботів. Наприклад, на наступному скріншоті видно, що власник камери відключив анонімний доступ до неї і додав введення CAPTCHA для запобігання автоматизованих атак. Однак за прямим посиланням /index.htm можна змінити їх без авторизації.
Отримуємо доступ всупереч налаштувань
Уразливі камери спостереження можна відшукати через Google або інший пошуковик за допомогою просунутих запитів. наприклад:
inurl: «wvhttp-01»
inurl: «viewerframe? mode =”
inurl: «videostream.cgi»
inurl: «webcapture»
inurl: «snap.jpg»
inurl: «snapshot.jpg»
inurl: «video.mjpg»
Знаходимо камери через Google
Куди зручніше шукати їх через Shodan. Для початку можна обмежитися простим запитом netcam, а потім перейти до більш просунутим: netcam city: Moscow, netcam country: , webcamxp geo: 55.45,37.37, linux upnp avtech і іншим. Детальніше про використання цього пошуковика читай в статті «Білий капелюх для Shodan».
Шукаємо камери в Shodan
Прекрасно шукає камери і Censys. Мова запитів у нього трохи складніше, але розібратися з ним теж великих труднощів не складе. Наприклад, запит 80.http.get.body: “DVR Web Client” покаже камери, підключені до IP-відеореєстратора, а metadata.manufacturer: “axis” знайде камери виробництва Axis.
Шукаємо камери в Censys
Ще один шикарний пошуковик по «інтернету речей» – ZoomEye. Камери в ньому знаходяться за запитами device: webcam або device: media device.
Шукаємо камери в ZoomEye
Можна шукати і по-старому, банально скануючи діапазони IP-адрес в пошуках характерного відгуку від камери. Отримати список айпішніков певного міста можна на цьому веб-сервісі. Там же є сканер портів на випадок, якщо у тебе досі немає власного.
В першу чергу нас цікавлять порти 8000, 8080 і 8888, оскільки вони часто задані за замовчуванням. Дізнатися дефолтний номер порту для конкретної камери можна в її керівництві. Номер практично ніколи не міняють. Природно, на будь-якому порте можна знайти й інші сервіси, тому результати пошуку доведеться додатково фільтрувати.
RTFM!
Дізнатися модель виявленої камери просто: зазвичай вона вказана на титульній сторінці веб-інтерфейсу і в її настройках.
Дізнаємося модель камери і налаштовуємо її
Коли я говорив на початку статті про управління камерами через «фірмове клієнтську програму», то мав на увазі програми на кшталт iVMS 4xxx, яка поставляється з камерами Hikvision. На сайті розробника можна почитати російськомовний мануал до програми і самим камерам. Якщо ти знайдеш таку камеру, то з великою ймовірністю на ній буде стояти заводський пароль, і програма надасть до неї повний доступ.
З паролями до камер спостереження справи взагалі йдуть вкрай весело. На деяких камерах пароля просто немає і авторизація взагалі відсутнє. На інших варто заданий за замовчуванням пароль, який легко знайти в мануалі до камери. На сайті ipvm.com опублікований список найбільш часто зустрічаються логінів і паролів, встановлених на різні моделі камер.
admin / admin, відкрийся!
Часто буває, що виробник залишив в прошивці камери службовий вхід для сервіс-центрів. Він залишається відкритим навіть після того, як власник камери змінив дефолтний пароль. В мануалі його вже не прочитаєш, а ось знайти на тематичних форумах можна.
Величезна проблема полягає в тому, що в багатьох камерах використовується один і той же веб-сервер GoAhead. У ньому є кілька відомих вразливостей, які виробники камер не поспішають патчить.
GoAhead, зокрема, схильний до переповнення стека, яке можна викликати простим запитом HTTP GET. Ситуація ускладнюється ще й тим, що китайські виробники модифікують GoAhead в своїх прошивках, додаючи нові дірки.
На сьогоднішній день більше мільйона IP-камер і IP-відеореєстраторів різних виробників дозволяють віддалено отримати доступ до їх налаштувань без будь-якої авторизації. Скрипт на Python, що автоматизує атаку на вразливі пристрої, вже викладений на GitHub. Проблема була виявлена ​​на початку 2017 року за реверсінге прошивок DVR виробництва Dahua Technology. Трохи пізніше з’ясувалося, що вона зачіпає більше тисячі моделей різних виробників. Вони просто тиражували помилки один одного. Автор обіцяв дати час на виправлення і поки не розкривати всіх деталей, але він готовий поділитися ними приватно по email з усіма фахівцями з безпеки. Якщо у тебе є сертифікат CEH (Certified Ethical Hacker) або аналогічний – можеш спробувати.
У коді інших прошивок зустрічаються такі ляпи, як криві умовні переходи. Така камера відкриває доступ, якщо ввести неправильний пароль або просто натиснути кнопку «Скасування» кілька разів. Під час нашого дослідження мені попалося більше десятка таких камер. Так що, якщо ти втомився перебирати дефолтні паролі, спробуй клікнути Cancel – є шанс раптово отримати доступ.
Камери середнього і високого класу оснащують поворотними кріпленнями. Зламавши таку, можна змінити ракурс і повноцінно оглянути всі навколо. Особливо цікаво буває грати в перетягування камери, коли, крім тебе, їй одночасно намагається керувати хтось ще. У загальному випадку атакуючий отримує повне управління камерою прямо зі свого браузера, просто звернувшись за потрібною адресою.
Управління камерою
Коли говорять про тисячі вразливих камер, хочеться докладніше розібрати хоча б одну. Пропоную почати з популярного виробника Foscam. Пам’ятаєш, я говорив про службові входи? Так ось у камер Foscam і багатьох інших вони є. Крім вбудованої учеткі admin, пароль до якої рекомендується задати при першому включенні камери, є ще один акаунт – operator. Його пароль за замовчуванням порожній, і його рідко хто здогадується змінити.
Логіном як оператор і додаємо нові учеткі
Крім того, у камер Foscam дуже впізнавані адреси через шаблонної реєстрації. У загальному випадку він виглядає як xxxxxx.myfoscam.org:88, де перші два xx – букви латиниці, а наступні чотири – порядковий номер в десятковому форматі.
Якщо камера підключена до IP-відеореєстратора, то можна не тільки віддалено спостерігати в реальному часі, а й переглянути колишні записи.
Як влаштований детектор руху
Професійні камери спостереження оснащені додатковим датчиком – детектором руху, який працює навіть в повній темряві завдяки ІК-приймача. Це цікавіше постійно включеної ІК-підсвічування, тому що не демаскує камеру і дозволяє їй вести приховане спостереження. Люди завжди світяться в ближньому ІЧ-діапазоні (принаймні – живі). Як тільки сенсор зафіксує рух, контролер включає запис. Якщо фотоелемент сигналізує про низької освітленості, додатково включається підсвічування. Причому точно в момент запису, коли вже пізно закриватися від об’єктива.
Дешеві камери влаштовані простіше. У них немає окремого датчика руху, а замість нього використовується порівняння кадрів з самої веб-камери. Якщо картинка відрізняється від попередньої, значить, в кадрі щось змінилося і треба це записати. Якщо рух не зафіксовано, то серія кадрів просто видаляється. Це економить місце, трафік і час на подальшу перемотування відео. Більшість детекторів руху налаштовуються. Можна задати поріг спрацьовування, щоб не протоколювати будь ворушіння перед камерою, і налаштувати додаткові оповіщення. Наприклад, відправляти СМС і останню фотку з камери відразу на смартфон.
Налаштовуємо детектор руху камери
Програмний детектор руху сильно поступається апаратного і часто стає причиною казусів. В ході своїх досліджень я натрапив на дві камери, які безперервно слали Алерт і записували гігабайти «компромату». Всі тривоги виявилися помилковими. Перша камера була встановлена ​​зовні якогось складу. Вона заросла павутинням, яка тремтіла на вітрі і зводила детектор руху з розуму. Друга камера була розташована в офісі навпроти миготливого вогниками роутера. В обох випадках поріг спрацьовування був занадто низьким.
Взлом веб-камер
Веб-камеры, которые работают через универсальный драйвер, часто называют UVC-совместимыми (от USB Video Class — UVC). Взломать UVC-камеру проще, поскольку она использует стандартный и хорошо задокументированный протокол. Однако в любом случае для доступа к веб-камере атакующему придется сначала получить контроль над компьютером, к которому она подключена.
Технически доступ к веб-камерам на компьютерах с Windows любой версии и разрядности осуществляется через драйвер камеры, фильтры DirectDraw и кодеки VFW. Однако начинающему хакеру не требуется вникать во все эти детали, если он не собирается писать продвинутый бэкдор. Достаточно взять любую «крысу» (RAT — Remote Admin Tool) и слегка модифицировать ее. Средств удаленного администрирования сегодня просто уйма. Кроме отборных бэкдоров с VX Heaven, есть и вполне законные утилиты, вроде Ammyy Admin, LiteManager, LuminosityLink, Team Viewer или Radmin. Все, что опционально требуется изменить в них, — это настроить автоматический прием запросов на удаленное подключение и сворачивание главного окна. Дальше дело за методами социального инжиниринга.
Кодомодіфіцірованная щур завантажується жертвою за фішинговою посиланням або проповзає на її комп’ютер сама через першу виявлену дірку. Про те, як автоматизувати цей процес, дивись в статті «Gophish – фреймворк для фішингу». До речі, будь обережний: більшість посилань на «програми для злому камер» самі фішингові і можуть привести тебе до скачування малварі.
У рядового користувача більшу частину часу веб-камера неактивна. Зазвичай про її включення попереджає світлодіод, але навіть з таким сповіщенням можна виконувати приховане спостереження. Як виявилося, індикацію активності веб-камери можна відключити навіть в тому випадку, якщо харчування світлодіода і CMOS-матриці фізично взаємопов’язане. Це вже робили з веб-камерами iSight, вбудованими в MacBook. Дослідники Брокер і Чекоуей з університету Джона Хопкінса написали утиліту iSeeYou, яка запускається від простого користувача і, експлуатуючи вразливість контролера Cypress, підміняє його прошивку. Після запуску жертвою iSeeYou атакуючий отримує можливість включати камеру, не запалюючи її індикатор активності.
Уразливості регулярно знаходять і в інших мікроконтролерах. Фахівець компанії Prevx зібрав цілу колекцію таких експлойтів і показав приклади їх використання. Практично всі знайдені вразливості ставилися до 0day, але серед них були і давно відомі, які виробники просто не збиралися усувати.
Способів доставити експлоїти стає все більше, а відловити їх все важче. Антивіруси часто пасують перед модифікованими файлами PDF, мають встановлені обмеження на перевірку великих файлів і не можуть перевірити зашифровані компоненти малварі. Більш того, поліморфізм або постійна перекомпіляція бойового навантаження стала нормою, тому сигнатурний аналіз давно відійшов на другий план. Впровадити троян, що відкриває віддалений доступ до веб-камері, сьогодні стало виключно просто. Це одна з популярних забав серед тролів і script kiddies.
Перетворюємо вебкам в камеру спостереження
Будь-яку веб-камеру можна перетворити в подобу IP-камери, якщо встановити на підключеному до неї пристрої сервер відеоспостереження. На комп’ютерах багато хто використовує для цих цілей старий webcamXP, трохи новіший webcam 7 і подібні програми.
Для смартфонів є аналогічний софт – наприклад, Salient Eye. Ця програма вміє зберігати відео в хмарний хостинг, звільняючи локальну пам’ять смартфона. Однак дірок в таких програмах і самих ОС вистачає, тому зламати керовані ними веб-камери часто виявляється не складніше, ніж IP-камери з дірявої прошивкою.
Webcam 7 показує відео без авторизації
Смартфон як засіб спостереження
Останнім часом старі смартфони та планшети нерідко пристосовують для домашнього відеоспостереження. Найчастіше на них ставлять Android Webcam Server – просте додаток, яке транслює відеопотік з вбудованої камери в інтернет. Воно приймає запити на порт 8080 і відкриває панель управління на сторінці з промовистою назвою /remote.html. Потрапивши на неї, можна змінювати налаштування камери і дивитися зображення безпосередньо у вікні браузера (зі звуком або без).
Зазвичай такі смартфони показують досить похмурі картини. Навряд чи тобі цікаво дивитися на сплячого пса або на припарковану біля будинку машину. Однак Android Webcam Server і аналогічні програми можна використовувати інакше. Крім тилової камери, у смартфонів є і фронтальна. Чому б нам не включити її? Тоді ми побачимо іншу сторону життя власника смартфона.
Захист від підглядання
Перше, що спадає на думку більшості людей після демонстрації легкого злому камер, – це заклеювати їх ізоляційною стрічкою. Власники веб-камер зі шторкою вважають, що їхня проблема підглядання не стосується, і даремно. Можливо ще й підслуховування, оскільки, крім об’єктива, у камер є мікрофон.
Розробники антивірусів і інших комплексів програмного захисту використовують плутанину в термінології для просування своїх продуктів. Вони лякають статистикою злому камер (яка дійсно вражає, якщо в неї включити IP-камери), а самі пропонують рішення для контролю доступу до веб-камерам, причому технічно обмежений.
Захист IP-камер можна підвищити простими засобами: оновивши прошивку, змінивши пароль, порт і відключивши облікові записи за замовчуванням, а також включивши фільтрацію IP-адрес. Однак цього мало. Багато прошивки мають неусунуті помилки, які дозволяють отримати доступ без будь-якої авторизації – наприклад, за стандартним адресою веб-сторінки з LiveView або панелі налаштувань. Коли знаходиш чергову діряву прошивку, так і хочеться її оновити віддалено!
Допоможи оновити прошивку вразливою камери
Злом веб-камери – зовсім інша справа. Це завжди верхівка айсберга. Зазвичай на той час, коли атакуючий отримав до неї доступ, він вже встиг побігати на локальних дисках, вкрасти учеткі всіх акаунтів або зробити комп’ютер частиною ботнету.
Той же Kaspersky Internet Security запобігає несанкціонований доступ тільки до відеопотоку веб-камери. Він не завадить хакеру змінити її налаштування або включити мікрофон. Список захищаються їм моделей офіційно обмежується веб-камерами Microsoft і Logitech. Тому функцію «захист веб-камери» варто сприймати лише як доповнення.
Окрема проблема – атаки, пов’язані з реалізацією управління доступом до камери в браузерах. Багато сайтів пропонують сервіси спілкування з використанням камери, тому запити доступу до неї і її вбудований мікрофон спливають в браузері за десять раз на день. Особливість тут в тому, що на сайті може використовуватися скрипт, який відкриває pop-under (додаткове вікно в тлі). Цьому дочірньому вікна передаються дозволу батьківського. Коли ти закриваєш основну сторінку, мікрофон залишається включеним на фонової. Через це можливий сценарій, при якому користувач думає, що закінчив розмову, а на ділі співрозмовник (або хтось ще) продовжує його чути.
У більшості браузерів дозволу зберігаються постійно, тому під час наступного відвідування тебе можуть бачити і чути вже без попередження. Варто частіше перевіряти дозволу доступу до веб-камері і її мікрофону для різних сайтів. У Google Chrome це можна зробити на сторінці налаштувань chrome: // settings / contentExceptions # media-stream. У старих версіях Firefox аналогічні налаштування були на сторінці about: permissions, а в нових вони задаються окремо для кожного сайту при кліці на іконку (i) зліва в адресному рядку. Докладнішу інформацію можна знайти в документації Mozilla.

Відеокамери Рівне

Готові до монтажу протестовані комплекти відеоспостереження:

камери відеонагляду – для приміщень (квартира, магазин, офіс, склад),
камери відеонагляду – для вулиці (заміський будинок, котедж, дача, стоянка).
Спрощена настройка віддаленого доступу через «хмарний» сервіс .

Залишити відповідь