参考来源:[斐讯主流路由器K1存在漏洞并收集用户信息](https://zhuanlan.zhihu.com/p/20878782) 斐讯PSG1208(K1)是斐讯公司主推的一款家用路由器产品,我们通过分析路由器的固件发现存在着很多的问题。 首先,我们利用固件分析工具binwalk分析固件,并解压缩tar文件,得到如下图的目录内容: 没有得到完整的root目录结构,当打开543000文件的时候,得到的是如下图: 2 细细分析之后,原来这个54300里面包括了所有的文件名和文件的内容,按照格式就可以提取出整个的root结构了。  原来网上就出现了这一款路由器的一些典型漏洞: 斐讯多个型号路由器直接获取管理员密码和宽带密码 我先看了看这些漏洞还存在不,发现开发者已经将漏洞补起来了,并且后面还备注了是谁改的。 这么low的商业产品,我自信的认为肯定还存在着很多其他的漏洞。分析后发现,他只是限定了对所有asp文件的访问,但是却没有限制其他格式的文件执行,当访问http://ip/cgi-bin/reboot.sh,就重启了,reboot.sh的内容如下: ``` #!/bin/sh echo "Content-type: text/html" echo "" echo "<body>rebooting</body>" reboot & ``` 当访问http://ip/cgi-bin/ExportSettings.sh的时候,就可以下载config.dat文件,ExportSettings的文件内容如下: ``` #!/bin/sh CONF=Default cd /tmp #output HTTP header echo "Pragma: no-cache\n" echo "Cache-control: no-cache\n" echo "Content-type: application/octet-stream" echo "Content-Transfer-Encoding: binary" echo "Content-Disposition: attachment;...
参考来源:[斐讯主流路由器K1存在漏洞并收集用户信息](https://zhuanlan.zhihu.com/p/20878782) 斐讯PSG1208(K1)是斐讯公司主推的一款家用路由器产品,我们通过分析路由器的固件发现存在着很多的问题。 首先,我们利用固件分析工具binwalk分析固件,并解压缩tar文件,得到如下图的目录内容: 没有得到完整的root目录结构,当打开543000文件的时候,得到的是如下图: 2 细细分析之后,原来这个54300里面包括了所有的文件名和文件的内容,按照格式就可以提取出整个的root结构了。  原来网上就出现了这一款路由器的一些典型漏洞: 斐讯多个型号路由器直接获取管理员密码和宽带密码 我先看了看这些漏洞还存在不,发现开发者已经将漏洞补起来了,并且后面还备注了是谁改的。 这么low的商业产品,我自信的认为肯定还存在着很多其他的漏洞。分析后发现,他只是限定了对所有asp文件的访问,但是却没有限制其他格式的文件执行,当访问http://ip/cgi-bin/reboot.sh,就重启了,reboot.sh的内容如下: ``` #!/bin/sh echo "Content-type: text/html" echo "" echo "<body>rebooting</body>" reboot & ``` 当访问http://ip/cgi-bin/ExportSettings.sh的时候,就可以下载config.dat文件,ExportSettings的文件内容如下: ``` #!/bin/sh CONF=Default cd /tmp #output HTTP header echo "Pragma: no-cache\n" echo "Cache-control: no-cache\n" echo "Content-type: application/octet-stream" echo "Content-Transfer-Encoding: binary" echo "Content-Disposition: attachment; filename=\"config.dat\"" echo "" nvram show >> ${CONF} 2>/dev/null CRC=`cksum ${CONF} 2>/dev/null` echo "#The following line must not be removed." echo "#ID "${CRC} cat ${CONF} rm -f ${CONF} 2>/dev/null ``` 而config.dat的内容就太丰富了,不仅包括管理员的用户名、密码、wifi的密码等等,而且还有一个奇怪的ftp地址和登录的用户名和密码:  图一、路由器管理的登录密码  图二、Wifi的密码   图三:云服务器的地址、账号以及密码 好奇心驱使着我要好好的研究一下ftp里面到底是什么东西,登录后发现,有一堆的压缩文件,如这样的: 19700101024747_SN0000_8CAB8E097AF8.tar 下载一个回来后,解压缩得到下面的内容:  上面还是一个压缩文件啊,不知道是不是程序员忘记了,压缩了两次,再解压缩后得到密文的数据:  我就更好奇了,这个加密的部分到底是什么了,分析后发现在cathpkt文件中有对这文件加密的部分,找到加密方法,其实就是利用openssl加密的。 加密的指令为:```cd /tmp/ && rm - rf *.tar && open ssl enc -aes-128 -cbc -in %s -out %s -k %s && tar -zcf %s %s && r m -rf %s %s *.data。``` 密钥是0123456789ABCDEF0123456789ABCDEF 在ubuntu下解密:openssl enc -aes-128-cbc -d -in 19700101053017_SN0000_8CAB8E00E350.data -out dddd.data -k 0123456789ABCDEF0123456789ABCDEF 得到如下:  这不正是用户访问的域名和ip地址吗?