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

你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网?
想要了解这些,必须要了解加密以及破解原理。
工具/原料

  • 电脑
  • 足够多足够好的wifi信号源
  • usb无线网卡(非必需)
  • 一点点耐心
基础知识
  1. 1 普通无线加密及破解的分类:
    1、wep加密:此类加密比较老旧,非常不安全,十分容易被破解,现在的无线路由器已经抛弃了此类加密方式。
    2、PWA/WPA2 PSK加密。这类加密按道理来说是很安全的,但是由于很多路由器为了方便用户上网,设置了QSS快速连接功能(或者叫WPS功能)。今天的重点就是在这里。
    END
破解方法
  1. 1 wep信号的破解
    这类加密非常不安全,如果你家路由器用的这种加密方式,请立即更换。
    破解WEP加密的无线信号,依赖两个因素。
    第一、信号强度
    第二、是否有在线客户端
  2. 2 【python|跑PIN码破解无线网络WIFI密码的原理分析(转)】如果信号强,也有客户端在线,通过wep破解工具,十分钟的事情。这类破解是通过抓包,注入,然后获取密码,只要有这类信号,100%可以破。
    工具自己找,wifite,minidwep
    这两个工具都是Linux下的,但是这不是今天的重点,需要的可以根据后面的教程灵活运用。
  3. 3 破解WPA加密的wifi信号。
    WPA信号分两种,一种是早期的,没有WPS功能,另外一种是2012年以前的路由器,支持WPS功能,及QSS功能。
    看看你家路由器背后,是否有QSS标记,如果有,就要小心了。
  4. 4 WPA的wifi密码破解分两种方法,一种是传说中的抓包,一种是跑Pin码。
  5. 5 破解要用到的工具:
    1、Linux环境(推荐使用CDLinux,下载地址自己搜索,小巧,方便,集成工具多)
    2、外置无线网卡
    3、空置U盘
  6. 6 破解方法有几种:方法虽然不同,但是破解过程和步骤是一致的,所以我先说方法,再说步骤。)(有很多更猛的方法,但是都是命令行界面的,老实说,有图形界面的而且可以用的,我就不喜欢钻研命令行界面的方法了,即便那些方法再牛逼)
    1、将Linux环境通过软碟通(UltraISO)刻录到U盘(方法网上有,偷懒的直接搜索关键字”如何用软碟通(UltraISO)制作UbunutKylin启动U盘”这个也是我写的经验,将教程中的iso文件换为CDLinux的iso写入到U盘就可以了),通过U盘引导电脑进入Linux环境进行破解。
    2、在Windows环境下,安装一个虚拟机,通过虚拟机运行Linux环境。虚拟机的安装和使用,应该不成问题,又需要的,自己百度,或者联系我吧。
    3、自己安装一个Linux系统(适用于有点Linux基础的)比如BT系列,Kali,或者最常见的Ubuntu,然后自己安装破解工具,比如minidwep,wifite,打气筒,奶瓶之类的。
    END
抓包破解WPA加密的WIFI信号
  1. 1 抓包破解,从理论上讲,是100%可以破解的。
  2. 2 先讲一下抓包的原理:
    wifi信号是加密的,如果你要登陆无线路由器,就要给路由器发送一个请求,请求和无线路由器建立连接,这个请求就是一个包,学名叫握手包,这个包里面包含了你发送过去的一个密码,但是这个密码是加密的。
  3. 3 抓包破解的成功与否,取决于以下五个方面:
    1、信号强度;
    2、是否有客户端在线;
    3、跑包的机器是否足够强大;
    4、字典是否好用
    5、运气
  4. 4 开始抓包,抓包工具使用minidwep吧,这个工具能抓包,也能跑pin。
    进入CDLinux环境后,点击minidwep-gtk,软件会有一个提示,如图:
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
  5. 5 此时需要把外置网卡挂载到虚拟机里面,如果是用U盘引导系统进行破解的,忽略这个步骤:
    点击“虚拟机”-“可移动设备”-“你的无线卡”--“连接”此时无线网卡才挂在到了虚拟机里面,才能正常使用。
    软件打开后,左上角会显示识别出来的网卡,点击扫描,开始搜索附近的无线信号。
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
  6. 6 扫描后,会有很多信号,但不是所有信号你都要去破解,先选择有破解价值的。
    1、信号强的有限(信号绝对值越小的,越是强,比如上图中-55的那个信号是最强的。)
    2、有客户端的优先
    3、7*24开机的优先
  7. 7 选择一个信号,然后点“L启动"
    接下来的过程就是软件发送攻击命令,迫使客户端下线,进行重连,然后得到一个握手包。
    此时要看抓到的数据包的多少,越多,破解的概率越高。如果对方在看视频,或者下载,反正有网络活动,那么抓到包的可能性还是很高的。
    如图:bencons数值如果十分钟之内没有明显增长,就可以放弃了。
    稍加等等,就抓到一个包了。如图2
    单击ok,进行爆破。

    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
  8. 8 此时有两个选择,一个就是在虚拟机里面用minidwep进行爆破,另外一个就是把握手包复制出来,到windows下用别的性能强大的电脑进行破解,比如用EWSA。这个软件支持显卡加速,会成本提高你破解的速度的,推荐此办法。但是前提是你有足够强大的字典和足够好的机器和足够好的运气。
    单击ok,选择一个字典进行破解。跑字典的情况如图2
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
  9. 9 找到了密码,就是这个样子的。
    这个方法要看你的耐心和密码字典的强大程度,还有跑字典的机器和人品。
    这个办法的优点就是只要时间足够长,抓到了包,就一定能破解出来。
    缺点是,需要强大的密码字典和强大的硬件支持。
    万一人品不好,遇到一个15位的密码,那就头疼了。。希望你遇到弱密码。
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
    END
跑Pin码破解wifi密码的原理
  1. 1 下面是重头戏了,跑pin码破解wifi密码。这种方法比起上面的,就是要快捷一点。
    WPS(Wi-Fi Protected Setup)是Wi-Fi保护设置的英文缩写。WPS是由Wi-Fi联盟组织实施的认证项目,主要致力于简化无线局域网安装及安全性能的配置工作。WPS并不是一项新增的安全性能,它只是使现有的安全技术更容易配置。
  2. 2 对于一般用户,WPS提供了一个相当简便的加密方法。通过该功能,不仅可将都具有WPS功能的Wi-Fi设备和无线路由器进行快速互联,还会随机产生一个八位数字的字符串作为个人识别号码(PIN)进行加密操作。省去了客户端需要连入无线网络时,必须手动添加网络名称(SSID)及输入冗长的无线加密密码的繁琐过程。
  3. 3 破解网络需要多长时间?是首要关心的问题。如果破解时间需要几天或者几个星期,甚至是一个无终止的时间,该漏洞可能就不会这样引起重视了。
    有人曾经做过一个测试,在3K/sec的计算机上穷举8位全数字的WPA密码需要8个小时才能完成。如果PIN码是随机的8位,考虑信号不佳,设备负载过重,还有等待PIN认证结果的合理延迟(如果PIN码验证失败,程序会等待很长一段时间才会提示,这里特指QSS软件)等因素……短时间内想搞定WPA加密都觉得不大现实。可能有人认为,10小时搞不定,可以花100小时、1000小时搞定。但这样付出的人力物力,真的物有所值吗?除非是一个有着重大意义的无线AP,才值得这样去做吧。
  4. 4 首先,在WPS加密中PIN码是网络设备间获得接入的唯一要求,不需要其他身份识别方式,这就让暴力破解变得可行。
    其次,WPS PIN码的第8位数是一个校验和(checksum),因此黑客只需算出前7位数即可。这样,唯一的PIN码的数量降了一个级次变成了10的7次方,也就是说有1000万种变化。

  5. 5 在实施PIN的身份识别时,接入点(无线路由器)实际上是要找出这个PIN的前半部分(前4位)和后半部分(后3位)是否正确即可。当第一次PIN认证连接失败后,路由器会向客户端发回一个EAP-NACK信息,而通过该回应,攻击者将能够确定的PIN前半部或后半部是否正确。换句话说,黑客只需从7位数的PIN中找出一个4位数的PIN和一个3位数的PIN。这样一来,级次又被降低,从1000万种变化,减少到11000(10的4次方+10的3次方)种变化。因此,在实际破解尝试中,黑客最多只需试验11000次,平均只需试验大约5500次就能破解。这也证实了在2小时内破解PIN码的可行性。
    END
跑Pin码破解wifi密码的步骤
  1. 1 进入CDlinux界面,打开minidwep,扫描信号,老规矩:
    1、信号强的有限(信号绝对值越小的,越是强。)
    2、有客户端的优先
    3、7*24开机的优先
    4、此时要选择后面带有wps标记的信号进行破解。
    如图:
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
  2. 2 选择一个带wps标记的信号,然后点击”REAVER“
    如图:有很多可以改动的参数,在你明白他们的含义之前,请默认即可。
    单击ok
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
  3. 3 破解界面如下:
    如果破解速度低于5s/pin,说明信号不够强, 建议把无线网卡放在尽量靠近信号源的地方,或者换一个信号。
    如果时候提示你等待60秒之后再试,那说明路由是新版的,有防pin功能,但是我偷偷告诉你,这个防pin给你是伪防pin,等60秒后,软件继续破解。这样的路由器有个好处,由于你每pin他一段时间,路由器拒绝你一分钟,相当于路由器休息了一分钟,你懂的,这样路由器反而不容易死。
    如果pin码一直是同一个值,说明路由器挂了,换个时间接着pin,这里要说明一点,如果你用虚拟机pin,每次pin完,没得到结果,不要关闭虚拟系统,直接关闭虚拟机,点”挂起”,这样你下次打开虚拟机,重新连接网卡,还是选择你没pin玩的信号,可以继续上次的进度。
    如果是U盘引导进行破解的,需要手动保存一下日志文件,下次破解再把日志文件拷贝到linux,才能继续上次的进度。
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
  4. 4 下面就是等待。
    由前面讲过的原理可以知道,破解是先破解前四位,如果错了, 就再换一个四位数进行破解,所以你很可能在很短的时间内,破解进度一下子跳到90%。
    那说明8位pin码的前四位已经搞定。你可以看见此时前四位的pin值就不动了,后面的三位会继续变动,就是穷举,最后一位是校验值,不用理会。

    一般信号好,路由器质量好(不会被pin死)
    破解会在两小时内结束。
    坐等密码吧!
    找到密码后如图:
    此时你要记录别人的pin码,这样别人改密码后,你再用这个pin码就很容易得到新密码了。
    还有就是别人的密码:就是WPA PSK后面部分的。
    python|跑PIN码破解无线网络WIFI密码的原理分析(转)
    文章图片
    END
使用打气筒破解
  1. 1 打气筒也是一个常用软件,我更新这个工具。破解方法和上面的类似,我简单说一下。
  2. 2 进入系统画面,点击Inflator 1.0,启动程序
  3. 3 程序打开后,按YES
  4. 4 选择第一排的wlan0 点一下,10秒后会提示加载成功。
    加载成功提示 monitor mode enabled on min0(wlan0),点击next下一步。
  5. 5 进入这个界面,直接点击scan for wps enable aps扫描30秒之后就会出现信号,如图下,选中一个信号,然后next下一步
  6. 6 进入这个界面后,直接点击run就可以开始运行破解了
    后面过程和minidwep的大同小异,坐等密码吧。。。
    END
使用wifite破解无线密码
  1. wifite是一个全自动,大批量破解无线密码的工具,只要时间够长,你能一次性破解掉你搜到的所有的信号。
  2. 安装一个32位的Ubuntu
  3. 安装wifite,系统会自动安装相关依赖。
  4. 4 在终端这中运行 sudo wifite
    扫描出信号,30秒后,信号足够多,按Ctrl+C停止扫描
  5. 5 按照信号选择的法则,选择相应信号的前的序号,用逗号隔开不同的信号,然后回车,此时软件会根据不同的信号采取不同的破解方法进行破解。耐心等待后,会出现你要的东西的。
    END
注意事项
  • 此教程仅供学习,不能用于违法活动。
  • 要想你的无线网络安全,请放弃wep加密
  • 在路由器中关闭WPS功能
  • 做完以上三点后,不要怕麻烦,尽量使用大于20位的wifi密码,即使别人抓到包了,也会很抓狂的。

    推荐阅读