open-seasame
命令提出了加密挑战,因此没有root用户。此列表中是否有任何东西可以嘲讽通过uboot转储固件的功能?
有用于micro-SD卡的垫,但我没有焊接任何东西或用示波器对其进行测试/探测。
The following commands are supported:
boot erase help reset
saveenv printenv setenv upbs
format update upfusb upf
updatebusb updateb gos go
mii gpio ping
Use help to get help on a specific command
#1 楼
好吧,我想出两种方法。第一种是困难的方法。我查找了一些资源,发现海康威视摄像机上的
upf
命令应该能够更新固件,并且它正在使用TFTP将固件加载到0x02000000地址中。参考:https://ipcamtalk.com/线程/hikvision-g1-5-5-firmware-exploring-the-cam-attempting-unlock.40814/https://ipcamtalk.com/threads/unrestricted-root-shell-on-g1-cameras.23213/
因此,您可以使用
upf
命令从您的计算机接收文件,然后将其以0x02000000的速度加载到内存中,在加载完成之前,您可以通过断开连接来中断更新操作,因此可以返回到uboot提示符。并执行其他操作,传输的数据仍将保留在内存中。然后还有一个
go
命令,它可以使处理器执行您提供的地址。要打包它们,您可以可以使用上述技术将任意数据加载到固定的内存地址中,然后您可以控制处理器执行任意操作ddress,因此您可以编写shellcode来从nand读取并打印它们。
第二个是更简单的方法。您可以尝试看一下printenv的输出,并且可能会有一些有趣的环境变量控制着更新进度和引导进度。有机会您可以上传自定义的小ROM,而不会覆盖原始的小ROM。无论如何,我建议您使用像JTAG这样的调试器来转储内存,这样做要容易得多,除非您必须这样做一些焊接。
评论
我没有在板上看到JTAG端口,但这并不意味着没有。我确定芯片上只有一个,我只想弄清楚引脚是否在某处。 imgur.com/gallery/JcgsEPE HKVS#printenv ipaddr = 192.0.0.64 serverip = 192.0.0.128 gatewayip = 0.0.0.0 netmask = 255.255.255.0 ethaddr = 94:e1:ac:00:55:0e loadaddr = 0x00208000 bootfile = hImage bootcmd = null bootargs =控制台= ttyS0 bootdelay = 2 dbg = 8 chip_id = 1
–J.Hirsch
19年8月15日在22:27
好在console = ttyS0暗示它是一个Linux内核,也许您可以尝试设置init =参数,以便您可以在固件上执行任何可能的可执行文件:)
–迷雾笼罩
19年8月16日在15:49