最近项目有点紧,所以本应该上周发的文章,拖到了本周三,在此说声抱歉。无线安全专题,我打算系统地写六个部分,分别为破解篇,攻击篇,欺骗篇,路由篇,移动篇和蓝牙篇,当然在发布的过程中,可能还会掺杂着发布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. HTML中的下拉列表 select

    HTML中的下拉列表: <select> <option value ="1">Volvo</option> <option value ...

  2. java学习第三天

    关于上次的数据转换,如果定义的是 short 是,那么s=s+1,这样是错误的,会损失精度,但如果是s+=1.确实正确的,因为它包含了一个强制转化在里面.相当于 s=(int)(s+1);  然后特地 ...

  3. java三大框架之一hibernate使用入门

    综述:Hibernate的作用就是让实体类与数据库映射,使数据持久化,用于替代JDBC,使我们不致于写那么多sql语句代码. 1. 首先在官网www.hibernate.org下载hibernate包 ...

  4. java assert

    一.语法形式: Java2在1.4中新增了一个关键字:assert.在程序开发过程中使用它创建一个断言(assertion),它的 语法形式有如下所示的两种形式: 1.assert condition ...

  5. MC的一些具体的应用的例子的总结

    任何东西,都有其适用的场景,在合适的场景下,才能发挥好更大的作用. 对于memcached,使用内存来存取数据,一般情况下,速度比直接从数据库和文件系统读取要快的多. memcached的最常用的场景 ...

  6. empty isset array_key_exists 的区别

    empty: 参数为0或为NULL时(如上面列子),empty均返回TRUE,详细情况可以参见empty官方手册 isset: 参数为NULL时,返回FALSE,0与NULL在PHP中是有区别的,is ...

  7. MySQL_杭州11月销售昨日未上架的SKU_20161212

    #C034杭州11月销售昨日未上架的SKU SELECT 城市,a.订单日期,a.客户数,a.订单数,b.产品数,a.金额,c.销售确认额,c.毛利额,c.毛利率 FROM ( SELECT 城市,订 ...

  8. 关于64位windows2003 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 的问题

    我了个去啊! 在自己机器上测试通过的excel导入功能在客户服务器上死活都不好用,查了半天后来发现客户服务器是64位的win2003!! try catch捕捉问题为:未在本地计算机上注册“Micro ...

  9. [翻译]Shape comparison language

        link: http://www.cnblogs.com/yhlx125/p/3635623.html   Shape comparison language 首先说说我遇到的一个问题: IR ...

  10. 8.Mybatis的延迟加载

    在Mybatis中的延迟加载只有resultMap可以实现,ResultMap 可以实现高级映射(association,collection可以实现一对1和一对多的映射),他们具有延迟加载的功能,r ...