最近项目有点紧,所以本应该上周发的文章,拖到了本周三,在此说声抱歉。无线安全专题,我打算系统地写六个部分,分别为破解篇,攻击篇,欺骗篇,路由篇,移动篇和蓝牙篇,当然在发布的过程中,可能还会掺杂着发布flask的教程,分享我的个人博客框架。(我的新书《Python爬虫开发与项目实战》出版了,大家可以看一下样章

​ 上一篇咱们说到了破解篇的第一课:kali破解WPA,今天我们要说的是通过破解pin码,来获取开启wps功能的wifi密码。

  路由器开启wps功能后,会随机生成一个8位的pin码,通过暴力枚举pin码,达到破解的目的,尤其现在很多路由器默认开启了wps功能。大家可能会想到8位的随机pin码将会有100000000种情况,这要pin到何年何月呀。。。。。。不过接下来讲解一下原理,大家会发现其实没多少种情况,这也是这种攻击方式比较流行的原因。

   1.pin码破解的原理:

  pin码是由8位纯数字组成的识别码,pin码破解是分三部分进行的,规律是这样的:pin码分为三部分,如图:

  

  

  前4位为第一部分,第5-7位为第二部分,最后1位为第三部分。第一部分的验证跟第二部分没关联,最后1位是根据第二部分计算得出的校验码。

  破解一开始是先单独对第一部分进行pin码匹配,也就是说先破解前4位pin码。前4位是0000-9999总共10000个组合。

  当前4位pin码确定后再对第二部分进行pin码匹配,也就是再对5-7位进行破解,5-7位是000-999总共1000个组合。

  当前7位都确定后,最后1位也会自动得出,破解完成。

  根据pin码破解的原理,可以看到只需要枚举11000种情况就会必然破解出pin码,从而通过pin得到wifi密码。

  2.PIN码爆破:

  讲解明白原理,接下来开始使用工具爆破pin码,无线专题我们都是基于kali2.0的操作系统,无线网卡采用的是WN722N。

  爆破pin码的前提是路由器开启了WPS功能,首先咱们要做的是发现发现开启WPS功能的wifi。

  将网卡切换到监听模式: airmon-ng start wlan1,如果监听模式切换失败,请看第一篇的内容。

  

  在命令行中输入:wash -i wlan1,扫描开启wps的wifi设备。WPS Locked为No的都可以爆破试试。

  找到了开启WPS的wifi,接下来咱们就可以进行pin码爆破,下面主要说一下reaver工具。

reaver 命令:

          reaver -i mon0 -b mac -S -v

reaver命令参数:

  • -i 监听后接口名称
  • -b 目标mac地址
  • -a 自动检测目标AP最佳配置
  • -S 使用最小的DH key(可以提高PJ速度)
  • -vv 显示更多的非严重警告
  • -d  即delay每穷举一次的闲置时间 预设为1秒
  • -t  即timeout每次穷举等待反馈的最长时间
  • -c  指定频道可以方便找到信号,如-c1 指定1频道

示例:  

  reaver -i mon0 -b MAC -a -S –d9 –t9 -vv)
  应因状况调整参数(-c后面都已目标频道为1作为例子)
  目标信号非常好: reaver -i mon0 -b MAC -a -S -vv -d0 -c 1
  目标信号普通: reaver -i mon0 -b MAC -a -S -vv -d2 -t 5 -c 1
  目标信号一般: reaver -i mon0 -b MAC -a -S -vv -d5 -c 1

   选择之前扫描出来的开启WPS的wifi,选择一个进行破解。

  输入:reaver -i wlan1 -b 54:E6:FC:35:C5:82 -S -N -vv -c 4

  在穷举的过程中,reaver会生成以路由mac地址为名的wpc文件,这个文件在kali系统中/etc/reaver/文件夹下。

  一时半会pin不出来,过段时间pin的时候命令加参数 -s file.wpc,就会根据之前的进度继续pin。

  3.注意点:

  1.一般reaver 前四位默认是从0开始,如果想从指定的数值开始爆破需要添加-p参数:-p 9000,这个意思就是从9000开始,只要不pin死路由器,可以多开几个窗口,从不同的数值开始。

  2.最后pin完最后会显示WPS PIN(正确的pin码)和WPA PSK(wifi密码),同时如果WPS功能没关,pin码没修改,无论怎样修改密码,都可以通过pin码获取wifi密码: reaver -i mon0 -b mac -p pin码,来再次得到密码

  3.一般pin的过快,会把路由器pin死,所以一般还会加上-d5 -t5参数,添加5秒延时,当然数值可以自己改。

  4.防范措施:

  1.WPS功能对个人基本上没啥作用,还是关了吧。

  2.现在的路由一般会有防pin措施,例如会有300秒pin限制,但这个是伪防pin,作用不是很大。它设置时间间隔,正好防止我们把路由器pin死。所以还是把WPS功能关了,不要过分相信防pin措施,毕竟只有11000种情况,早晚会破解。

今天的分享就到这里,下一篇继续分析。如果大家觉得还可以呀,记得推荐呦。
 欢迎大家支持我公众号: 
本文章属于原创作品,欢迎大家转载分享。尊重原创,转载请注明来自:七夜的故事 http://www.cnblogs.com/qiyeboy/
 
 

无线安全专题_破解篇02--kali破解pin码的更多相关文章

  1. 无线安全专题_攻击篇--MAC泛洪攻击

    上一篇讲解了无线安全专题_攻击篇--干扰通信,没在首页待多长时间就被拿下了,看来之后不能只是讲解攻击实战,还要进行技术原理和防御方法的讲解.本篇讲解的是局域网内的MAC泛洪攻击,这种攻击方式主要目的是 ...

  2. DVWA Brute Force:暴力破解篇

    DVWA Brute Force:暴力破解篇 前言 暴力破解是破解用户名密码的常用手段,主要是利用信息搜集得到有用信息来构造有针对性的弱口令字典,对网站进行爆破,以获取到用户的账号信息,有可能利用其权 ...

  3. 无线安全专题01--kali破解WPA

    最近一直用flask写自己的博客框架,等过段时间才能将其分享出来,所以在此期间决定开个无线安全的专题,分享一些无线安全方面的知识. 好了,废话不多说,咱们进入今天的主题,使用kali linux上的无 ...

  4. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

  5. 跑PIN码破解无线网络WIFI密码的原理分析(转)

    你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网? 想要了解这些,必须要了解加密以及破解原理. 工具/原料 电脑 足够多足够好的wifi信号源 usb无线网卡(非必需) 一 ...

  6. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

    Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...

  7. OD调试篇3-小软件破解1

    OD调试篇3-小软件破解1 要求如下图该软件需要改5个地方,其中1.2是软件未注册而设定限定的添加个数,3.4.5是软件显示的一些未注册的信息. 一. 1.按1运行程序,添加用户添加第五个时出现提示, ...

  8. # Do—Now——团队冲刺博客_总结篇

    Do-Now--团队冲刺博客_总结篇 目录 博客链接 作者 1. 第一篇(领航篇) @仇夏 2. 第二篇 @侯泽洋 3. 第三篇 @仇夏 4. 第四篇 @周亚杰 5. 第五篇 @唐才铭 6. 第六篇 ...

  9. 利用kali破解wifi密码

    准备工具 1.笔记本 2.USB无线上网卡(必备) 3.kali系统 4.密码字典 第一种方法 暴力破解法 何为暴力破解呢,其实就是一个一个密码去试,直到正确的密码. 现在的wifi一般加密都是: 1 ...

随机推荐

  1. VMware 中windows server 之DHCP 搭建与测试

    感悟: 由于打算将windows server 的服务器搭建维护从头重新学习总结一下,遇到搭建dhcp服务的时候,在虚拟机中一直测试不成功,耽误我好几星期了,一点也不夸张,心情和积极性也大大受到打击. ...

  2. 生成API文档的软件

    SandCastle:http://shfb.codeplex.com/SourceControl/latest#1952439 HTML Help:http://msdn.microsoft.com ...

  3. Ubuntu上安装MongoDB(译)

    add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...

  4. 【转载】Java常量池

    本篇随笔为转载,原贴地址:Java常量池理解与总结. (其实Java的常量池有点像C++中的存储字符串常量的常量存储区). 一.相关概念 什么是常量用final修饰的成员变量表示常量,值一旦给定就无法 ...

  5. oracle中SQL根据生日日期查询年龄的方法

    方法:SELECT Trunc(MONTHS_BETWEEN(SYSDATE,BIRTH_DATE)/12) FROM 某表 Trunc函数在这里对带有小数位数的数字取整数部分: SYSDATE为or ...

  6. 分享一个TP5实现Create()方法的心得

    在TP5中发现用不了以前3.X的Create()方法,虽然用input更严谨,但是字段比较多的话还是有些不艺术的3.X中的实现方法如下: $Model = D('User'); $Model-> ...

  7. 离线安装VS 2013开发工具的方法!

    目前微软已正式发布了VS 2013的开发工具,但安装VS 2013开发工具前必须安装或升级到IE10,否则无法进行安装.本文主要介绍在Windows Server 2008 R2 SP1下离线安装IE ...

  8. 种类并查集(POJ 1703)

    1703 -- Find them, Catch them http://poj.org/problem?id=1703 题目大意:有2个敌对帮派,输入D a b表示a,b在不同帮派,输入A a b表 ...

  9. HashSet中的元素必须重写equals方法和hashCode方法

    http://jingyan.baidu.com/article/d5a880eb8fb61d13f147cc99.html 1.为什么必须重写这两个方法. 2.什么事hashSet去重,符合什么样的 ...

  10. 循序渐进Python3(三) -- 0 -- 初识函数

    函数 如果我们要计算一个圆的面积,就需要知道它的半径,然后根据公式S=3.14*r*r算出它的面积,如果我们要算100个圆的面积,则每次我们都需要写公式去计算,是不是很麻烦,但是有了函数的话,我们就不 ...