数码之家

 找回密码
 立即注册
搜索
查看: 22215|回复: 88

[影音] 青青子木N5063-720p摄像头修复+固件研究及菜鸡的自我救赎~感谢前辈指路

    [复制链接]
发表于 2020-3-10 18:19:02 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
菜鸡第一次发帖,本篇主要做个人记录用可能过于啰嗦,如果碰巧同时能对你有启发帮助不胜荣幸

在看到坛友把1.2元的音响玩出花后,也按奈不住一颗躁动的心,把某店铺中所有宝贝全部看了一遍,选了一些用得上感兴趣的下单,然后就翘首以盼等着收快递

订单

订单


网络摄像头外观:
O1CN016VAFnQ1IeUAWE3uky_!!1799820918.jpg
O1CN01wY7MOm1IeUAYnpgIK_!!1799820918.jpg

还没拿到快递就在憧憬着这15元包邮的摄像头该有多香:夜视、云台、"又不是不能用的"720P:lol:,结果就emmm....拿快递、开箱、试机、翻车一条龙一气呵成了:cry::cry::cry:,理想美好但翻车猝不及防,通电后只有灯亮,不转、不响、复位键无反应、插网线无反应。群里问了下,只有几个老哥回应大多数都说没救了,摄像头翻车率挺高的。不甘心开始拆机

-4b727e09f32bb94.jpg
板子大概长这样,国科微的GK7102主控+通过USB与主控连接的mtk7601的无线模块。有一个SPI flash型号是25q128。喇叭坏没声了?还是电路接触有问题??看到预留了两个串口一样的焊接位置,试着焊上两排排针后分别试了下,似乎并没有神马输出,瞎鼓捣一番也就只能作罢了,再不甘心也只能丢一边吃灰了,基本上每隔几天都能看到群里有和我一样翻车在群里问的,同是天涯沦落人啊。




此后几天每天忙于搬砖也就无暇折腾,某晚(3-8)在群里学习聊天记录时突然看到有大神说
子木这个摄像头要拼手气,能用就赚到了,只有这公司的后台还活着。因为是返修机,好多都是丢固件,电机缺方向,渣图像,网络不通翻车了

脑子里瞬间风暴一番:emmm,丢固件?那能用编程器吗??摄像头的flash是SOP8的还是BGA来着???失忆记不清了诶,折腾了几年路由器,虽然编译还是只会一句make -j8 V=s,硬改只会拔掉焊盘,不过用编程器救砖倒是很熟练,要是SOP8的话没准可以救一手......想了想,然后选择了安详的睡觉:sleepy::sleepy:

第二天(3-9)又是搬砖的一上午,中午突然意识到,诶,好像下午有人强烈求一波DDoS?

我从来没见过这么奇怪的要求

我从来没见过这么奇怪的要求

给工头请了下午的假,贡献完自己一波算力,emmm

很惭愧,就做了一点微小的工作

很惭愧,就做了一点微小的工作

终于有空闲时间了,又到了快乐的聊天吹水学习时间,群里又开始有人问青青子木摄像头。小声哔哔:(长截图估计发出来会很怪异 1583808455433.jpeg
大神指路,果断开撸,因为第一次焊的排针是直插式太高了,导致后来想装好压箱吃灰时后盖扣不上,就剪断了排针装入箱子了,拿出来再次拆机重焊为弯插式排针后,USB-ttl模块连接电脑,开机打印出来了启动信息,最后停在了kernel panic。主要是rootfs挂载的问题。终于看到希望了,也石锤是固件问题。用的ubifs文件系统,平时mipsel的路由器听说的多是YAFFS2、JFFS2、squash。第一次接触这个文件系统,报错提示如下图,
-485374d1eef96245.png

完整的上电打印输出在这: N5X3EeRB.rar (4.64 KB, 下载次数: 8)
https://www.codepile.net/raw/N5X3EeRB.txt

顺便附一下串口接线定义,我用的xshell连接串口,波特率115200  8n1
IMG_20200310_143907.jpg

根据提示和群里前辈的提醒,先试着上电后打断正常启动进uboot使用setenv将bootargs改了,别的参数没动,但无论root=1f03:rootfs还是root=mtd3:rootfs都依旧kernel panic,虽然报错有那么一丢丢不同,如下图

39dc2789a55b629a.png
私聊前辈

私聊记录

私聊记录

binwalk解bin这操作只在ctf智能家电攻击比赛的帖子中接触过,不过只用过一两次,我一般只会用binwalk分析隐写,没错我CTF也是菜鸡:mad:。用编程器把flash读取出来另存为bin文件,用binwalk分析是这样

d9a927a6d79ac4e.jpg

binwalk -e后解压内容如下:

解压

解压

d9a927a6d79ac54e.jpg

至此,无能为力了,把目前掌握的情况上传至QQ群文件,然后去微信群问问看看能不能找到一份好的bin烧录下对比下,不曾想还闹了乌龙  (长截图的怨念

微信聊天记录

微信聊天记录

物归原主了,这感觉就像你在国产区看见了一个视频好兴奋,点进去发现是自己:sad:

本以为就此凉凉,不想晚上时峰回路转。真正的大神终于出手了

IMG_20200309_222807.jpg
Screenshot_2020-03-09-22-28-59-711_com.tencent.mm.png
由于这摄像头依靠ID区分,因此将聊天记录中ID相关打码,还望理解,后面会解释具体操作。

Screenshot_2020-03-09-22-22-30-007_com.tencent.mm.png
OK,本菜鸡开始对着前辈的成果慢慢磕,不得不说,真的佩服前辈,发过来的note.txt是笔记,一堆的链接,每个链接打开都有惊喜,我都好奇他是怎么找到这些资源的?他甚至注意到了淘宝有人卖相关SDK包,标价500,而他在github的一个issues中找到了这个SDK包?这怎么搜出来的?第一次觉得自己菜到搜索引擎都不会用了。





OK,终于说到正题了。总结如下:

该摄像头的固件在SOP8封装的25Q128 flash芯片中,部分机型是属于固件损坏的返修品,根文件系统rootfs损坏导致开机无法挂载从而不转不响复位键无反应,可以刷入正常机子上通编程器读取出来的固件来救活,但别人的固件中有9位数字和字母组成的ID。如果不修改别人的固件直接刷入,相当于直接用别人ID,那别人的APP也能看你家的小视频了,毕竟这摄像头目前仍然可以靠ID区分公网访问。因此需要修改ID,并且该产品的读取出来的bin是四位一组倒序存放的

首先、确定自己摄像头的确是固件损坏导致
  • 最保险的办法是拆机焊上串口插针,观察上电打印输出信息,看是否错误也是下面这种  (串口在哪 怎么接 在前面有写

  1. [    1.640000] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0): error -19
  2. [    1.650000] Please append a correct "root=" boot option; here are the available partitions:
  3. [    1.660000] 1f00             256 mtdblock0  (driver?)
  4. [    1.660000] 1f01              64 mtdblock1  (driver?)
  5. [    1.670000] 1f02            2048 mtdblock2  (driver?)
  6. [    1.670000] 1f03           14016 mtdblock3  (driver?)
  7. [    1.680000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
复制代码

  • 当然你也可以死马当活马医。直接用编程器怼。不过有编程器的坛友应该也有插针和USB-ttl模块吧,不太麻烦的话最好焊串口看一下

然后,拿到一份别人正常机子上读出来的bin文件 这里有两种类型固件,依靠文件大小就能区分
  • 第一种固件是用编程器读取出来的原版。大小是16.0 MB / 16384KB / 16777216 字节包含所有分区数据
  • 第二种固件提取自第一种固件,大小是13.6 MB / 14016KB / 14352384 字节 只包含其中的rootfs根文件系统分区
这里两种类型固件都给出来一份,ID均是DCBAHGFEI。个人推荐使用第一种包含所有分区16MB的固件

注意:青青子木有好几种方案,我给出的只适用于国科微的GK7102主控+mtk7601无线模组方案的机器,请拆机确定自己是否是这种方案。同时希望坛友能共享下各自固件,记得共享前将读出的固件文件中自己的ID改掉,防止有人直接刷入或别有用心者。

第一种:MX25L12835F_DCBAHGFEI.bin : MX25L12835F_DCBAHGFEI.rar (9.05 MB, 下载次数: 9)
链接: https://pan.baidu.com/s/1HkSrxKOGzK2sXYqDyqGtVw 提取码: niuw
第二种:DCBAHGFEI_rootfs.bin : DCBAHGFEI_rootfs.rar (7.25 MB, 下载次数: 2)
链接: https://pan.baidu.com/s/1BYSVW2_25lPn9ps8_Ooldw 提取码: 2p6y

无论哪种固件,都必须把固件内ID号修改为自己的ID!都必须把固件内ID号修改为自己的ID!都必须把固件内ID号修改为自己的ID!!

接着,修改固件中ID为自己的摄像头外壳或外包装上的ID
  • 先了解下ID在bin文件中存储的规律:

  •       ID由9位数字和字母组成,假如机子ID的是DCBAHGFEI(用16进制ASCII表示即  0x44 0x43 0x42 0x41 0x48 0x47 0x46 0x45 0x49),在bin中存储时,先给最后一位后面(也就是I后面)补上三个0x00的空位,0x00在ASCII码中不可见字符,为了演示用x代替,变成DCBAHGFEIxxx(用16进制ASCII表示即  0x44 0x43 0x42 0x41 0x48 0x47 0x46 0x45 0x49 0x00 0x00 0x00),长度变为12位。
  •       前辈解释:“这主控烧写内容是swap的”,简而言之就是所有内容在flash中都是4位一组倒放的,因此我们将补空后的12位ID 4位为一组,12位ID变成 DCBA HGFE Ixxx   ,并每组前后颠倒,变为ABCD EFGH xxxI(用16进制ASCII表示即 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48  0x00 0x00 0x00 0x49),以符合四位一组逆序存放的特性。也就是在正常机子读出来的bin中,形如DCBAHGFEI的ID会被存储为了ABCDEFGHxxxI     (提醒下 :x是为了演示用的,它实际代表的是0x00
  •       将你摄像头外壳上的ID用上面方式处理了,比如你自己ID是abcdefghi,(貌似ID没有小写字母,只为演示用,请用自己ID替换)大概推算过程类似于下图:

    推算过程

    推算过程
  • 用16进制编辑器例如winhex等打开bin文件,以搜索文本方式搜索原ID,即搜索“ABCD”即可,找到原ID并修改,左边是ASCII,右边是字符,怎么改我就不说了吧,修改完再搜索一次,应该有三处ID,全部要修改。

winhex

winhex

然后,保存文件就可以刷入了   根据上面所选择的固件类型不同,刷入方法不同

  • 第一种16MB的全分区数据固件,用编程器再写回flash即可,只要ID修改正确应该都能用了。
  • 第二种13.6 MB的固件,因为只包含rootfs分区数据,需要在uboot下刷入,用串口将机器与电脑连接,用网线将机器与电脑连接,电脑本地连接设置为固定IP地址,这里举例设为192.168.50.101,将修改好ID的固件与tftp服务器软件放在同一个目录下,打开tftp.exe,打开串口终端,开机上电的同时狂按enter键打断正常启动进入uboot命令行,在uboot下输入下面命令,我献丑每行写了注释,一句命令输完回车一次

  1. setenv serverip 192.168.50.101
  2. #设置服务器(也就是电脑)IP地址
  3. setenv ipaddr 192.168.50.66
  4. #设置机器IP地址
  5. saveenv
  6. #保存环境变量
  7. mw.b c1000000 ff db0000
  8. #用ff填充内存从c1000000地址处开始长度db0000的区域
  9. tftp 0xc1000000 MX25L12835F_DCBAHGFEI.bin
  10. #此处MX25L12835F_DCBAHGFEI.bin修改为你预刷入的bin文件名
  11. #通过tftp从内存c1000000地址处将MX25L12835F_DCBAHGFEI.bin文件写入到内存
  12. sf probe 0
  13. #选择flash
  14. sf erase 250000 db0000
  15. #清空flash中从250000地址处开始长度db0000的区域
  16. sf write c1000000 250000 db0000
  17. #将内存从c1000000的数据写入到flash从250000处,长度总计db0000
复制代码


附两张tftp传输和烧写的图

tftp传输
QQ截图20200309233202.png

写入flash
QQ截图20200309234156.png

槽点在于:我手上机器如果不能正常开机过一阵会自动重启(不清楚是不是共性),即使是在uboot下都会重启,这一套tftp传输、擦除、写入的操作下来,由于比较耗时还没等执行完机器就会重启,复制粘贴都觉得慢,最后用来xshell的快捷按钮快速输入才刷入了,却还是kernel panic,报错是“ubi read vlime table:the layout volume was not found”,我看到前辈发我的笔记中也有这个错误的链接,不清楚前辈最后是怎么解决的,也不清楚是这种刷写法都会导致这个问题还是说仅仅是我的问题。

总而言之,如果你只是想救活摄像头,不建议用只包含rootfs分区数据的固件,用16M全固件编程器刷入简单粗暴有效。

刷入完成后应该不会kernel panic了,按常规步骤操作,长按重置能听到语音,也能转动,但似乎出不来wifi信号,观察串口打印输出似乎操作无线模块mtk7601发出wifi时有错误,具体的没研究,通过有线连接,电脑或手机处于同一网络中设置下无线密码应该就可以连上无线了。不行的话就拔电多试几次,我试了三次才连接无线成功。

欧克,整完这一套,时间是3月10日凌晨2点,还行,串口登录需要密码。明天再破密码吧,破shell密码比较迷写在二楼了。

放一张效果图,四点醒来截的图,夜视效果还不错

夜视图

夜视图


第一次发帖,不知道怎么设置类似html中的锚点可以快速定位到帖子中间,各位坛友可能受累看了一篇又长又水的帖子,无聊且繁琐叙述不清,还望海涵

再次对给予帮助与指导的群友和前辈表示感谢,本文都是前辈的研究成果,我代为整理归纳,感谢微信电子二群@晓光 QQ电子二群@囧·史密斯。

最后附上前辈笔记和binswap.c文件: 笔记和binswap转换源码.zip (8.26 KB, 下载次数: 19)





补充内容 (2020-3-12 23:10):
免M链接: https://pan.baidu.com/s/16nk9Wyxz9fGMct3HUbcY_w 提取码: 6fb6



next

打赏

参与人数 16家元 +339 收起 理由
llcc + 20
wys111 + 20 優秀文章
28674500 + 10 原創內容
xiaoxuanfeng + 20 謝謝分享
tjjtds1 + 21 謝謝分享
zdfcg + 20 優秀文章
Meise + 50 優秀文章
fzguo + 20 優秀文章
pleianth + 18 感谢分享,以资鼓励!
cushion + 20 原創內容

查看全部打赏

 楼主| 发表于 2020-3-10 18:21:38 | 显示全部楼层
续上文,摄像头正常工作后,发现通过串口终端登录还需要密码。能用是能用拿不到shell总感觉缺点什么,而且昨天前辈给的binswap.c 代码倒是勉强能看懂,是在四位为一组逆序,但在整个救机过程中并没有太大用,由此还有两个问题没解决:这binswap到底咋用的?  怎么破密码?

先整密码破解,先礼后兵,先试试能不能温柔的解决密码问题,再次翻出昨天前辈通过QQ甩给我的第一个链接https://paper.seebug.org/649/,再次进入uboot,按照教程setenv 将sfboot 中 init 字段的值改为 /bin/sh,saveenv并重启,然而并没有出现期待的的能编辑 /etc/shadow 文件的shell,而是正常开机了,依旧需要密码。看来这条路暂时行不通。


回想起昨天前辈晒得截图中有几个bin文件文件名有nopasswd字样,难道他把固件改为不用密码了?看了看note.txt,有一段这样的命令

image.png

了然,大概理解就是将bin中的文件系统挂载到电脑上改完再保存为bin文件,问题又来了?怎么从编程器读出来16M的bin中提取出来rootfs部分?前辈给我的时候就是两种bin,一种16M全分区,一种13.6M单rootfs分区,他是怎么提取出来的?我将16M的bin用binwalk之前也试过了也解不开啊,百度了一下并没有啥实质性进展,又回去翻聊天记录,看着看着有点怀疑,索性是骡子是马拉出来遛遛,试试不就知道了,右键打开cmd 启动wsl的bash,gcc把binswap.c编译一次,运行加上16M的bin文件文件名
image.png

出来了一份out.bin,用hexcmp 16进制与原文件对比,发现全部四位为一组逆序了,半信半疑把这份逆序后的bin文件用binwalk分析,露出尾巴了
image.png

果断binwalk加文件名 -e全部解压出来
image.png

文件都是以地址值命名,最后一个250000.ubi就是ubifs格式的rootfs,将250000.ubi拷贝出来,为了验证提取到的是rootfs,因为之前将整个16M固件逆序后得到这个250000.ubi,将250000.ubi再逆序一次逆回去,再与前辈发我的单rootfs固件进行hexcmp,除过ID部分外完全一致,证实的确是这样提取出来的rootfs。也就是:先将整个16M的bin四位一组逆序,然后binwalk才能识别,用binwalk解压再逆序回去就能得到rootfs。
image.png

拿到rootfs了。准备挂载到电脑,然后修改/etc/shadow 文件,将前辈笔记中的命令一条条粘贴执行
  1. sudo apt-get install mtd-utils
  2. #kali自带了
  3. sudo modprobe mtdblock

  4. sudo modprobe mtdram total_size=14336 erase_size=64

  5. sudo dd if=ABCDEFGHI_rootfs.bin of=/dev/mtdblock0
  6. #ABCDEFGHI_rootfs.bin为rootfs文件名
  7. sudo modprobe ubi

  8. mount -t ubifs /dev/ubi0_0 /mnt/rootfs/
  9. mount -t ubifs ubi0_0 /mnt
复制代码

image.png

执行到mount时出错了,提示mount: /mnt/rootfs: unknown filesystem type 'ubifs'.   网上继续百度谷歌,一如既往的依旧没解决问题,我快要对我自己的搜索能力失望了,然后把笔记中给的几个链接翻看了下,发现执行 ls -la /dev/ubi*  后并没有ubi0_0设备,mtd0是有的,怀疑是 modprobe ubi 语句,看了看参考链接,输入据说作用相同的一句命令   ubiattach /dev/ubi_ctrl -m 0 后再mount终于成功了。成功挂载到mnt下的文件夹中
QQ截图20200310130652.png

打开/etc/shadow一看,傻眼了,不懂得怎么改,百度一番似乎我这个shadow文件中密文已经被清空了?太菜以至于都没接触过shadow文件,百度找了几个据说能解密shadow的程序,例如这个https://www.linuxidc.com/Linux/2011-09/42617.htm,下载回来编译运行没啥用,试着让它解密kali系统的shadow也没啥用。emmm。
image.png

进一步在百度入门,了解到这似乎远不是改个文件那么简单,说的好像也对,看来这条路只能作罢。
正在一筹莫展之际,开始一步步回想自己哪里没做对,为什么前辈就能nopasswd,我就整不出来,返回头去看之前在uboot中setenv 修改sfboot试图拿shell的部分,去看为啥修改了sfboot还能正常启动,sfboot修改没生效?然后翻完了也没找见sfboot在哪传递了只看到bootargs。恶从心头起胆向两边生。 直接改bootargs如何?把bootargs参数复制一份留存,把其中init=/linuxrc改为init=/bin/sh,saveenv,拔电重启,这下居然真拿到shell了,万万没想到,柳暗花明又一村。
拿到shell也就不执著shadow文件了,教程说这样的shell不完整,管他完整不完整,不试试怎么知道,直接执行passwd root,嘿,能用!!
QQ图片20200310184829.png

也就是:进入uboot,setenv将bootargs语句中init=/linuxrc改为init=/bin/sh,saveenv,拔电重启,即可在shell中passwd root修改密码,当然,改完要记得再进uboot把bootargs改回来让正常开机
重启 登录一气呵成,就是不停的打印输出有点烦,终端都乱了

top看一下
image.png

netstat 看一下端口
image.png

这些端口有啥用还没研究,毕竟今天还是要搬砖的

至此,整个青青子木N5063敞开了心扉,所有相关的代码都在/qqzm文件夹下,/root/.ash_history 还能翻到公司开发人员输的命令。作为一个入门的菜鸡,一路追随着前辈的步伐走的磕磕绊绊,但我觉得,这一套uboot、rootfs、ubi文件系统及在Linux上的挂载、bootargs知识的学费只收费15块,绝对是赚了,这年头,找到一地15块钱能学这么多东西挺好的。

下一步有空看看能不能解开通讯协议。看能不能搞清楚通讯视频是哪个端口?登录认证怎么做?云台转向又是怎么传输的?如果有幸能搞懂,可以自己做一个安卓客户端或WEB页面。将L1.zmvideo.net等官方域名在路由器上屏蔽,自己做内网穿透,就能避开官方停止维护和一些隐私隐患。
再次感谢前辈,当然,也感谢青青子木。

next

打赏

参与人数 2家元 +12 收起 理由
qlkf + 8 牛B
xiaoqi233 + 4

查看全部打赏

回复 支持 4 反对 0

使用道具 举报

发表于 2020-3-12 22:16:33 | 显示全部楼层
帅,玩得够硬核。我也撸了5个,一个翻车,四个能用。很佩服你这种探索精神。
回复 支持 反对

使用道具 举报

发表于 2020-3-12 23:33:21 | 显示全部楼层
本帖最后由 fpl681010 于 2020-3-12 23:35 编辑

牛!
学到了binwalk,解固件密码。
推而广之 估计一堆Iot设备都通用
等有时间找个别的摄像头试一下。我这里之前拿到过几个找不到app的摄像头。等着研究一番。
我Linux能力太差是硬伤。顶多会个ls cp shell pm install 其他的现用现查。 Ttl破解电视盒子学到的。
刷路由太偷懒了。直接傻瓜包,或者编程器刷入。难得用这些命令。平时捣鼓Windows较多 对linux近乎白痴。
回复 支持 反对

使用道具 举报

发表于 2020-3-12 23:38:01 | 显示全部楼层
这种硬件设备最大的作用就是交流学习。那个店主做了一个大好事,办了一个物联网交流沙龙。让感兴趣的人拿到共同的硬件,一起交流学习。
回复 支持 反对

使用道具 举报

发表于 2020-3-12 23:51:57 | 显示全部楼层
楼主引用的物联网破解的文章太好了。在本站好长时间没看到这么有意义的文章了。所谓的破解盒子,路由器刷机全是烂大街的东西。好歹有点新技术可以折腾
回复 支持 3 反对 0

使用道具 举报

发表于 2020-3-12 23:59:59 | 显示全部楼层
能拿到原始密码,甚至密码算法最好。这样就能通杀全网的摄像头了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 00:54:19 来自手机浏览器 | 显示全部楼层
fpl681010 发表于 2020-3-12 23:59
能拿到原始密码,甚至密码算法最好。这样就能通杀全网的摄像头了

你是说终端密码?那个是Linux的,网上搜有相关分析,Linux遍布全世界嵌入式智能设备很多地方都在用。那个要是能被轻易破解,就有点恐怖了。
回复 支持 反对

使用道具 举报

发表于 2020-3-13 13:09:13 | 显示全部楼层
大哥 突然想进微信群 交个朋友? 固件逆向让我这个人心驰神往,我最多玩个杂项
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 13:34:42 | 显示全部楼层
说下目前尝试,用于抛砖引玉,可以有供有想法的大神们参考。

安卓手机上抓取客户端的数据包,使用的是HttpCanary,目前看来没有什么有用的信息,客户端会向服务端提交一个TCP包包含一段基础信息包括手机型号、app版本和一些类似id的数据。随后几个UDP包select dev +摄像头id,几次select dev后服务端会返回一个数据包,这个数据包有点东西。顺带使用dig/nslookup看了下域名解析,能解析成功的话试图ping一次,为了防止服务器禁止ping导致的ping失败,因此无论ping是否成功继续使用nmap扫描了下端口是否开放,本来可以用nmap一步到位太慢了,整个数据包及对应扫描结果如下
  • 包含客户端和摄像头nat穿透后的ip+端口
  • 一个形如"DCBAHGFEI.zmvideo.net"这样由摄像头id+子木域名组成的二级域名   
    DNS解析失败没有A记录
  • 两个看起来像是自建的DNS服务器形如ns1.zmdnserver.net:53                          
    DNS解析失败没有A记录

    image.png

    对于这个DNS有点迷茫没看懂,猜测是自建用于将第2中的"由摄像头id+子木域名组成的二级域名"临时解析的?也不知道这样判断DNS服务器的DNS没有A记录就是失败的标准对不对,平时DNS服务器都直接是IP地址,一个DNS服务器给了域名形式所以用之前还得先DNS查询一次??只有一个DNS的时候那不套娃死锁了吗?
  • 两个形如l1.zmdvideo.net:6100 暂不清楚是用于nat握手还是视频中转的域名      
    DNS解析成功  ping超时  UDP扫描结果:   均为open|filtered  TCP扫描结果 l1.zmdvideo.net:6100为 open ,l2.zmdvideo.net:6100为 filtered


    image.png

大概这个数据包就是外网访问的关键?个人猜测参考之前用过frp和zerotier等内网穿透软件,整个外网流程应该是:利用nat打洞,如果nat打洞失败/或者有公网IP不用打洞??,使用自建DNS服务器zmdnserver.net 解析由摄像头id+子木域名组成的二级域名,如果都失败,转为由l1.zmdvideo.net:6100和l2.zmdvideo.net:6100进行转发??




在电脑客户端的设置-高级设置选项卡中,有stun server服务器选择框,这个之前略有耳闻,就是用来帮助nat双方打洞的

QQ截图20200311090955.png

然而个人尝试无论选择哪个,IbStaust都提示"STUN:unknownerro(1)  Route:Unkonw(2)",然而使用NatTypeTester软件测试我当前nat类型时,使用相同的stun服务器却可以正常解析。不清楚是超时还是别的原因。

QQ截图20200311090656.png


顺带在电脑端软件中发现有默认端口的定义和设置选项,似乎可以有web端口??还可以自定义端口,在我本地播放摄像头图像时的确是连接摄像头9300端口。

image.png




把固件里的qqzm下的app文件夹里的可执行程序复制一份,丢进IDA里F5看看伪代码,单看名字最有价值的应该是main,可惜F5不出来,后续再研究,倒是有一个exec_shell,F5后粗略看了下,在9400端口开本地socket,select监听,recv()收到的内容用system执行,满头黑线中,这么玩??确定不会被别人利用???上次netstat -ant时就注意到有一个9400端口从这出来的。

main文件用IDA F5
image.png

exec_shell
image.png


APP文件夹打包一份,有需要的可以研究下: app.zip (3.99 MB, 下载次数: 1)
链接: https://pan.baidu.com/s/1-QmNrJoUsLNnZvPtX0FgWQ 提取码: 3ubf




之前破解密码成功登陆shell后,注意到23端口telnet开着,不是很懂这玩意官方故意开的?还是调试完没关?既然有先利用下就可以不用成天拆机串口登陆了,也不疯狂乱打印了,贴一张两下两下Tab的结果,可用命令被阉割的不是太厉害
image.png

菜鸡一枚,又往前挪了几步,抛砖引玉,还望各位前辈指点一二



回复 支持 反对

使用道具 举报

发表于 2020-3-13 17:00:19 | 显示全部楼层
本帖最后由 fpl681010 于 2020-3-13 17:02 编辑
muzhi 发表于 2020-3-13 00:54
你是说终端密码?那个是Linux的,网上搜有相关分析,Linux遍布全世界嵌入式智能设备很多地方都在用。那个 ...

网上的分析都是关于ssh,telnet弱密码的。就那么几种弱密码。还有几种已知漏洞。被用于botnet。
回复 支持 反对

使用道具 举报

发表于 2020-3-13 17:32:57 | 显示全部楼层
muzhi 发表于 2020-3-10 18:21
续上文,摄像头正常工作后,发现通过串口终端登录还需要密码。能用是能用拿不到shell总感觉缺点什么,而且 ...

这是向着顶级骇客攀登的节奏啊。佩服楼主不屈不挠的精神。
回复 支持 反对

使用道具 举报

发表于 2020-3-13 18:30:21 | 显示全部楼层
大佬 群号发一下呗  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 19:25:04 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 19:29:12 | 显示全部楼层
9400端口随便写个TCP socket连上去,没任何验证,在这边输指令那边就会执行,暂时发现输的指令不能有空格,每句指令以分号结尾,这算什么?远程调试工具还是后门?
9400.gif
回复 支持 反对

使用道具 举报

发表于 2020-3-13 20:37:28 | 显示全部楼层
膝盖献上,高手。
回复 支持 反对

使用道具 举报

发表于 2020-3-13 20:39:16 | 显示全部楼层
muzhi 发表于 2020-3-13 19:25
可以看一下这几个讨论?看来我误打误撞找的的方法也是别人常用的

https://blog.csdn.net/coderwuqiang/a ...

谢谢,不错的参考资料
回复 支持 反对

使用道具 举报

发表于 2020-3-13 20:40:28 | 显示全部楼层
muzhi 发表于 2020-3-13 19:29
9400端口随便写个TCP socket连上去,没任何验证,在这边输指令那边就会执行,暂时发现输的指令不能有空格, ...

嘘……低调。最好隐去一些东西。具体方法自己摸索。否则一大堆人沦为黑客盘中餐了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-14 15:05:28 | 显示全部楼层
雅哲 发表于 2020-3-13 18:30
大佬 群号发一下呗

群号?QQ群和微信群都是老王店铺的粉丝群  不清楚论坛是否允许放群号,如果不允许还请管理改正,电子爱好者交流群②群 376292003  微信群邀请容易失效就不放了  在QQ群里让群友邀一下就行
回复 支持 反对

使用道具 举报

发表于 2020-3-14 19:23:05 | 显示全部楼层
这种摄像头你找我啊,我送你玩,我还有好几个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-19 21:57 , Processed in 0.358800 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表