• 初探无线安全审计设备WiFi Pineapple Nano系列之PineAP


    前言:   

    之前曾经介绍过国外无线安全审计设备The WiFi Pineapple Nano的SSLsplit模块和ettercap模块及实验

    在玩WiFi Pineapple Nano 设备的过程中,鉴于个人手头只有几块网卡,测试下来发现Nano能够支持的网卡芯片有:RTL8187L 、RT3070、AR9271、RT5370…,诸位朋友在自己测试的过程中如果发现网卡识别不到的情况,请参考采用刚才提到的几块芯片的网卡。

    今天给大家介绍下Pineapple Nano的一个主要功能模块PineAP和其他几个涉及配合PineAP工作的几个模块的使用方法。

    0×01 Recon模块

    目前来说,针对无线扫描类的工具可分为两大类型:被动式(passive)和主动式(active)。

    被动式扫描的原理是按照不同的channel上,监听(monitor)信道中所有无线信号的通信数据包,通过分析数据包内容来获取AP和客户端的信息。

    主动式扫描是采取周期性的向周围发射探测类的请求数据包(Probe Request),带有无线网卡的笔记本开机后网卡自动接入操作系统已知AP热点的过程便是主动式扫描的一个实例。由于二者实现的原理不同,简单来说被动式扫描的效果比主动式扫描会好很多。

    下面我们来看一下WiFi Pineapple Nano中Recon模块的具体功能。

    WiFi Pineapple Nano中Recon模块的具体功能

    首先,Recon模块采用被动式扫描方式,扫描过程会自动将网卡设置为监听模式,监听周围不同信道上的(客户端)发出的各种数据包。

    Recon能够扫描出SSID、MAC地址、加密方式、是否启用了WPS功能、信道及信号强度等信息,Recon甚至还能扫描出当前未连接任何AP的客户端。

    WiFi Pineapple Nano中Recon模块的具体功能

    在执行扫描操作时,只需要按照预设的扫描时间(如15s、30s、60s…)等,点击“Scan”即可一键式启动。如果勾选“Continuous”的话,扫描将会持续进行,即不停地向周围进行探测并将结果显示出来。

    在大家使用Recon模块过程中,最可能会遇到的问题是出现此种情况:在点击“Scan”后,出现“There was an error starting Recon…”

    WiFi Pineapple Nano中Recon模块的具体功能

    出现此问题时建议大家先检查下Networking设置下面的WiFi Client Mode,其中的Interface名称是否是“wlan1”。

    WiFi Pineapple Nano中Recon模块的具体功能

    因为在该模块的代码层面,采用的默认接口的变量名称就是“wlan1”,如果Interface的名称不是默认“wlan1”的话,便会出现上图的错误。

    解决办法有两种:

    第一种,只插一块外置网卡默认名自动为wlan1;

    第二种是修改Recon模块的变量名为当前显示的Interface名称(例如改为wlan2、wlan3…)。

    WiFi Pineapple Nano中Recon模块的具体功能

    总的来说,Recon模块的基本功能就是如此,简单而强大。

    0×02 Logging模块

    PineAP模块在Logging中对日志进行Filter

    上图是PineAP模块在Logging中对日志进行Filter,例如可以进行去重、刷新、删除、下载等操作,还支持根据SSID或MAC地址功能进行过滤。

    Nano system系统日志

    上图为Nano system系统日志

    总的来说,WiFi Pineapple Nano的Logging模块比较简单,主要是用来过滤查询PineAP模块的日志。

    0×03 Landing Page

    Landing Page

    本质上来说Landing Page功能并不属于一个独立的模块,仅仅放置在了Pineapple Nano中Configuration的设置下。

    Landing Page启用后可以将所有连接到Pineapple Nano上的客户端,强制定位到的一个门户web页面,这个web可以有我们自定义,支持html、js、php语言等,后面我们会看到一个关于Landing Page功能的简单实例用法。

    0×04 PineAP模块

    PineAP模块

    接下来介绍我们本文的主要角色:PineAP,提到PineAP可能有部分同学没有听过它的名字,但熟悉无线安全测试领域的同学肯定听过Karma,基本上PineAP等同于Karma(同样只能对于曾连接过OPEN模式的客户端起作用)。

    简单说,PineAP是通过伪造的Probe Response响应包来响应周围的客户端(可能是笔记本、手机、pad等等),让客户端以为周围存在着曾经成功连接过的无线AP,而用来欺骗客户端进行连接我们的Pineapple Nano设备。

    (Probe Response对应我们上文提到过的扫描请求数据包Probe Request,对于PineAP或Karma的功能还有疑问的同学,可参考freebuf上的其他几篇相关文章

    下面我们对PineAP在web界面中的几个选项做一个解读。首先,开启PineAP功能需要点击图中“Switch”按钮,使其“Enable”,然后勾选上面三个选项“Allow Associations”、“Log Probes”、“Log Associations”,再勾选下面“Beacon Response”选项,再将Beacon Response Interval的模式选择为“Normal或Aggressive”,最后Save一下即可。

    Allow Associations:启用后允许(接受)所有周围客户端的探测或连接请求,通常是配合Filters模块进行过滤时候来用,一般情况下我们都是Allow。

    Log Probes、Log Associations:一个是记录周围客户端对Pineapple Nano的请求日志,另一个是客户端与Pineapple Nano的连接日志,这些日志信息记录在Logging模块中,方便我们进行查询。

    Beacon Response:启用后即模拟真实的无线AP来响应那些周围的对Pineapple Nano发出Probe Request请求的客户端(采用一对一,而非广播模式)。

    Beacon Response Interval:是用来选择Beacon Response响应包的发送速率,一般是Normal或Aggressive,需要注意的是Aggressive模式将消耗更多的cpu资源。

    如下图所示,在点击Save后,就启用了PineAP的功能,过一会我们就可以在Logging中查看周围有哪些客户端以及它们曾经都连接过那些AP了。

    启用PineAP的功能

    继续等待一段时间后,便可以看到有两个客户端被我们成功欺骗,连接了上来。

    (这里能否成功连接到我们Pineapple Nano设备与周围客户端的具体设备情况和真假AP的信号强度有关,本文在实验过程中也是试了很久)

    PineAP模块

    当这个时候,我们如果启用上文提到过的Landing Page功能恶搞这些客户端一下呢?这些客户端在访问任意网页时候就会看到这样:

    PineAP模块

    甚至在Dashboard面板上,我们可以看到有多少客户端的浏览器访问过我们设计的Landing Page页面。

    Landing Page页面

    如果我们在做的深入一点:

    Landing Page页面

    类似做成下图这样:

    Landing Page页面

    更多具有创造性的页面设计,留给所有感兴趣的同学自己去亲自尝试吧。

  • 相关阅读:
    ASP.NET Core 2.1 Web API + Identity Server 4 + Angular 6 + Angular Material 实战小项目视频
    .NET Core TDD 前传: 编写易于测试的代码 -- 单一职责
    学习Identity Server 4的预备知识 (误删, 重补)
    .NET Core TDD 前传: 编写易于测试的代码 -- 全局状态
    .NET Core TDD 前传: 编写易于测试的代码 -- 依赖项
    .NET Core TDD 前传: 编写易于测试的代码 -- 构建对象
    .NET Core TDD 前传: 编写易于测试的代码 -- 缝
    SpringBoot入门教程(十)应用监控Actuator
    SpringBoot入门教程(九)定时任务Schedule
    SpringBoot入门教程(八)配置logback日志
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/7409805.html
Copyright © 2020-2023  润新知