32764端口后门重出江湖,影响多款路由器
在年初的时候已经发布关于秘密后门——“TCP 32764”的报道,利用该后门漏洞,未授权的攻击者可以通过该端口访问设备,以管理员权限在受影响设备上执行设置内置操作系统指令,进而取得设备的控制权。许多我们耳熟能详的路由器纷纷“躺枪”,诸如Linksys、Netgear、Cisco和Diamond。
该后门发现者是一位来自法国的逆向工程师,叫Eloi Vanderbeken。他表明在最新的固件版本升级中已经修补了这一漏洞,但是这不妨碍SerComm以其他方式再次添加了相同的后门。
为了验证研究所谓的最新发布的补丁,Vanderbeken下载了Netgear DGN100的固件补丁1.1.0.55版本,并通过binwalk这一后门分析工具对其进行了分析。然后他发现之前后门包含的scfgmgr文件依然存在,只是限制本地进程间的通信(Unix domain socket)和同一个设备上的进程。
之后通过逆向工程对二进制文件进一步调查分析,他发现了另一款叫做“ft_tool”的神秘工具,通过它可以重新激活TCP后门。
在他的报告中解释,“ft_tool”实际打开一个原始套接字,通过侦听传入的数据包,从而使本地网络可以发送下列特别的数据包激活tcp端口32764。
以太类型参数应等于'0 x8888'。有效载荷应该包含DGN1000的MD5值(45d1bb339b07a6618b2114dbc0d7783e)。该数据包类型
应该是0x201。
报告文件:
http://static.3001.net/upload/20140522/14006932091296.rar
所以如果你使用的是SerComm路由器,尽管你已经更新了最新版本,很不幸的是攻击者仍然可以通过shell命令重新激活TCP 32764后门。
当然你或学会问,为啥子这些路由器制造厂商会如此“恬不知耻”地一而再再而三的添加内置后门呢。这期间曲折或许是因为隐藏在这些厂商后面的那只“无形”的手——NSA.
就目前而言还没有发现针对此类后门的最新补丁,如果你想检查自己的路由器是否躺枪,可以点击下方“阅读原文”参照源代码。
或者按照下面步骤进行检查:
1.使用“binwalk -e”提取系统文件
2.检索“ft_tool”或scfgmgr文件
3.通过IDA反汇编进行确认
原文地址
http://thehackernews.com/2014/04/router-manufacturers-secretly-added-tcp.html
- 快速完成(图片旋转,查看原图)
- Jsp中格式化时间戳的常用标签
- 反射+自定义注解---实现Excel数据列属性和JavaBean属性的自动映射
- 后台模板管理系统___左侧菜单数据的异步加载
- Shiro眼皮下玩ajax,玩出302 Found
- 对于JSONObject,我只是临时抱佛脚
- 总结切面编程AOP的注解式开发和XML式开发
- SpringMVC注解@RequestMapping之produces属性导致的406错误
- SpringBoot集成MyBatis的分页插件PageHelper(回头草)
- SpringBoot整合Mybatis之进门篇
- Tomcat和Java Virtual Machine的性能调优总结
- 一次浴火重生的MySQL优化(EXPLAIN命令详解)
- 简单聊聊不可或缺的Nginx反向代理服务器--实现负载均衡【上篇】
- Java设计模式之适配器设计模式(项目升级案例)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 解决Pytorch自定义层出现多Variable共享内存错误问题
- PHP观察者模式定义与用法实例分析
- ThinkPHP5.1表单令牌Token失效问题的解决
- PHP设计模式之工厂模式(Factory Pattern)的讲解
- keras K.function获取某层的输出操作
- 浅谈sklearn中predict与predict_proba区别
- 解决Keras中循环使用K.ctc_decode内存不释放的问题
- PDO::getAvailableDrivers讲解
- PDO::_construct讲解
- Yii2.0实现的批量更新及批量插入功能示例
- PDO::inTransaction讲解
- 小程序前后端交互使用JWT
- python文件操作seek()偏移量,读取指正到指定位置操作
- 使用OpenCV去除面积较小的连通域
- 使用vs code编辑调试php配置的方法