利用WiFi Pineapple Nano渗透客户端获取SHELL

前言:

前两篇文章介绍了The WiFi Pineapple Nano设备的一些主要功能模块,例如PineAPSSLsplit和Ettercap等。今天给大家实际场景演示下如何利用Pineapple Nano来攻击客户端并且获取客户端SHELL的过程。

0×01  Evil Portal模块

首先,我们还是先介绍模块的基本功能,再进行实验过程的展示,本次实验中我们主要使用到的模块是Evil Portal和PineAP,关于PineAP模块的功能及用法,在我的其他文章中已经提过,这里就不重复介绍。Evil Portal模块不是Pineapple Nano自带的模块,需要在Modules中使用Manager Modules功能添加该模块及安装软件依赖包。

在Evil Portal模块安装完成后,如下图所示:

Evil Portal模块主要有以下几个部分组成:

1、Controls:点击CaptivePoral,启用模块;

2、Word Bench:创建工作目录,包含门户页面的php文件(可以包含php、js等)

3、White List:客户端白名单,即不需要通过门户认证页面跳转的IP地址列表

4、Authorized Clients:当前通过门户页面认证跳转过的IP地址列表

5、Live Preview:门户页面预览

总体来说,Evil Portal模块和我们前面文章介绍过的Landing Page功能很像,区别在于Landing Page仅能够提供一个强制跳转显示页面的效果,不具有认证、白名单以及更自由化的门户页面自定义功能。Evil Portal能够实现像现在的商业WiFi接入访问一样,提供一个由我们自定义的认证页面,引导客户端用户完成认证及跳转功能。

比如我们这里新建一个名为“Test1”的项目,Evil Portal会默认生成一个门户页面给我们使用。

在新建名为“Test1”的项目后,点击Test1的名称,即看到默认生成的3个页面。

我们可以自由编辑这3个文件,达到自己想要的效果:

或者我们干脆删除默认页面,SSH登录到Nano的系统中,找到Evil Portal的配置文件夹直接将我们编辑好的页面copy进去。

另外有一点需要注意的是,在编辑好页面之后,需要启用该项目,即点击Test1下的“Activate”,便可以在预览功能(Live Preview)下看到我们的页面情况,例如默认页面是这样的:

0×02 启用PineAP

在上面我们配置好Evil Portal模块后,我们随即开启PineAP功能,这里不详细介绍PineAP模块的具体用法,有疑问的同学,请参考我之前发布的其他文章。

首先,我们按照正常的配置,启用PineAP模块,等待客户端的连接。

通过Logging模块的PineAP Log功能,查看周围客户端的连接请求记录

等待一段时间后,发现有客户端连上了我们的Pineapple Nano设备。

0×03 攻击客户端

在发现有客户端连接到我们的设备上后,我们就可以正式开始我们的攻击客户端流程。

Kali中运行metasploit同时兼作为我们Pineapple Nano的控制端

攻击流程采用metasploit中的browser_autopwn2模块在客户端访问我们准备的Evil Portal门户页面时,重定向到我们设定好的browser_autopwn2中的payload地址上,此时browser_autopwn2模块自动针对客户端浏览器发起一系列基于flash player的攻击,如果客户端浏览器未更新打补丁的话,便有机会被我们攻击成功。

另外需要注意的是metasploit中有两个browser_autopwn模块,一个是针对java jre环境的,另一个是针对flash的,大家可是视情况选用。

下面我们实际演示一下:运行msfconsole

找到browser_autopwn2模块,设置好SRVHOST和路径。

设置好后,我们show options检查一下

我们可以查看到该模块加载了一共21个exploits,我们设定的地址是“http://172.16.42.203/”

接下来我们看下客户端在访问任意网站前(此处以freebuf为例),会默认显示我们的Evil Portal定义的页面

只要点击下方“Authorize”时,我们在这里做个重定向操作,把客户端的浏览器导向到我们预先设置好的browser_autopwn2的页面上,然后在通过客户端“认证”后,客户端再次刷新页面就能够访问成功freebuf。

这时我们也可以查看Evil Portal的日志来看到,确实有客户端通过了我们准备的认证页面:

当有客户端访问过我们预先准备的browser_autopwn2的payload后,我们回到metasploit中查看是否有攻击成功,我们看到meterpreter已经成功打开了一个会话。

关于metepreter的使用不是本章的重点,这里就不展开多说。

直接访问会话,已经成功拿到客户端的SHELL。

可能我们上面准备的Evil Portal页面实在太简陋,本着出于测试实验的目的,我没有做过多的修饰,其实页面可以美化一下,还是比较能唬人的,类似下图:

0×04 后记

重要的事情说一遍:要多关注厂商发布的版本升级信息,及时升级软件版本。

时间: 2024-10-18 02:10:27

利用WiFi Pineapple Nano渗透客户端获取SHELL的相关文章

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

前言: 之前曾经介绍过国外无线安全审计设备The WiFi Pineapple Nano的SSLsplit模块和ettercap模块及实验. 在玩WiFi Pineapple Nano 设备的过程中,鉴于个人手头只有几块网卡,测试下来发现Nano能够支持的网卡芯片有:RTL8187L .RT3070.AR9271.RT5370-,诸位朋友在自己测试的过程中如果发现网卡识别不到的情况,请参考采用刚才提到的几块芯片的网卡. 今天给大家介绍下Pineapple Nano的一个主要功能模块PineAP和

WiFi Pineapple的Karma攻击与原理探究

WiFi钓鱼是一种被炒烂了的安全威胁,你几乎每天都能从电视.网络媒体中看到因误连了恶意WiFi导致大笔资金失窃的案例,并且很多媒体语不惊人死不休的报道风格总是能把当事人的受害过程删减修饰到灵异的程度.开篇并非是否定WiFi的危害,而是当以一种客观的视角来看待恶意WiFi的威胁. 首先根据我们工作中的情况来看,过半的手机APP毫无抵御中间人的能力.用户名密码等等一堆敏感信息总是与你赤裸相见.升级bin文件(apk/so/script)不仅无法抵御中间人攻击,末了竟然连完整性和防篡改校验操作都没有.

自己搭建Wifi Pineapple Mark V

创业搞得自己很累,不过一切都是值得的.抽空写下文章,确实好久未更新了. 前段时间由于项目需要,所以就折腾了下wifi pineapple.时间间隔有点久,根据回忆记录下. 淘宝货:TP-Link TL-MR3020 一百来块钱 先刷openwrt 所以可以看openwrt对路由器的支持列表. http://wiki.openwrt.org/toh/start 下面是刷机教程,找了几篇刷机教程,但是教程有坑---- 第一步: 下载MR3020的固件 wget http://downloads.op

利用window.name+iframe跨域获取数据详解

详解 前文提到用jsonp的方式来跨域获取数据,本文为大家介绍下如何利用window.name+iframe跨域获取数据. 首先我们要简单了解下window.name和iframe的相关知识.iframe是html的一个标签,可以在网页中创建内联框架,有个src属性(指向文件地址,html.php等)可以选择内联框架的内容,可以看个例子(猛戳这里),大概了解下就行了.window.name(一般在js代码里出现)的值不是一个普通的全局变量,而是当前窗口的名字,这里要注意的是每个iframe都有包

Zabbix安全:破解弱口令后执行命令,获取shell

如果你的Zabbix的Admin口令太弱或者使用了默认口令(Admin/zabbix),而被黑客破解了口令的话,Zabbix服务器在黑客面前就已经毫无抵抗力了.黑客可以创建"system.run[command,<mode>]"监控项执行命令,甚至获取服务器shell,获取root权限. 先介绍下"system.run[command,<mode>]",这个监控项是agent自带的,使zabbix server可以远程在agent的机器上执行

nodejs向远程服务器发送post请求----融云Web SDK/客户端获取token

最近要用到一个叫融云的及时通讯的SDK,在获取token这个步骤的时候有点卡顿,以防以后碰到类似的问题,再此记录一下. 客户端通过融云 SDK 每次连接服务器时,都需要向服务器提供 Token,以便验证身份,流程如下: 流程如下: 1.客户端获取用户id,并向服务器请求token(注意这里的服务器不是融云的服务器,而是客户端的服务端) 2.客户端的服务端接收到token请求后,向融云的服务器请求token 3.融云服务器接受到token请求,返回token给客户端的服务端. 4.客户端的服务端接

利用docker 最新漏洞渗透--提取root 权限

一.事出 近期乌云漏洞平台等科技新闻,爆出Docker虚拟化 端口漏洞,本着热爱开源,实践动手的精神,我也去尝试了下,漏洞严重性确实很高,可以拿到root 登陆账户. 二.还原 2.1 通过扫描,我们找到了一些主机,下面是其中一台运行了docker 主机的服务器,并且开了ssh 端口 知道了22端口后,我们后面会利用此端口来使用root免密码登陆该主机. 2.2 我们可以利用2375 端口做什么? 看到上面的信息后,我们就知道,可以管理该主机上的docker 容器了,启动.停止.创建.下载镜像.

linux c程序中获取shell脚本输出的实现方法

linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令.但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果.例如,执行外部

利用servlet产生随机数,原理是获取Graphics对象进行绘图

public class ResonpeRandomImgDemo extends HttpServlet { int width=100; int height=30; public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException { response.setContentType("text/html;charset=utf