Buffalo WCR-GN路由器诊断功能命令注入漏洞
时间:2022-09-11 14:30:00
1.注入点的发现:
在探索路由器的诊断功能时,它与实践相关联DVWA 命令注入靶场。如果用户输入验证不足,这种调用操作系统命令实现的功能很容易引入命名注入开始了。
1.通过命令注入常规思路 ; 拼接命令。
2.因为后端只采用正则匹配的方式回显ping因此,用户无法返回显示的有效信息。
3.联想Time Base盲注思维,采用延迟的方式,确定注入点的存在。
2.漏洞利用:
难点1: busybox功能裁剪:
反弹shell 最常用的nc没有命令。幸运的是,有一个更有用的wget.
难点2: 只读文件系统/www不能写路径
# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs rw 0 0
proc /proc proc rw 0 0
none /var ramfs rw 0 0
none /tmp ramfs rw 0 0
none /media ramfs rw 0 0
none /dev/pts devpts rw 0 0
/dev/mtdblock5 /etc/config jffs2 rw 0 0
none /var ramfs rw 0 0
none /tmp ramfs rw 0 0
none /media ramfs rw 0 0
由于squashfs 仅读文件系统的原因,/www web UI不能写在路径下web shell。
解决办法:
通过现有注入命令busybox 残留的wget命令,向/tmp完全上传到路径下busybox,再利用其nc命令实现 getshell
注入命令,上传完整版本busybox:
https://busybox.net/downloads/binaries/1.21.1/
如上图所示,注入wget命令下载完整版本的路由器busybox,然后什么都可以做(web服务是root开户)。
接下来nc反弹shell,整个路由器都是你的。
3.总结:
1.渗透测试或者探索性测试时,望、问、听、窃打开五观来感知被测对象的一些反馈(ping判断注入点)。
2.渗透测试或探索性测试时,要善于将被测对象的不可见性转化为可见性(nc反弹)。
3.善于一点及面逐步扩大战果(上传完整版busybox,扩大漏洞影响面)。