文章之前先来谈一谈几个基础问题。
什么是Telnet特征?大多数暴露在互联网上的硬件设备都具备Telnet远程登录管理的功能,我们在尝试登录的时候通常会接收到来自硬件设备返回的一些欢迎信息。这些欢迎信息通常包含了厂商的公司名称、版本等信息,便于区分和辨别。这些欢迎信息往往是不一样的,但并不是唯一的,因为这些欢迎信息一般是可以自行修改的,你可以修改成任意你想显示的文字。对于这些信息你可以将它称之为特征。
这些特征有什么用呢?
很有用,我们知道,硬件厂商在生产硬件的时候都是批量OEM,往往导致大批量的设备都使用了同一个欢迎信息,这对于我们有效识别通用设备是很有帮助的。一旦发现通用漏洞,那么,利用Telnet特征批量获取权限是非常可行的。
有没有什么案例?
当然有,博主曾经在乌云上发过几个典型案例,这里把链接发出来,有兴趣的朋友可以参考下。
案例一:http://wooyun.org/bugs/wooyun-2015-0144850
案例二:http://wooyun.org/bugs/wooyun-2015-0155584
案例三:http://wooyun.org/bugs/wooyun-2015-0156063
其实案例远远不止这些,通过一段时间的扫描,发现了更多大批量的通用设备存在默认口令的问题,不仅仅是国内设备,国外设备也有很多。比如新加坡电信使用的某款网络基础设备也存在同样问题,数量惊人。
这些发现都是基于本文所描述的特征库,那么如何快速构建一个有效的特征库呢?
博主在这里只描述一些做法,具体代码如何实现,这个朋友们可以根据自己的需要选择合适的语言开发。
首先需要一个程序能够扫描IP段,并且获取telnet返回的欢迎信息,然后将获取到的字符串保存到数据库,根据获取到的字符串生成对应的MD5便于识别。这样我们的Telnet特征库就构建好了,是不是很简单?
如何使用呢?
假设我们经过了一个月的IP段扫描,特征库已经存储了相当多的特征MD5,我们将MD5进行Group BY 分组,然后排序后得到一个数量的排序,这样我们很清楚的看到哪些设备使用率最高,当然,这并没有什么卵用。我们将特征库整理成MD5唯一的库,对外提供MD5接口,当客户端进行查询的时候只需要向接口传递MD5值进行查询即可,接口返回设备的型号以及可能存在的漏洞和利用方法。
关于设备对应的漏洞从哪里来,这个就要靠朋友们自行收集和发现了,这里不做讨论。
最后上一张截图,博主自己构造的特征库扫描截图
!!! 转载请先联系non3gov@gmail.com授权并在显著位置注明作者和原文链接 !!! 小黑屋
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。