TheWiFiPineapple是由国外无线安全审计公司Hak5开发并售卖的一款无线安全测试神器(俗称大菠萝),从2008年起目前已经发布到第六代产品。当前的主打产品是TheWiFiPineappleNANO和WiFIPineappleTETRA(支持5GHz频段)
手上这款是WiFiPineappleNANO
·CPU:400MHzMIPSAtherosAR9331SoC
·内存:64MBDDR2RAM
·磁盘:16MBROM+MicroSD(6G)
·无线:AtherosAR9331(wlan0)+AtherosAR9271(wlan1),均为IEEE802.11b/g/n
·端口:(2)RP-SMA天线,USB网卡(ASIXAX88772A)
·USB2.0主机,MicroSD读卡器
·电源:USB5V1.5A.包括Y型USB电源线
·可配置状态指示灯LED
·可配置的重置按钮
对于正在进行安全研究并计划将研究方向定为wifi安全的小伙伴们,可以使用这款“外设”作为入门和进阶的部分,能够带领我们了解一些常见的wifi安全问题、原理和攻击手段,进一步的可以分析这些利用工具的原理,实现方法,组合攻击手段
如果你是安服的小伙伴,给客户演示的时候不要总是带着自建靶场,给领导搞一个SQL注入,永恒之蓝,过时了!就算你配合CobaltStrike来个主机上线,也顶多是视觉上的刺激。你带个wifipineapple,现场来个中间人,搞个绵羊墙,抓个密码,岂不美哉?
您老要是有闲钱,那就买个玩玩!
第一次登陆会以root身份登陆,并在安装时配置密码,这个密码将同样作为ssh连接时的root密码
a.用作Wi-Fi中间人攻击测试平台
b.一整套的针对AP的渗透测试套件
c.基于WEB应用的管理界面
d.基于嵌入式linux系统
e.不定时的各种软件更新,可以自定义模块、payload
仪表盘上显示了一些状态、统计信息、通知和公告的概览视图,包括:
LandingPage浏览状态,公告
Bulletins从wifipineapple.com获取的最新项目信息
Recon模块采用被动式扫描方式,扫描过程会自动将网卡设置为监听模式,监听周围不同信道上(客户端)发出的各种数据包。能够扫描出SSID、MAC地址、加密方式、是否启用了WPS功能、信道及信号强度等信息,甚至还能扫描出当前未连接任何AP的客户端
扫描结果将显示在表格视图中
未关联的客户端仅显示MAC地址。这些客户端具有活动无线电,但不与接入点关联
单击SSID和MAC地址旁的下拉菜单,会出现如下两张图的菜单,用于PineAP模块的Filter(过滤)和Tracking(追踪)功能,以及进行Deauth(取消认证洪水)攻击中发送取消身份验证帧的倍数参数
需要注意的是,使用Recon模块进行扫描将会断开已有的连接
如果在PineAP中勾选了AllowAssociations(允许关联),WiFiPineapple将允许客户端进行连接
已连接的客户端将在“Clients”视图中列出它们各自的MAC地址,IP地址,它们已连接的SSID(如果在PineAP中启用了LogProbes(日志探测)功能)和主机名
Kick按钮可以从Wi-FiPineapple网络中删除客户端
MAC地址和SSID旁边的下拉菜单按钮用于PineAP模块的Filter和Tracking功能
Refresh按钮可以刷新Clients表格视图
可以通过客户端MAC地址或SSID来执行过滤。支持“Deny”和“Allow”模式,可以使用Swith按钮进行切换
ClientFiltering客户端过滤
在DenyMode下,客户端过滤器中列出的具有MAC地址的客户端将无法连接到WiFiPineapple
在AllowMode下,只有客户端过滤器中列出的具有MAC地址的客户端才能连接
进行WI-FI安全测试时,最好使用“AllowMode”以确保仅针对参与范围内的客户端
SSIDFilteringSSID过滤
在DenyMode下,如果客户端尝试连接到过滤器中列出的SSID,则客户端将无法与WiFiPineapple关联
在AllowMode下,如果过滤器中列出了他们尝试连接的SSID,则客户端只能与WiFiPineapple关联
PineAP是通过伪造的ProbeResponse响应包来响应周围的客户端(可能是笔记本、手机、pad等等),让客户端以为周围存在着曾经成功连接过的无线AP,而用来欺骗客户端进行连接我们的PineappleNano设备
AllowAssociations允许关联
此项被勾选时,客户端可以通过任何请求的SSID连接到Pineapple
禁用时,客户端将不允许被连接。相当于以前的karma
LogProbes日志探测
开启后,将记录客户端的探针请求。可以从Logging模块里看查看分析
LogAssociations日志关联
开启后,客户端的连接信息将会被记录。可以从Logging模块里查看分析
禁用后,连接成功的信息将不被记录,并且不会出现在Clients模块的SSID一栏里
PineAPDaemonPineAP守护进程
这个进程必须开启
可以使用Beacon响应,捕获SSIDs到池里,以及对SSID进行广播
这个设置会作用于wlan1,并且wlan1不能用于Client模式去桥接外网
BeaconResponseBeacon响应
开启之后,目标beacons将会发送给客户端设备,用来响应客户端的SSID探针请求
Beacon响应将会使用源mac地址设置,并且也会与广播SSID池特性共享
Beacon响应间隔将决定发射的频率
CaptureSSIDstoPool捕获SSID到池中
开启之后,将会把捕捉到的探针请求里的SSID保存到SSID池中
BroadcastSSIDPool广播SSID池
SSID池也可以手动来管理,相当于以前的Dogma
SourceMAC源Mac地址
默认情况下,是Pineapplewlan0的Mac地址,可以在Networking里进行设置
TargetMAC目标Mac地址
默认情况下是广播的Mac地址FF:FF:FF:FF:FF:FF
用于广播帧数据将会被附近的客户端识别,如果设置为某一个固定的mac地址,将会对该地址本身进行PineAP唯一的攻击目标
类似beacon响应,只有池中的SSID广播会被目标客户端看到
如果使用了Filters,将更精确的定位到目标设备
间隔越小,对CPU的占用就越高
SaveasDefaultonBoot保存为启动默认配置
将会把设置保存,并且系统启动时会继续执行
SSIDPoolSSID池
当CaptureSSIDPool功能开启时,将会自动记录捕获到的SSID,也可以手动添加或删除
跟踪功能将按MAC地址连续扫描指定的客户端,并执行可自定义的跟踪脚本
此功能需要启用PineAP的LogProbes和LogAssociations中的至少一个选项
可以手动添加客户端,也可以在Clients或Recon视图中关联的MAC地址使用PineAPTrackingAddMAC按钮添加Mac地址到此模块中
当客户端被识别时,将会执行自定义脚本
Logging模块共记录了PineAPLog、SystemLog、Dmesg、ReportingLog四种日志
PineAPLog
可以对结果进行过滤,在按下”ApplyFilter”之前,过滤器不会生效,默认情况下,PineAP日志位于/tmp中,重启不会保存
系统日志,没什么好说的
Dmesg
设备故障的诊断,硬件连接断开等信息
ReportingLog
生成报告日志
此功能能够以指定的间隔生成报告。报告可以通过电子邮件发送,也可以本地保存在SD卡上
在Networking模块中,可以更改路由,接入点,MAC地址,主机名,并使用WiFi客户端模式连接到接入点
Route路由
显示内核IP路由表,可以针对所选接口进行修改,默认网关为172.16.42.42
使用WiFiPineappleConnectorAndroid应用程序时,IP路由将自动更新以使用usb0作为默认网关
下拉菜单可以重启DNS服务
AccessPoints接入点
可以配置WiFiPineapple主要开放接入点和管理接入点。开放和管理接入点共享相同的信道
可以隐藏开放接入点,并且可以禁用管理接入点
WiFiClientModeWI-FI客户端模式
能够将WiFiPineapple连接到另一个无线接入点,以进行Internet或本地网络访问
MACAddressesMac地址
可以手动更改MAC地址,也可以设置随机MAC,更改MAC可能会断开连接的客户端与WiFiPineapple的连接
Advanced高级
能够更新主机名
下拉菜单中能够将WI-FI配置恢复默认
显示ifconfig的输出
General常规
一些设备的常规设置,如设置时区、更改密码、关机、重启、恢复出厂设置
LandingPage着陆页面(钓鱼)
启动后,客户端全部链接将会被强制导向到此页面,页面访问的统计信息将会显示在Dashboard上
页面可以是PHP或HTML的
只有WiFiPineapple具有Internet连接时,才会显示此页面
例如下图是之前写的模仿某宝的钓鱼页面
高级视图提供有关系统资源,USB设备,文件系统表,CSS以及升级WiFiPineapple固件的功能的信息
Resources资源
显示文件系统磁盘使用情况和内存,下拉菜单按钮可以清除页面缓存
USB
显示外接USB,设置文件系统表(fstab)。下拉菜单按钮可以格式化SD卡
CSS层叠样式表
可以修改WiFiPineappleWeb界面样式表
FirmwareUpgrade固件升级
固件升级将替换所有数据(不包括SD卡或USB等外部存储器)
升级前应备份重要的非系统数据
Dwall绵羊墙
Enable开启模块,StartListening开始监听
页面显示了客户端、URL、Cookies、数据内容,以及图片
Deauth取消验证洪水攻击
De-authenticationFloodAttack,全称为取消身份验证洪水攻击或验证阻断洪水攻击,通常被简称为Deauth攻击,是无线网络拒绝服务攻击的一种形式。它旨在通过欺骗从AP到客户端单播地址的取消身份验证帧来将客户端转为未关联/未认证的状态
normal模式下,选中网卡,点击Start后就开始攻击攻击过程中同网段内的网络认证(由于NANO不支持5G,所以攻击仅支持2.4G)均会失败,无法认证并连接
要针对某个WI-FI攻击,可以在Editor中选中网卡,扫描WI-FI,并AddtoBlacklist(添加到黑名单),在Mode中也选择blacklist,输入Channels,信道可以去SiteSurvey中查看
测试过程中发现,blacklist模式不生效,Pineapple没有发出数据包;normal模式可以使用,但已经认证成功并通信的连接无法阻断,只能攻击正在进行认证的连接
DNS/DNSMasqSpoofDNS欺骗
这个插件会启动DNSMasq服务,对客户端访问的域名进行重定向
在Hosts处填写要重定向的域名,写法与其他Hosts文件一致
此处可以填写内网配置好的钓鱼服务器,也可以指到Pineapple,并在上面搭建服务
点击Start之后,重定向就开始了,ping域名可以发现被重定向到了内部网络IP
针对钓鱼页面,可以修改LandingPage,也可以编写自己的页面,网页储存位置位于/www中
支持php和html
urlsnarfURL捕获
选定网口后点击Start,模块将会捕获全部的HTTP流量,GET及POST的数据均会显示
显示格式为web访问日志类型
EvilPortal恶意门户认证
模块主要由以下几个部分组成:
Controls(控制):启用模块和设置自动启动;
WordBench(创建工作目录):包含门户页面的php文件等;
WhiteList(白名单):不需要通过门户认证页面跳转的IP地址列表;
AuthorizedClients(认证客户端):当前通过门户页面认证跳转过的IP地址列表;
LivePreview(预览):预览恶意门户页面。
EvilPortal模块和自带的LandingPage功能很像,区别在于LandingPage仅能够提供一个强制跳转显示页面的效果,不具有认证、白名单以及更自由化的门户页面自定义功能。EvilPortal能够实现像现在的商业WiFi接入访问一样,提供一个由我们自定义的认证页面,引导客户端用户完成认证及跳转功能
新建名为test1的项目,系统会自动生成三个页面
如果要启动该项目,需要点击Activate按钮进行激活,就可以在LivePreview功能下看到页面状况
启用模块后,凡是连接Pineapplewifi的客户端,均需要进行认证后再连接网络
下面进行一个简单的示例,我们修改源代码
index.php
MyPortal.php
此处注意目录的写权限,否则可能保存不成功
ssh到Pineapple或使用Cabinet模块管理文件,在模块所在路径下创建portal.log
认证一下,看看新建的log文件中是否记录
连接后的客户端也会被记录
ettercap中间人攻击
这个模块相当于调用ettercap这款工具进行中间人欺骗,将参数转换为web页面,并将输出返回到页面上
SSLsplitSSL分离
SSLsplit可以作为中间人监听SSL信息及HTTP信息。SSL实现代理的同时要与服务器建立连接,同时伪造证书与客户端建立连接,即双连接,依据获取的Client信息再与服务器通信,从而实现明文数据监听
Configuration无需改变,使用默认即可
在客户端使用HTTPS进行通讯时,将会由SSLsplit作为中间代理
SLLsplit的实现需要配合其他欺骗手段,如果有Clients连接到Pineapple,那么就直接可以进行攻击,如果要攻击的目标在同一网段内,则需要将目标流量定向到此模块的监听端口,通常配合ettercap等欺骗软件
如果网站具有HSTS(HTTPStrictTransportSecurity),网站将不能正常显示,也就无法攻击
tcpdump网络数据采集
tcpdump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来去掉无用的信息,是一款非常高级的网络数据分析工具
与Pineapple上很多其他的模块一样,提供的可供点选的web管理界面
Options提供了基本的选项模块
在下方选中或勾选的参数将会被格式化到Command处
Interface为需要监听的端口
Verbose对应-v选项,代表输出报文信息的详细程度
Resolve对应-n选项,不将主机名转换为IP地址,以及不进行端口名称的转换
Don’tprintdomainnamequalificationofhostnames:对应-N选项,不输出主机名中的域名部分。例如,’wiki.ver007.org’只输出’wiki’
Showthepacket’scontentsinbothhexandASCII:对应-X选项,在解析和打印时,除了打印每个包的报头之外,还要用十六进制和ASCII打印每个包的数据(通常用于分析一种协议)
Printabsolutesequencenumbers:对应-S选项,将tcp的序列号以绝对值形式输出
Gettheethernetheaderaswell:对应-e选项,在输出行打印出数据链路层的头部信息
Showlessprotocolinformation:对应-q选项,快速输出。只输出较少的协议信息
Monitormode:对应-I选项,使标准输出变为缓冲行形式,可以把数据导出到文件
Filter提供了一些过滤规则,我们可以利用Filter编写过滤表达式,用来匹配得到我们想要的结果,在点选参数之后,手动输入参数值,并继续点击下一个参数,同样的,如果你熟悉tcpdump的话,可以进行手工填写,跟wireshark什么的过滤语法道理都类似
Output为系统回显,History则可以查看和管理抓住的完整tcp数据包
例如,我想查看172.16.42.225和m.tool.chinaz.com之间端口为80的通讯
Output中输出一些信息
history中能看到捕获的数据包
在此处可以将捕获的包下载,得到一个pcap文件,可以在wireshark、networkminer、科来等其他工具中
具体的使用方法就根据需求不同定制,需要熟悉过滤表达式的编写
需要注意的是,tcpdump只能抓取流经本机的数据包,因此确保有Client连接上网
由于页面仅提供部分命令,如果想要达到与命令行完全一样的效果,可以SSH连接到Pineapple直接运行tcpdump.sh,路径在/pineapple/modules/tcpdump/scripts
Meterpreter漏洞攻击
大名鼎鼎的Meterpreter,配置主机端口后能够接收会话,无需更多介绍
nmap网络地图
著名的网络扫描工具,用法一模一样
Options(选项)与图形化的Nmap页面相似,输入目标,在Profile中选择一些预置的规则
各种参数设置在下面可以手动点选
也可以在Command处手动输入参数
结果会回显在Output中,也可以在LogManager模块中查看记录结果
测试发现无论针对内网和外网扫描,过程都比较慢,而且经常有进程退出的情况,效果不是很好
APITokensAPI令牌
/api允许对Pineapple模块进行远程调用,存储路径为/pineapple/api
已生成的API令牌存储在Pineapple本地数据库中,路径为/etc/pineapple/pineapple.db
本模块的作用就是提供对API调用的访问控制
只有在本模块中生成APIToken,并作为JSON参数进行传递时,Pineapple才会返回结果
autossh反向SSH连接
autossh是一个程序,原理是启动一个ssh副本并进行监视,如果进程中断或停止流量传输,则根据需要重新启动
想法来自rstunnel,但是由C语言编写的,使用端口转发循环或远程回显服务进行连接监视
当遇到连接被拒绝等快速故障时,能够降低连接尝试的速率
多数情况下,程序用于反向SSH,以及解决连接不稳定等问题,利用这个模块,我们可以利用具有公网IP的VPS随时随地连接到Pineapple下进行操作
那么应该如下填写
填写后点击Save保存到下方的命令行中
在AdditionalConfiguration(附加配置)中生成公钥
SSH到Pineapple中,执行
cat~/.ssh/id_rsa.autossh.pub|ssh-p22root@1.1.1.1'mkdir-p~/.ssh&&cat>>~/.ssh/authorized_keys'输入VPS密码,将Pineapple公钥导入VPS的authorized_keys中
点击Start
此时SSH反向连接已经建立,可以随时随地在VPS中ssh连接到Pineapple
在vps中输入
base64encdecBASE64编/解码
一个普通的base64编码/解码模块
Cabinet文件管理
可以理解为一个文件管理的webshell(-_-||)
Commander指挥者
此模块能够允许我们通过IRC来控制Pineapple
下面这个图是官方论坛截的,从来没用过IRC,这辈子可能都不会用了,此模块略过了
ConnectedClients已连接客户端
这个模块直观的显示通过不同网卡连接的不同客户端
包括主机名称、IP地址、MAC地址
可以对客户端进行Disassociate(取消关联)、Deauthenticate(解除认证)、Blachlist(黑名单)操作
CursedScreech命令执行
这是一个远控模块
Sein:信息收集功能,当监听的网络内出现漏洞系统时,将会更新模块的target列表
Kuro:攻击功能,自动尝试连接Sein功能发现的目标机器,并连接
ListeningInterface(监听端口):用于组播socket的接口,如果目标直接连接到Pineapple,使用br-lan就可以
MulticastGroup(组播组):发送和接收目标心跳的地址,对于Sein和目标机器,组需要相同
MulticastPort(组播端口):Sein将从目标接收消息的端口。这个端口需要在payload的startMulticaster()方法中
HeartbeatInterval(心跳间隔):payload发送广播的间隔,Sein在3个心跳间隔还为收到广播包的话,就会判断目标为掉线状态
KuroKeys/TargetKeys(密钥):用于TLS通信时的密钥,可以使用Papers模块创建Keys
可以从下方两个下载按钮下载C#和Python的payload模板
右边的Targets就是一个上线机器列表,以及一个命令执行功能
如果有目标机器的话,可以通过Select选择机器,并执行命令
EZCmds事先预置了一些cmd命令,可以添加及删除
设置好了之后,按照下载的模板,编写payload,在目标机器上运行
运行后点击Sein进行监听,测试时发现python版本的payload在监听后需要多等一下才能上线,此处要耐心等待一下,上线后可以开启Kuro,再耐心多等一会
当日志显示Kuroisready后,就可以执行命令了
dump1090接收/解码无线信号
本模块能够对1090MHz的无线电进行收取和解码,通过调用google-API等方式,可以在web地图上描绘出飞机的轨迹,当然也可以手动更改频率如:
我国民航使用的无线电频率:1090MHz
民用对讲机使用的无线电频率:408-409MHz
警用频率:350-390MHz
等等
软件有很多参数,但是界面上只显示了Gain
Checkbox参数可以切换度量衡使用公制单位、切换到自动获取、增大功率、将结果输出为csv格式
使用此模块需要RTL-SDR(电视棒)接收无线电信号,插入模块,将显示地图
get获取
能够获取连接到Pineapple的Clients信息,点击ViewInformation能够查看获取的详细信息
识别库比较老,插件识别的也比较少,能够获取屏幕尺寸还是挺惊喜的,不过在实战用处一般
HackRF无线电攻击
这个模块需要配合HackRF硬件进行使用,在接入HackRF后,会出现一个简单的设置界面
SampleRate(采样率):每秒发送或接受的样本量。受到系统计算能力限制,设置过高可能会导致系统不稳定,此处建议设置默认10M或更低,相当于-s
CenterFrequency(中心频率):就是HackRF开始调谐的频率,相当于-f
TransceieverMode(收发方式):HackRF是半双工工作模式,因此必须指定是要TX(发送)还是RX(接收),相当于-t或-r
FileName(文件名):目标文件路径,可以将收到的信号记录,也可以从文件发送
RFAmp&AntennaPower(射频放大器和天线功率):EnableRFAMP可以指定是否开启射频放大器,AntennaPower可以指定功率是否被传送到天线端口
RXIFGain&RXBBGain(RX二中频增益和RXBB增益):根据不同层级的db及步长选择增益模式
RepeatTransmission&TXIFGain(重复和TX二中频增益):是否重复播放,以及设置发送增益
先进行录制,并保存到文件中
然后进行重放,即可攻击成功,如果重放失败,可以调整放大器的增益
在实际测试过程中,将会如上图报错,调试了一会依旧无法实现功能
这个模块仅仅是简单的收取/重放,如果想要解码、编码再重放,单靠这个是实现不了的,而且在不清楚无线电工作频率的情况下还是没有办法使用,因此还是将其定义为演示模块
KeyManager密钥管理
如题,本模块是用于SSH密钥管理的模块
生成SSHKeyPair之后,自定义RemoteHost(远程主机)主机名、端口、账户、密码
下面两个按钮就是将自己的公钥复制到对方的主机上,或将对方的公钥加入自己的主机上
在KnownHosts(已知主机)中可查看和管理目前已保存的一些公钥
LEDControllerLED灯控制
如题,就是一个控制LED灯的模块
Trigger(触发器)有三个选项
Netdev:在网络传输时会闪烁,Mode(模式)TX代表发送RX代表接收,Interface输入要监听的网口
设置为None时将会常亮,测试效果没有图,但模块还是好用的
LogManager日志管理
该模块能够查看和管理各个模块产生的日志
能够显示名称、模块、大小、日期,并能够查看、下载和删除
ModemManager调制解调器管理
这个模块允许Pineapple通过3G和4GUSB调制解调器连接到互联网
这个模块暂时不知道怎么用,略过
ModuleMaker模块制作
能够生成及管理模块
并给出了模块需要的模式
是一个为开发者编写新模块的web界面
ngrep网络抓取
ngrep就相当于网络版的grep,支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。与tcpdump类似
Occupineapple占领
Occupineapple是一个干扰模块,能够在周围生成各种随机或者自定义的SSID
Speed:每秒发送的数据包
Channel:在哪个信道上生成虚假AP
ShowstationasAd-Hoc:将站点显示为点对点
SetWEPbit(Generatesencryptednetworks):设置WEP位(生成加密网络)
ShowstationusingWPATKIPencryption:显示使用WPA-TKIP加密的站点
ShowstationusingWPAAESencryption:显示使用WPA-AES加密的站点
UsevalidaccesspointMACfromOUIdatabase:使用来自OUI数据库的有效Access
Editor参数处可以选择、编辑或创建List,List中存放SSID名称及Mac地址
在配置好参数后,点击Start就会在周围生成List中名称的SSID
可以看到生成了事先预设的SSID
OnlineHashCrack在线哈希破解
传入模块中进行破解
p0f被动网络指纹识别
p0f是万能的被动操作系统指纹工具,利用SYN数据包实现操作系统被动检测技术,能够正确地识别目标系统类型。和其他扫描软件不同,它不向目标系统发送任何的数据,只是被动地接受来自目标系统的数据进行分析。因此,一个很大的优点是:几乎无法被检测到,而且p0f是专门系统识别工具,其指纹数据库非常详尽,更新也比较快,适合于安装在网关中
依旧是一款在KALI中经常使用的信息收集软件,页面只给了设置网口的选项,没有提供其他参数选项
测试过程中服务一直无法启动,暂略
Papers证件
Papers模块的作用就是生成公/私密钥对,X.509数字证书,能生成可部署自签名证书
有了这个模块我们可以在HTTPS上管理Pineapple,也可以让我们的钓鱼页面在HTTPS上部署,更具有一定的迷惑性
我们可以在此模块生成证书,让我们的管理端口1471,80,等其他端口均通过443转发,也可以下载后部署于其他服务器上
首先我们使用BuildCertificates来生成证书
ModifyCertificateinfo(定义证书信息):中包含了一些描述信息,可以自定义填写
EncryptPrivateKey(加密私钥):选项勾选后,在访问时浏览器将会等待输入密码,在部署于其他网站应用时,应该进行勾选,但不建议在Pineapple上勾选
ExportkeystoPKCS#12container:将密钥导出到PKCS#12用户密钥储存库中
填写完成之后点击BuildKeys生成密钥对,我们就能在CertificateStore中查看和管理了
生成证书存放位置/pineapple/modules/Papers/includes/ssl/
将生成的两个文件copy至/etc/nginx/ssl/
接下来我们配置nginx,修改nginx配置文件/etc/nginx/nginx.conf
添加监听端口443ssl
设置完重启nginx,点击Actions选项中的小锁头按钮,Pineapple会自动将1471端口转发到443上,此时就可以通过HTTPS进行访问了
由于证书是自签名,所以依旧会被浏览器标记为NotSecure(不安全),所以多少有点鸡肋,但是也具有一定的作用
PortalAuth门户认证
暂略
RandomRoll随机翻滚
就是下面勾选的这些rolls,每个对应一个黑页,随机选择出现
模块开启后,客户机将会随机出现选中的黑页
不同的黑页具有不同的动态图,有的还有背景音乐,挺有意思的
Responder响应者
依旧是一款非常有名的LLMNR欺骗工具,还可以伪造HTTP/s、SMB、SQLServer、FTP、IMAP、POP3等多项服务,从而采用钓鱼的方式获取服务认证信息,如用户名和密码等
使用方式和其他嵌入式软件一样,选择网卡,勾选参数即可
SignalStrength信号强度
选中一个网卡并扫描,将能够得到附近wifi信号的强度列表,原理是从iwlist命令收集信号强度和质量信息
能够将结果以列表形式展示
并绘制成饼状图,以供查看
在扫描过程中发现,使用wlan0能够更快的进行扫描,而使用wlan1能够获得更大的扫描范围
SiteSurvey现场勘测
如题,这就是一个对周边进行扫描勘测的模块
Interface和Monitor需要两个网卡,一个作为通讯,一个作为监听
点击Scan后可以进行扫描,结果将以列表的形式返回
对于SSID和MAC,可以通过下拉菜单放入PineAP中进行下一步操作
对于不同的网络,可以点击Capture进行抓包,也可以点击Deauth进行取消认证攻击
模块使用airodump-ng使用ssid参数捕获,记录发现的接入点的坐标,并写入一个文本文件中
实际测试时,在此处使用Deauth会导致系统卡死,尤其是在使用wlan1作为监听网卡的时候,对此官方的回答是:你为什么要在进行初步勘测的时候就进行大范围的洪范类攻击?好吧,我竟无言以对
而且在测试WPA握手时,一直报告No,尝试了很多次都报告No,感觉功能是不好用的,如果想要在Pineapple上实现此功能,建议使用Aircrack
Status状态
Status模块是一个展示模块,展示出了系统各方面运行情况
wpswps攻击
此模块集成了reaver和bully,利用路由的wps漏洞来破解WI-FI密码
如果想要简单的搞怪一下周围的人,不进行恶意的破坏和复杂的攻击行为,可以使用Occupineapple或者RandomRoll模块
使用Occupineapple在四周生成一些有趣的SSID,比如“XXX是个小智障”,“XXX是个小笨蛋”等等,十分有趣
也可以使用RandomRoll,在有客户端连入Pineapple网络时,可以将HTTP网页重定向到默认搞怪的网页上,给人一个惊喜
如果想要给身边的人演示一些简单的WI-FI攻击,无需特别多的技术准备,可以使用Dwall、DNS/DNSMasqSpoof、urlsnarf
Dwall即是著名的“绵羊墙”,可以显示抓到的URL、cookie、图片用,用来做演示十分方便
DNS/DNSMasqSpoof可以重定向用户DNS,配合LandingPage或其他web应用可以进行钓鱼、嗅探等
配合HackRF硬件可以简单重放无线电攻击,进行一些演示
如果想要窃取在同一网络下其他客户端产生的密码,也许是某些网站账户密码,也许是其他WI-FI密码,有几种方式可以达到目的
想要获得附近的WI-FI密码,可以使用SiteSurvery抓取WPA握手包,再使用OnlineHashCrack进行尝试破解
使用wps模块直接进行WI-FI密码破解
想要获得客户端在其他某些网站上的密码,可以使用LandingPage、EvilPortal、PortalAuth制作钓鱼页面,结合ettercap做欺骗,或者让客户端连接到Pineapple网络中,在钓鱼页面输入密码,进行记录
使用Responder进行欺骗,窃取某些协议中的密码/hash值
Pineapple还提供了一些漏洞利用模块,可以针对网络内漏洞进行攻击
可以通过ettercap欺骗,替换目标下载文件,可以改变js利用浏览器漏洞,可以改变文档利用office漏洞,可以改变exe利用各种漏洞
可以使用CursedScreech的payload进行监听和执行命令
也可以使用Meterpreter接收会话
这个总结起来就是,我是你的网关,你的全部网络流量我都做主,我想怎么玩就怎么玩
如果使用Pineapple在网络内采集数据,用于展示或进一步分析的话,可以使用一些抓取类模块
tcpdump可以对网络数据进行抓取和过滤,配合其他软件可以进行展示
ngrep功能同上,对网络内数据进行抓取及展示
nmap用于网络内设备发现及扫描
p0f被动网络指纹识别,被动收集网络内系统指纹
get模块抓取客户端浏览器信息
dump1090配合电视棒,可以获取无线电信息,展示如飞机航线等信息
如果就是想要搞事情,Pineapple也可以实现一些功能
可以使用ettercap进行网络欺骗,将自己欺骗成网关,可以导致断网
Deauth模块可以导致网络内认证失败,无法进行认证连接
在使用过程中,发现root用户没有访问写权限,比如无法更改配置文件,在页面修改的文件保存不生效等等,此时应重新挂载磁盘,并赋予写权限
有时候想要对整个Pineapple进行备份,所有模块同时备份,然后一键恢复,但是Pineapple本身不提供这种功能,所以解决办法就是/etc/config下的文件整体复制,能够解决大部分的问题
如果想快速确定Pineapple是否连接网络,只需点击首页加载信息的按钮,如果能够获得官网信息,则已经联网
WI-FIPineapple可以在移动端使用,如果在公共场合嗅探,可以使用安卓手机进行管理,不会引人注目
在更改完模块配置后,千万不要忘了点击Save,否则测试一万遍模块都不好使的(都是眼泪)
测试过程中不一定完全依赖Pineapple本身,还可以配合一些常见的工具、平台进行进一步渗透,如Kali等
玩了大概一周左右,最直观的感觉就是这玩意很坑(嗯,一个字足以概括)
其实本质来讲就是一台Linux系统机器+好几块网卡+一些很牛的软件
只不过有些人把这些东西放在了一起,做了个PHPweb界面,并将硬件缩小化,然后就拿出来卖了
所以学习使用这款工具,就变成了学习使用很多软件怎么使用
使用过程中也不是很愉快,经常出现断网、wifi无法连接、机器卡死、页面刷新不出来等等
而且有一些模块用起来确实是不太好用的,大多数模块都是网上很有名的软件(kali中也有收录),只是做了个web页面而已,而且点选复杂,还不能覆盖全部参数
但是毋庸置疑,WI-FIPineapple确实能够实现一些网络攻击方式,并且有一些有趣的模块以供选择,模块更新速度很快,也可以自定义模块
因此,对于手中这款WI-FIPineappleNANO,作为学习、研究、演示用,还是可以的,但如果作为实际环境攻击、大型网络嗅探等较为复杂的环境,鉴于计算能力或其他各方面的限制,可能表现的不是那么优秀
而且在实现一些接近实际环境的渗透测试时,需要一定的shell编程/php编程/python编程/网络流量分析等等技能,不同模块涉及知识面不同,需要多方面学习
建议手头宽裕、有一定编程基础、并想要对WI-FI渗透进行入门学习研究的同学入手
在测试时,如果思路广一点,可以实现很多组合攻击,如ettercap配合BeEF,XSS平台,配合metasploit,配合CobaltStrike,EvilPortal配合实时双因子认证钓鱼,网络嗅探类配合被动扫描等等,下面给一张图自己体会: