渗透测试黑客技术WIFI渗透利器PineappleNano初探

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配合实时双因子认证钓鱼,网络嗅探类配合被动扫描等等,下面给一张图自己体会:

THE END
1.如何获得自签名证书如何使用私钥生成签名2. 使用私钥生成自签名证书 接下来,使用生成的私钥来创建自签名证书。运行以下命令: 【bash】 openssl req -new -x509-keyprivate_key.key-outself_signed_certificate.crt-days365 这条命令会提示您输入一些证书信息,如国家、组织、通用名称等。您可以根据需要填写这些信息,或者留空以使用默认值。最后,证书的有效https://blog.csdn.net/umut9/article/details/144329237
2.EV代码签名证书怎么申请?简介:在数字化时代,EV(Extended Validation)代码签名证书因其严格的验证过程和高信任级别,成为软件开发者确保软件真实性和完整性的重要工具。本文介绍了EV代码签名证书的概述、申请流程、重要性及实际应用价值,强调了其在提升用户信任、软件安全性和品牌形象等方面的作用。PinTrust作为数字证书安全服务商,提供多种类型的证https://developer.aliyun.com/article/1645205
3.如何使用C#创建自签名证书?另一种选择是使用CodePlex 的CLR安全扩展库,它实现了一个帮助函数来生成自签名x509证书:https://www.imooc.com/wenda/detail/583578
4.PowerShell:在Windows中创建并导出自签名证书自签名证书在许多场景中都很有用,尤其是在测试和开发环境中。然而,因为它们不是由可信的CA签名的,所以在公共互联网上使用自签名证书可能会引起信任问题。 创建自签名证书 在Windows中,我们可以使用 PowerShell 的New-SelfSignedCertificatecmdlet 来创建自签名证书。以下是一个创建自签名证书的例子: https://cloud.tencent.com/developer/article/2311786
5.C#生成自签名CA证书漫思//创建证书,如果需要cer格式的证书,到这里就可以了。如果是pfx格式的就需要加上访问密码 var x509Certificate = certificateGenerator.Generate(keyPair.Private); byte[] pkcs12Bytes = DotNetUtilities.ToX509Certificate(x509Certificate).Export(X509ContentType.Pfx, password); https://www.cnblogs.com/sexintercourse/p/16661378.html
6.c#自动生成PFX证书文件KeePass2.26VC#源码,一个密码管理软件 上传者:develop2050时间:2014-06-02 WinForm程序创建证书、签名、安装、发布、自动更新全过程 压缩包里面有两个文档。一个是创建证书、签名、安装、发布、自动更新应用程序等的大纲、步骤。另一个是它的具体实现。包括有vs2010的截图说明。 https://www.iteye.com/resource/aiziji15-7744627
7.Windows服务器中的自签名证书或者创建一个自定义验证程序,可以用来告诉您的应用程序接受自签名证书。https://www.orcode.com/question/1428892_kb9045.html
8.PowerShell笔记9.脚本51CTO博客创建自签名证书 创建一个自签名证书,需要用到microsoft的工具,makecert.exe 。这个工具不能单独下载,但是它包含在微软的.NET framework中,如果你的电脑上已经安装了Visual studio 那就方便多了。 开始->所有程序-Microsoft Visual Studio 2019->Visual Studio Tools->Visual Studio 命令提示(2019) https://blog.51cto.com/u_15127701/4546204
9.为我的本地IP生成自签名ssl证书时c#我正在尝试从此 .cnf 文件生成自签名 SSL 证书: [req] default_bits = 2048 distinguished_name = req_distinguished_name req_extensions = req_ext x509_extensions = v3_req prompt = no [req_distinguished_name] countryName = BR stateOrProvinceName = SC localityName = PB organizationName = Myhttps://www.soinside.com/question/tdjCAV5GtkdhrBKEWtDGQK
10.在windows中生成证书C#(1)在C# 中生成证书可以用于加强应用程序的安全性,保护敏感信息不被非授权用户访问。本文将介绍如何在 Windows 中生成证书。生成自签名证书自签名证书是一种自我签名的数字证书,可以用于本地测试和开发。下面是在 Windows 中生成自签名证书的步骤:1. 打开“证书管理器”在Windows 中搜索“证书管理器”,打开证书管理器。https://imangodoc.com/dNMAR42Y.html
11.SSL自签名证书双向认证实践使用openssl, nginx, curl 进行双向自签名认证实验 本机/etc/hosts 配置单机域名: 127.0.0.1 demo.cc 术语 CA:认证机构,浏览器上的绿标是指证书的认证机构是已知的安全的机构,自签的情况下,浏览器一般会提示证书的签发机构不认识,提示不安全。 key: 证书密钥文件,不用于公网传输,仅用于程序内部计算。 https://www.jianshu.com/p/e1bbd2070918
12.httpd使用ssl模块配置HTTPS最后,生成类型为X509的自签名证书。有效期设置3650天,即有效期为10年 # openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt 生成密钥流程如下图,供参考 创建证书后,将文件复制到对应的目录。 # cp server.crt /etc/pki/tls/certs/ https://blog.mimvp.com/article/9053.html
13.C#SSL/TLS信任问题解决自定义验证逻辑可以提高安全性,但需要仔细考虑各种可能的情况。 安全性 忽略证书验证错误可能会降低安全性,建议仅在信任的服务器上使用。 除了上述方法外,还可以考虑以下替代方法 使用自签名的证书 安装证书 将自签名的证书添加到客户端的受信任证书库中。 https://code-examples.net/zh/q/abb28
14.Docker从入门到精通搭建认证加密功能的仓库(生成证书并启动registry) 搭建registry的认证功能 系列文章目录 一、harbor仓库(最小化安装)的搭建及用法 二、 harbor仓库添加功能模板(安全模块签名和扫描) 系列文章目录 一、本文内容 二、 docker原生网络 2.1容器间如何通信 2.1.1桥接模式 http://www.zsrm.cn/news/49457.html
15.自动化测试工具Webdriver入门解析3) 弹出框,对话框(基本身份认证,自签名的证书和文件上传/下载) Webdriver的优点 当这两个框架被合并后,一个框架的缺陷被另一个框架所弥补。WebDriver对浏览器的支持需要对应框架开发工程师做对应的开发;同样Selenium必须操作真实浏览器,但是WebDriver可以HTML unit Driver来模拟浏览器,在内存中执行用例,更加的轻便。Selhttp://www.51testing.com/zhuanti/webdriver.htm
16.WCF服务中的身份验证和授权图4. 已创建自签名证书。在生产环境中,不应使用自签名证书。 应使用来自组织或受信任第三方的证书。 应仅在自己的计算机上使用自签名证书进行开发和测试。接下来,需要配置 IIS,使网站能够使用 SSL 和刚刚创建的证书进行通信。 在“连接”窗格中,右键单击“默认网站”,然后选择“编辑绑定”以显示“网站绑定”对话https://learn.microsoft.com/zh-cn/previous-versions/dotnet/articles/ff406125(v=msdn.10)
17.C#获取PDF中的数字签名证书C#教程PDF中的加数字签名是对文档权威性的有效证明。我们在向PDF文档添加签名时,需要准备可信任的签名证书。同时,对已有的签名,可验证签名是否有效,也可以获取文档中的签名证书信息。下面,以C#代码示例展示如何来获取PDF中的数字签名证书信息。 环境准备 需要在程序中导入Spire.Pdf.dll。这里以一个控制台应用程序为例,引用https://m.jb51.net/article/230413.htm
18.微软商店的应用appx签名若要了解手动创建应用包的详细信息,请参阅使用 MakeAppx.exe 工具创建应用包。 有效的签名证书 有关创建或导入有效签名证书的详细信息,请参阅创建或导入应用包签名证书。 SignTool.exe 根据SDK 的安装路径,以下是 SignTool 在 Windows 10 电脑上的位置: https://www.wosign.com/Support/app_package_using_signtool.htm
19.RedTeamNotes/CobaltStrike的使用教程.mdatmaster·xf555er/Cobalt Strike的Malleable C2 profile提供了两种方式来设置SSL证书:使用预生成的证书和生成自签名证书 使用预生成的证书 如果你已经有一个预生成的PEM格式的SSL证书(包括公钥和私钥),你可以直接在profile文件的http-certificate代码块中来指定它 在下述例子中,set keystore命令指定了证书文件的路径,而set password指定了https://github.com/xf555er/RedTeamNotes/blob/master/CobaltStrike%E7%9A%84%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.md
20.配置Snowflake以使用联合身份验证SnowflakeDocumentation创建证书签名请求 (CSR) – 可选 默认情况下,Snowflake 中的 SAML2 安全集成为 SAML IdP 使用自签名证书来加密 SAML 断言。如果您的组织需要使用证书颁发机构颁发的证书 (CA),请完成以下步骤: 使用系统函数 SYSTEM$GENERATE_SAML_CSR 从Snowflake 生成证书签名请求 (CSR)。 为选择的 CA 提供 CSR,以便发布证书https://docs.snowflake.cn/zh/user-guide/admin-security-fed-auth-security-integration
21.AdobeFlashPlatform*关于XML签名(此列表必须是安全的,它或者由自己签名,或者存储在 AIR 加密的本地存储区中,以便列表本身不会被篡改。) 注: 虽然可以选择信任没有独立验证的签名证书(如“自签名”证书),但这样将不会通过验证签名获得任何保证。不知道谁创建了签名,保证签名不被篡改几乎没有意义。签名可能是对有效签名的伪造。 证书过期和https://help.adobe.com/zh_CN/as3/dev/WS0d09d76dc8b209fc-4cec51c711c2bd135a5-8000.html
22.莆田市教育局督导与安全一体化平台服务类采购项目附件前述翻译机构应为中国翻译协会成员单位,翻译的中文译本应由翻译人员签名并加盖翻译机构公章,同时提供翻译人员翻译资格证书。中文译本、翻译机构的成员单位证书及翻译人员的资格证书可为复印件。 7.6除非竞争性磋商须知前附表另有规定外,供应商承诺的报价应以人民币进行报价,合同实施结算时亦以人民币支付;所有计量均采用http://www.ptzfcg.gov.cn/upload/document/20221117/66524fea9146431bb6f4eab0fd7ed8f8.html