Wanscam JW0008 е някакво китайско чудо на техниката, което го играе IP камера. Всъщност за цената си вероятно се справя горе долу добре.
Вчера един приятел се обади, че някой му хакнал няколко от въпросните камери. След като се разровил установил, че на въпросните камери има пуснат telnet, който пуска root с парола 123456. Почти гениално!
Да, разбира се повечето потребители няма да си слагат реално IP на камера, но има хора, които го правят. И така си имат камера достъпна от Интернет с добре документиран потребител и парола.
Предполагам, че има доста ботове, които снифят за отворен telnet и едва ли 123456 е назад в списъка с пароли, които пробват.
Та след като му хакнали камерите те вече не работели. Не се откриват, не са достъпни, резет не помага ... общо взето тухла. Та получих аз една хакната и една работеща камера.
Отварянето на камерата не е никак сложно. Има 4 болтчета отдолу - две под крачетата и две под лепенки за гаранция. След като се махне долния капак се вижда една от платките. След като я извадите и разкачите куплунзите ще видите и другата платка закачена върху нея.
Въпросната по-малка платка е интересната. На нея има Ralink RT5350F и един чип SDRAM. На доста места в Интернет можете да намерите
информация , че Wanscam JW0008 е копие на Foscam FI8918W. Обаче ... се оказа, че JW0008 може и да не бъде копие! Foscam-а е с ARM, а нашето китайче не е. Това пък означва, че firmware за китайчето се намира трудно. Или не се намира (поне аз до момента не съм намерил).
Ето как изглежда, малката платка с Ralink-а:
https://wikidevi.com/wiki/Wanscam_JW0004. 0004 поне като kernel изглежда същата, като 0008:
http://www.drolez.com/blog/?category=Hardware&post=jw0004-webcam На въпросната малка платка има изведен сериен порт. Имайте предвид обаче, че не трябва да разменяте RX и TX т.е. свързвате TX в TX и RX в RX. Просто надписите на платката не отговарят на реалността. Отне ми известно време да стигна до истината. Не забравяйте, че всичко работи на 3.3V. Аз лично ползвам
това за да си говоря със серийни портове.
Та след като си закачите серийния порт на 57600 би трябвало да видите U-boot и след това зареждането на kernel-a. До тук добре имах нещо почти работещо.
Не правете грешката да флашите с т.н. от Wanscam firmware -
http://www.wanscam.com/news/ipcameraupdatenews/The_Link_of_the_latest_firmware_and_UI.html. Това не е никакво firmware, а просто zip файл с префикс от 36 байта. Общо взето ако го разархивирате ще видите, че вътре има една папка /system. UI-то пък е папка /www. Установих го по трудния начин след като флашнах камерата с т.н. firmware. Няма нужда да казвам, че не тръгна :)
Wanscam нямаха идея какво firmware търся. Тази сутрин тормозих някакъв китаец по Skype, който дори не знаеше, че камерите им имат пуснат telnet. Твърдеше, че нямали такива процедури ... все пак каза, че ще пита инженера им (дали е само един не знам), но бил много зает, пък и го нямало. Та още чакам де ...
А човек докато чака може да прави глупости. Например да намери
OpenWRT за RT5350F и да си направи камерата на ... рутер. Заигравката с OpenWRT обаче ме отведе до следния
пост. Свалих mtdblock-вете и ги поразгледах. Освен това поразгледах и самия firmware, който качих и веднага забелязах, че наистина firmware-то е съставено от няколко mtd-та залепени един зад друг.
Последва разглобяване на работещата камера. Запояване на серийния порт и cat /proc/mtd:
dev: size erasesize name
mtd0: 00800000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 00100000 00010000 "Kernel"
mtd5: 00330000 00010000 "RootFS"
mtd6: 00300000 00010000 "sys"
mtd7: 00080000 00010000 "param"
mtd4, mtd5, mtd6 са интересните за нас. Първоначално пробвах само с mtd4 и mtr5, но се оказах в начално положение т.е. камера се върна в "хакнатото" положение. Предполагам, че ботовете, които са помляли камерите просто са се пробвали да изтрият всичко, но тъй като root-та е read only са отнесли само /system папката :)
Как обаче да ги измъкнем от камерата? Няма dd, няма ftp, няма scp, няма sz, rz и т.н. Отгоре на всичко след около минута камерата се рестартира защото някакъв watchdog решава, че има проблем. Та първо закачете USB конектора, който е към реалната камера. Така съобщенията по конзолата спират и няма вече рестарти.
След това правим следното:
cd /tmp
cat /dev/mtdblock4 >4.bin
ln -s /tmp/4.bin /system/www/4.bin
Записвайте нещата в /tmp, защото другаде едва ли има място.
Сега е момента да отворите някой browser и да напишете IP-то на кемерата и порта, като добавите и 4.bin.
http://192.168.2.104:99/4.bin
Така ще можете да свалите mtd4. Повтаряме процедурата за 5 и 6, като след като изтеглите файла го изтривате.
След като имаме въпросните файлове ги събираме заедно.
cp 4.bin test.bin
cat 5.bin >>test.bin
cat 6.bin >>test.bin
Не съм пробвал да създам целия файл директно на работещата камера. Може и да стане ако има място. Ако някой има нерви да пробва.
Запояваме отново серийния порт на хакнатата камера и от U-boot менюто с tftp си флашваме с test.bin.
Ако всичко е наред след малко камера ще се събуди и даже ще работи.
Имайте предвид, че трябва да направите нещо за telnet-а. Ако не искате да ви хакнат отново :) В /system/init има едно файлче наречено ipcam.sh. В него ще намерите от къде се пуска telnetd. Най-просто е да коментирате или изтриете въпросния ред. Имайте предвид, че passwd ще смени паролата, но ... след рестарт тя пак ще се върне на 123456, така че това не е решение.
Та така мили мои китайци, можете да върнете към живот, разни хакнати камери :)
напиши нов коментар