ubnt解决方案
查看: 21582|回复: 56

[讨论] 预警!斐讯K1 PSG1208路由器原厂固件存在高危漏洞!

[复制链接]

104

回帖

895

积分

231 小时

在线时间

中尉

注册时间
2013-4-14
金币
761 个
威望
1 个
荣誉
0 个
累计签到:47 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-2-9 23:15
乌云漏洞平台已经公开两个关于斐讯K1 PSG1208高危漏洞

一为涉嫌收集用户信息并可能泄露

二为存在路由可被内网任意下载路由配置文件无需管理密码、

报告链接http://wooyun.org/bugs/wooyun-2015-0163398
                       http://wooyun.org/bugs/wooyun-2015-0163402

路由配置文件包含了路由所有的设置参数。包括路由管理密码,wifi密码。MAC白名单等等
内网可被任意获取代表路由管理密码成为空设只要连接wifi均可获取管理密码任意进入路由管理界面

至于收集用户信息,放乌云原帖截图你们感受一下:


这是上传信息斐讯FTP站点

是的,所有访问过的网站均有记录

截止至北京时间2016年2月10日。斐讯官方目前并未修复上述两个漏洞



本人已验证过Pandavan ASUS固件不存在上述漏洞,Pandora Box未经测试(本人认为可以放心)
其他第三方也并未测试

在斐讯官方未作出修复回应及升级固件之前,
推荐将原厂固件刷为上述两个第三方固件以避免漏洞。

说下个人意见:单论路由而言,配置不错,性能满足普通家用。而且也保持了成功返现。

但是,
斐讯是不可能空手而归的。只是这次被“捉奸在床”罢了。

天下没有免费午餐。大家在捡便宜的时候。谨记这一点。

本次事件,希望理性看待,认真对待,谨记教训。

本帖子中包含更多资源

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

x
God is in his heaven, all's right with the world。

46

回帖

589

积分

187 小时

在线时间

中尉

注册时间
2011-7-7
金币
479 个
威望
8 个
荣誉
0 个

尚未签到

发表于 2016-2-10 03:56
本帖最后由 510695678 于 2016-2-10 13:18 编辑

这个算不上高危的,下载配置文件的前提是你知道密码连上wifi
更新一下:
(管理员密码是base64加密保存的,比如admin加密后是YWRtaW4=
可以轻松解密http://tool.chinaz.com/tools/base64.aspx

上传上网记录应该是存在的,至于什么时候上传就不知道了。

这个路由使用nvram保存配置的,nvram show可以查看配置,


linux系统开机会先先执行 /sbin/init,一堆程序中会启动一个cathpkt的程序
# grep cathpkt /sbin/init
start_cathpkt
stop_cathpkt
insmod /lib/modules/cathpkt.ko
cathpkt &
killall cathpkt


# grep cat /sbin/dev_init.sh
        mknod   /dev/cathpkt   c       206     0   -m 622


加载了/lib/modules/cathpkt.ko内核模块创建/dev/cathpkt设备
后台运行cathpkt




这是cathpkt这个程序的明文字符串
  1. .rodata:00404508 0000001E C %02d-%02d-%02d %02d:%02d:%02d                                                                                    
  2. .rodata:004044E8 0000001E C %02x:%02x:%02x:%02x:%02x:%02x                                                                                    
  3. .rodata:004041FC 0000000D C %Y%m%d%H%M%S                                                                                                      
  4. .rodata:0040448C 00000024 C %[^:]:%[^:]:%[^:]:%[^:]:%[^:]:%[^:]                                                                              
  5. .rodata:00404628 00000013 C %s error code: %d\n                                                                                               
  6. .rodata:004044B0 0000000D C %s%s%s%s%s%s                                                                                                      
  7. .rodata:0040452C 0000000D C %s;;;%s;%s%s                                                                                                      
  8. .rodata:0040485C 00000006 C %s=%s                                                                                                            
  9. .rodata:004041C0 0000000B C %s[%u] %s\n                                                                                                      
  10. .rodata:00404224 00000011 C %s_SN0000_%s.tar                                                                                                  
  11. .rodata:00404350 00000011 C %s_SN9999_%s.tar                                                                                                  
  12. .rodata:004042D8 00000012 C -->data file=[%s]                                                                                                
  13. .rodata:00404478 00000011 C -->file size=%ld                                                                                                  
  14. .rodata:004041CC 0000000D C /dev/cathpkt                                                                                                      
  15. .rodata:00404850 0000000B C /dev/nvram                                                                                                        
  16. .rodata:004044D0 00000006 C /tmp/                                                                                                            
  17. .rodata:004042D0 00000008 C /tmp/%s                                                                                                           
  18. .rodata:0040420C 00000017 C /tmp/%s_SN0000_%s.data                                                                                            
  19. .rodata:00404460 0000000D C /tmp/cathpkt                                                                                                      
  20. .rodata:00404408 0000000D C 001122334455                                                                                                      
  21. .rodata:00404238 00000021 C 0123456789ABCDEF0123456789ABCDEF                                                                                 
  22. .rodata:00404744 00000005 C CWD                                                                                                               
  23. .rodata:00404610 00000015 C Can not send message                                                                                             
  24. .rodata:004046E0 0000003D C Can not use PORT mode!Please use "mode" change to PASV mode.                                                   
  25. .rodata:00404664 00000020 C Can't connet to the ftp server!                                                                                   
  26. .rodata:0040480C 0000000F C Connect error!                                                                                                   
  27. .rodata:00404780 00000018 C Creat data socket error                                                                                          
  28. .rodata:0040463C 00000013 C Creat socket error                                                                                                
  29. .rodata:0040481C 00000011 C Invalid address!                                                                                                  
  30. .rodata:00404830 0000000E C Invalid port!                                                                                                     
  31. .rodata:00404798 00000010 C Open file error                                                                                                   
  32. .rodata:004045EC 00000006 C PASS                                                                                                              
  33. .rodata:00404690 00000005 C PASV                                                                                                              
  34. .rodata:00404698 00000017 C PORT %s,%s,%s,%s,%d,%d                                                                                            
  35. .rodata:00404600 00000010 C Password error!                                                                                                   
  36. .rodata:0040473C 00000005 C QUIT                                                                                                              
  37. .rodata:0040474C 00000006 C STOR                                                                                                              
  38. .rodata:00404754 00000007 C TYPE I                                                                                                            
  39. .rodata:004047C8 00000019 C The PORT mode won't work                                                                                          
  40. .rodata:004045E4 00000006 C USER                                                                                                              
  41. .rodata:004045F4 0000000C C User error!                                                                                                      
  42. .rodata:004045B8 0000000F C calc_file_size                                                                                                   
  43. .rodata:004041E4 00000016 C can not find dev :%s\n                                                                                            
  44. .rodata:004045A0 00000015 C cathpkt_writePktinfo                                                                                             
  45. .rodata:00404380 0000002C C cd /tmp/ && rm *.tar *.data -rf && touch %s                                                                       
  46. .rodata:0040425C 00000073 C cd /tmp/ && rm -rf *.tar && openssl enc -aes-128-cbc -in %s -out %s -k %s && tar -zcf %s %s && rm -rf %s %s *.data
  47. .rodata:00404550 0000001B C could not open tmp file %s                                                                                       
  48. .rodata:0040457C 00000010 C create_tar_file                                                                                                   
  49. .rodata:0040475C 00000022 C error create new_sock in put port                                                                                 
  50. .rodata:00404364 0000001B C file upload will be empty!                                                                                       
  51. .rodata:0040453C 00000013 C file:%s not found.                                                                                                
  52. .rodata:00404348 00000008 C ftp bye                                                                                                           
  53. .rodata:00404304 00000009 C ftp init                                                                                                         
  54. .rodata:00404310 0000000A C ftp login                                                                                                         
  55. .rodata:00404340 00000008 C ftp put                                                                                                           
  56. .rodata:00404840 0000000A C ftp_close                                                                                                         
  57. .rodata:004047F8 00000012 C ftp_srvname=[%s]\n                                                                                                
  58. .rodata:0040431C 00000022 C function[%s] line[%d] errno=[%d]\n                                                                                
  59. .rodata:00404594 0000000C C get_wan_mac                                                                                                      
  60. .rodata:004041DC 00000008 C len:%d\n                                                                                                         
  61. .rodata:00404720 00000009 C listen()                                                                                                         
  62. .rodata:004047A8 0000001E C local file %s doesn't exist!\n                                                                                    
  63. .rodata:004044C0 00000010 C mac string=[%s]                                                                                                   
  64. .rodata:00404418 0000000E C mac_addr=[%s]                                                                                                     
  65. .rodata:0040458C 00000005 C main                                                                                                              
  66. .rodata:00404470 00000005 C null                                                                                                              
  67. .rodata:004043EC 0000001C C nvram get et0macaddr error!                                                                                       
  68. .rodata:00404684 0000000B C send error                                                                                                        
  69. .rodata:004046D4 0000000B C set socket                                                                                                        
  70. .rodata:004046BC 00000018 C set socket %s errno:%d\n                                                                                          
  71. .rodata:00404650 00000011 C set socket error                                                                                                  
  72. .rodata:004046B0 00000009 C socket()                                                                                                         
  73. .rodata:004042EC 00000016 C target directory=[%s]                                                                                             
  74. .rodata:004044D8 0000000B C tmpcathpkt                                                                                                        
  75. .rodata:004043AC 00000017 C upload filename error!                                                                                            
  76. .rodata:00404444 0000001A C upload time interval=[%d]                                                                                         
  77. .rodata:00404428 00000019 C upload time set default.                                                                                          
  78. .rodata:00404570 0000000C C upload_data                                                                                                      
  79. .rodata:004045D0 00000012 C upload_ftp_passwd                                                                                                
  80. .rodata:004047E4 00000012 C upload_ftp_server                                                                                                
  81. .rodata:004043C4 00000019 C upload_ftp_time_interval                                                                                          
  82. .rodata:0040472C 00000010 C upload_ftp_user                                                                                                   
  83. .rodata:004043E0 0000000B C wan_hwaddr                                                                                                        
复制代码



运行以后会创建/tmp/cathpkt 明文文件,用来保存上网记录,如果想查看直接cat /tmp/cathpkt
压缩前使用openssl 加密 (openssl enc -aes-128-cbc -in %s -out %s -k %s)
文件名 /tmp/时间戳_SN0000_MAC地址.tar

如果想查看压缩后的文件
先解压
tar zxf 20160114XXXXXX_SN0000_XXXXXXXXXXXX.tar
得到 20160114XXXXXX_SN0000_XXXXXXXXXXXX  继续解压
tar xf 20160114XXXXXX_SN0000_XXXXXXXXXXXX
得到20160114XXXXXX_SN0000_XXXXXXXXXXXX.data
使用openssl解密成222.txt
openssl aes-128-cbc -d -k 0123456789ABCDEF0123456789ABCDEF -in 20160114XXXXXX_SN0000_XXXXXXXXXXXX.data -out 222.txt
cat 222.txt可以查看

默认nvram配置包括ftp账号密码在/lib/libshared.so里面


初始化后保存在nvram里面
# nvram show | grep ftp
size: 12081 bytes (20687 left)
upload_ftp_server=soho.wifibase.ftp.phicomm.com
upload_ftp_user=ftpuser
alg_tftp_enable=1
upload_ftp_passwd=feixun*123
alg_ftp_enable=1




关闭cathpkt
killall cathpkt
删除cathpkt
rm /bin/cathpkt
卸载模块
rmmod /lib/modules/cathpkt.ko

这样可以临时关闭,但是系统采用的ramfs,重启就会恢复


暂时解决方法:
把nvram配置里的服务器、账号、密码改成错误或不存在的
nvram set upload_ftp_server=xxx.com
nvram set upload_ftp_user=xxx
nvram set upload_ftp_passwd=xxx
保存
nvram commit








本帖子中包含更多资源

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

x

点评

过程完整复现。解决方案的确是这样。但是对于会配置的人来说。肯定不使用原厂固件。其实这个漏洞(backdoor)就是针对小白的。总而言之,anywlan很久没看到这么技术的回复了。支持!  发表于 2016-2-10 21:44

评分

2

查看全部评分

22

回帖

164

积分

103 小时

在线时间

上等兵

注册时间
2015-12-13
金币
124 个
威望
1 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2016-2-9 23:31
我拿来就刷潘多拉用

39

回帖

972

积分

331 小时

在线时间

中尉

注册时间
2014-1-10
金币
876 个
威望
2 个
荣誉
1 个
累计签到:56 天
连续签到:0 天
[LV.100]试剑无线
发表于 2016-2-9 23:32
我想买这货的基本都刷了

278

回帖

3568

积分

657 小时

在线时间

少校

注册时间
2011-6-28
金币
3167 个
威望
2 个
荣誉
0 个
累计签到:301 天
连续签到:0 天
[LV.365]无线熟人
发表于 2016-2-9 23:32
论坛上买来多是为了刷别的固件吧

104

回帖

895

积分

231 小时

在线时间

中尉

注册时间
2013-4-14
金币
761 个
威望
1 个
荣誉
0 个
累计签到:47 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-2-9 23:41
budong11 发表于 2016-2-9 23:31
我拿来就刷潘多拉用

我个人的建议是。如果没有硬改或者多拨。Pandavan比较好。
God is in his heaven, all's right with the world。

104

回帖

895

积分

231 小时

在线时间

中尉

注册时间
2013-4-14
金币
761 个
威望
1 个
荣誉
0 个
累计签到:47 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-2-9 23:41
WQH2012 发表于 2016-2-9 23:32
论坛上买来多是为了刷别的固件吧

是的。但是有很多人使用原厂固件。他们不折腾,图免费去的。而且原厂有APP
God is in his heaven, all's right with the world。

104

回帖

895

积分

231 小时

在线时间

中尉

注册时间
2013-4-14
金币
761 个
威望
1 个
荣誉
0 个
累计签到:47 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-2-9 23:42
折枫翼扬 发表于 2016-2-9 23:32
我想买这货的基本都刷了

倒不是。有很多小白没有刷。他们只是普通使用而已。
God is in his heaven, all's right with the world。

12

回帖

161

积分

70 小时

在线时间

上等兵

注册时间
2016-1-13
金币
135 个
威望
1 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2016-2-10 00:05
还好刷了

503

回帖

5967

积分

489 小时

在线时间

中校

凡所有相,皆是虚妄. 若见诸相非相,则见如来.

注册时间
2015-12-13
金币
5358 个
威望
6 个
荣誉
1 个
累计签到:302 天
连续签到:0 天
[LV.365]无线熟人
发表于 2016-2-10 00:14
我靠   我没刷      这路由竟然来我家里钓鱼来了

104

回帖

895

积分

231 小时

在线时间

中尉

注册时间
2013-4-14
金币
761 个
威望
1 个
荣誉
0 个
累计签到:47 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-2-10 00:36
thxz50 发表于 2016-2-10 00:14
我靠   我没刷      这路由竟然来我家里钓鱼来了

233333中枪一个
God is in his heaven, all's right with the world。

517

回帖

1579

积分

607 小时

在线时间

上尉

注册时间
2013-10-1
金币
950 个
威望
1 个
荣誉
0 个
累计签到:160 天
连续签到:0 天
[LV.200]无线新星
发表于 2016-2-10 00:36
买来就刷了!

264

回帖

1297

积分

281 小时

在线时间

上尉

注册时间
2015-6-11
金币
999 个
威望
0 个
荣誉
0 个
累计签到:36 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-2-10 01:37
这年头,能联网的设备差不多都回传用户信息,见怪不怪了。

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2025-2-8 12:09

返回顶部 返回列表