telnet 工具
FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
物联网设备Telnet口令快速扫描工具 scu-igroup2017-03-12现金奖励共678204人围观 ,发现 35 个不明物体 工具
* 原创作者:scu-igroup,本文属FreeBuf原创奖励计划,未经许可禁止转载
随着物联网设备越来越普及,大部分物联网设备接入公网但却缺乏有效管理,因此希望能够快速获取物公网上联网设备的相关信息,但是在实验环境下,几台计算机使用传统的链接方式去扫描设备效率太低,为了能够达到这个目的,本文介绍了一个多线程telnet快速扫描器,可以快速地实现telnet物联网设备的密码扫描,并将扫描结果存入库中。
总体架构
从
1.数据输出/syn泛洪发包,可配置扫描信息
2.信息收集及处理/数据嗅探及过滤
3.多线程scanner/多线程通信
4.命令交互状态机/状态机实现,交互过程
5.数据输出/数据入库
数据探测
Xml文件配置
程序使用xml格式配置读取待扫描的ip地址段信息
xml.png
写成xml的主要一开始是因为要扫描一个固定地域的ip地址段,正好使用python可以很方便的解析网页上的内容,所以就将网络上的ip段信息处理成xml格式,方便以后读取。
过程中使用的是xrange生成器,主要是怕生成的ip地址过大,占用过多内存。
syn泛洪
为了加快扫描速度,避免等待无用链接,使用scapy从第三层开始构造syn端口探测包并从特定的端口(例如:2222)大量发送出去,采用先回应先处理的原则,极大的缩短了扫描时间。
syn.png
使用scapy可以很方便的构造数据包,如上图,大量的构造syn数据包。使用scapy的时候注意需要root权限,同时需要注意当前工作目录下的文件名,有可能因为文件名的原因导致scapy无法正常工作。
信息收集
Sniffer
调用scapy中的sniff函数监听数据包,使用bpf过滤规则,过滤特定端口(port:2222),ack响应的数据包,并将数据包的来源ip存入一个FIFO队列(队列默认大小为:100),这是为了避免当收到服务器端的重传ack包,导致处理该ip多次造成效率上的浪费
sniffer.png
Queue才是真正的产出队列,而ip_prompt_queue只是为了避免重复探测同一个的一个先进先出队列,如果ip在FIFO队列当中,则代表该ip已经被探测过了直接略过。
由于sniffer线程是阻塞监听不会退出的所以在一开始将这个线程设置为daemon线程,当没有其他线程时,程序退出,而不会阻塞在sniffer。
sni_th.png
多线程
采用消费-生产的多线程工作模式,使用spewr线程向外泛洪syn数据包,使用sniffer线程监听并分析数据包,使用多个scanner<线程来并行处理扫描到的ip地址。
thread.png
使用一个线程标志位exitFlag来通知线程退出,spewer线程结束发包之后会将exitFlag置1,这时主线程将会循环检测接收数据包的最后时间,如果在30秒内没有监听到数据包,则判断探测过程已经完成没有后续的产出了同时将exitFlag置2,scanner线程将会检查queue当中是否有数据,如果没有数据且exitFlag等于2或3,则表示没有破解目标线程开始退出,同时将exitFlag置3,通知主线程开始退出。
命令交互状态机
为了避免逻辑的单一造成的漏扫之类的实例发生,放弃了使用单一的if-else 或者while-which的逻辑结构,进而采用有限状态机的编程方法,实现对telnet协议更好的交互,交互过程中scanner将会从一个优先级队列当中取出硬编码的用户名-密码对,来对设备进行暴力破解
connection.png
持有状态机的父类
con_state.png
使用pexpect开始数据交互
数据输出
使用MySQL数据库,将成功探测得到的结果存入数据库,存入数据库之前还将添加ip归属地等信息
mysql.png
使用mysql.sql脚本,创建数据库及数据表,注意由于使用了归属地等中文信息,因此建库和建表的时候要设置好响应的字符集才不会导致乱码。设置ip的UNIQUE键,避免重复表项。
使用方法
1.操作环境linux
2.使用apt-get或者yum安装mysql数据库
3.下载pip安装程序(https://pypi.python.org/pypi/pip),按照说明安装
4.使用pip命令安装pexpect,MySQL-python,17monip,scapy等(如:pip install pexpect)
5.进入mysql数据库,source */mysql.sql 执行脚本创建数据库和数据表
6.使用 python scanner.py 10 运行程序
项目代码:https://github.com/scu-igroup/telnet-scanner
下图是扫描的结果图:
result.png
* 原创作者:scu-igroup,本文属FreeBuf原创奖励计划,未经许可禁止转载
scu-igroup
scu-igroup
14 篇文章
等级: 5级
||
上一篇:如何手写一款SQL injection tool?下一篇:批量Struts S2-045漏洞检测及利用
这些评论亮了
Da明星 (1级)回复
报错如下:
Traceback (most recent call last):
File "scanner.py", line 204, in
controlP()
File "scanner.py", line 81, in controlP
spewer_thread = spewer("ip.xml")
File "scanner.py", line 144, in __init__
self.ip_pair = read_ip(filename)
File "scanner.py", line 67, in read_ip
ip_map.append(xrange(ip2num(x[0]),ip2num(x[1]) + 1))
OverflowError: Python int too large to convert to C long
)15(亮了
发表评论已有 35 条评论
1455018613 (4级) 1455018613 2017-03-12回复 1楼
老哥稳啊!!!
亮了(4)
地狱 (1级) 2017-03-12回复 2楼
conn.child = pexpect.spawn("telnet %s" % conn.ip)
亮了(4)
地狱 (1级) 2017-03-12回复 3楼
conn.child = pexpect.spawn("telnet %s" % conn.ip)
如果不是开一个进程就更完美了
亮了(3)
scu-igroup (5级) 2017-03-12回复
:) ,谢谢你的建议~
亮了(3)
程序嗷呜汪 2017-03-12回复 4楼
mark
亮了(3)
softbug 认证作者专栏作者(7级) i am here! 2017-03-12回复 5楼
python教程编写
亮了(3)
睡着的时光 2017-03-12回复 6楼
很多设备都在nat后吧,这个扫不到吧。。。
亮了(3)
scu-igroup (5级) 2017-03-12回复
对,扫不到的,不过只针对公网IP扫,也能扫出许多来了~
亮了(3)
ZMOM1031 2017-03-12回复 7楼
你的思维还是老的 Web 安全的思维,所以你看不到,想不到其他的。著名的 Stuxnet 攻击的是 PLC,只不过 PLC 不连接互联网,而 IoT 设备是连接互联网的,其破坏效果会放大 N 倍。
亮了(3)
ZMOM1031 (3级) 2017-03-12回复
@ ZMOM1031 不是说楼主哦,只是微博回复其他人。
亮了(3)
scu-igroup (5级) 2017-03-12回复
@ ZMOM1031 嗯,PLC少部分也有联网的,可以去shodan上看看(不排除部分是蜜罐的情况);不过,趁现在这些IoT设备安全性还不太高的时候,可以扫来看看~
亮了(2)
LclMichael 2017-03-12回复 8楼
我有时候也想不明白,后来觉得,是为用户着想,以后更换加密策略的时候方便点,直接跑一遍数据就行了?
亮了(2)
vsyfar 2017-03-12回复 9楼
android security每月都有更新,紧接着的android things同样如此,有大哥铺好了路安全性肯定很高。每年那么多cve漏洞,国内一些基于Linux的iot产品能跟进几个?怕是拿2.6.35的内核porting下,写个程序就开卖了吧[二哈]
亮了(3)
小臭LQ 2017-03-12回复 10楼
一直想不明白为啥要存明文密码?
亮了(2)
夜尽天明 (6级) 千秋邈矣独留我,百战归来再读书 2017-03-12回复 11楼
扫描还需要用到数据库。。。不能把结果存到文本里面么
亮了(2)
scu-igroup (5级) 2017-03-12回复
@ 夜尽天明 文本当然直接方便,存入数据库是为了方便管理
亮了(3)
hailinzeng 2017-03-12回复 12楼
无人机劫持算不?
亮了(2)
许石南 2017-03-12回复 13楼
一直觉得安全都是伪需求
亮了(3)
星空111 (3级) 未知攻焉知防---独孤九剑 2018-08-18回复
@ 许石南 为什么这么讲呢?怎么是伪需要呢?
亮了(0)
罗卡角de守望者 2017-03-12回复 14楼
我有点不太明白为啥扫IOT设备还需要专门的工具。。跟扫主机的有区别咩? //:大家回复了很多,但是并没有说服我。 //:我一直觉得IoT安全搞回去了……除了弱密码、cgi命令执行,似乎比较少见到别的漏洞。还有手机安全业务,我甚至认为是伪需求。
亮了(2)
RevengeRangers 2017-03-12回复 15楼
同感
亮了(2)
安全_云舒 2017-03-12回复 16楼
大家回复了很多,但是并没有说服我。 我一直觉得IoT安全搞回去了……除了弱密码、cgi命令执行,似乎比较少见到别的漏洞。还有手机安全业务,我甚至认为是伪需求。
亮了(3)
scu-igroup (5级) 2017-03-12回复
@ 安全_云舒 IOT设备有它自身的特点,我觉得也不是回去了,只是基于它的特点呈现出的不同态势;而安全也确实是刚需,不过也确实存在对安全的造势上用力过度的情况~
亮了(3)
乡儒以墨 2017-03-12回复 17楼
IoT未来是自安全的,肯定比互联网安全
亮了(2)
岂克文 2017-03-13回复 18楼
关键是没有安全标准,结果就是大家想怎么搞就怎么搞,密码你想设计成几位就是几位,你想明文存储就明文存储,没有标准可依,然后自然你有想不到的各种各样的漏洞出现,互联网业界就是从一片蛮浑之中发展,你再看看金融业,数字签名法标准,通信业2g、3g……从开始一直都有安全的标准设计
亮了(2)
scu-igroup (5级) 2017-03-13回复
@ 岂克文 赞, :)
亮了(2)
孤风暮远 2017-03-13回复 19楼
因为对他们的研发团队来说,业务功能是第一位的,安全是什么鬼。。。业务第一,利润第一
亮了(3)
常运 专栏作者(6级) c4td0g, 信安从业者,信安爱好者。(各位爷,轻点喷),... 2017-03-13回复 20楼
将网卡设置为混杂模式:
Linux下命令: ifconfig eth0 promisc
这是什么科学道理? :?:
亮了(3)
scu-igroup (5级) 2017-03-13回复
@ 常运 这只是举个例子~
亮了(2)
卖瓜的笨小孩 2017-03-13回复 21楼
对我来说这个工具挺好,感谢
亮了(2)
scu-igroup (5级) 2017-03-13回复
@ 卖瓜的笨小孩 谢谢支持~
亮了(3)
Micy_Q 2017-03-14回复 22楼
[白眼][白眼][白眼][白眼]
亮了(2)
Da明星 (1级) 2017-03-20回复 23楼
报错如下:
Traceback (most recent call last):
File "scanner.py", line 204, in
controlP()
File "scanner.py", line 81, in controlP
spewer_thread = spewer("ip.xml")
File "scanner.py", line 144, in __init__
self.ip_pair = read_ip(filename)
File "scanner.py", line 67, in read_ip
ip_map.append(xrange(ip2num(x[0]),ip2num(x[1]) + 1))
OverflowError: Python int too large to convert to C long
亮了(15)
bjdongzl (1级) 2017-08-31回复 24楼
有报错,请教,QQ:275945084
亮了(2)
死宅10086 (7级) 2018-01-11回复 25楼
:sad:
亮了(1)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我
scu-igroup
scu-igroup
这家伙太懒,还未填写个人描述!
14
文章数
37
评论数
最近文章
物联网设备固件分析之小试牛刀
2018.11.02
小米智能家居设备流量分析及脚本控制
2018.08.29
老题新招 | 再解Vxworks加密漏洞
2018.07.19
浏览更多
相关阅读
物联网设备已沦陷,咖啡机也不能例外技术分享:如何扫描统计全国Telnet默认口令奇葩!赌场可通过互联网连接鱼缸温度计获取数据使用OpenBTS基站测试物联网模块安全性卡巴斯基:2018上半年物联网威胁新趋势
特别推荐
关注我们 分享每日精选文章
活动预告
11月
FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月
【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月
【首节课仅需1元】挖掘CVE不是梦
已结束
9月
【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php 正在加载中...0daybank
文章评论