0x00 相关背景介绍
随着人们的生活越来越离不开网络,也越来越离不开移动手机,一般的公共厂商都已经将wifi作为基础服务进行提供,譬如在星巴克、麦当劳等公共场所边点杯热饮边“蹭网”,已经是一个基本的习惯了,甚至一些大型的电信提供商已经尝试将wifi作为一个基础的接入。如今公共的wifi很多,尤其是免费的,手机上还有帮助寻找免费wifi的各类app。很多人为了省流量,看到免费的wifi,总会去连接一下尝试网上冲浪。不过,在这些免费的wifi以及大家使用wifi的习惯,加上手机及app的默认行为,就可以导致一些严重安全问题。0x01 成因
随着智能手机的普及,手机上各类app越来越丰富,app避免不了与服务端的通信,因此,在这些不安全的公共无线流量里,你手机里的app可能会泄露你的各种机密信息,而我们的手机如果开启了WiFi功能,就会自动扫描附近的无线网络信号:
0x02 数据劫持
在一个可控的网络环境里,劫持数据有很多方法。比较有名的网络层抓包工具有wireshark,tcpdump,都是很好的网络协议分析工具。我们现在手机上的大多数APP应用层都是使用的HTTP协议,因此我们很多的在web安全测试里面用到的分析工具如fiddler,burp,httpanalyzer,Charles等也都是可以用来分析或者劫持APP的通信流。


0x03 攻击构想
如果我们手机里的app默认会进行很多敏感的请求,譬如微博会自动去登陆和获取最新的微博;如果我们的手机默认会链接周围已经被保存sid的wifi;那么我们为什么不能做一个在地铁上使用的可以抓取周围的人的微博认证信息的wifi呢?通过内置最常见的sid和信息,我们可以使得周围的人会自动链接上我们的wifi,通过抓取相应的数据取得里面的敏感信息我们理论上是可以劫持他的微博的0x04 环境搭建
无论是白帽子试验还是攻击者搭建一个钓鱼环境,便携性都是这类攻击中需要首先考虑到的。硬件方面便携的路由器是一个不错的选择。比如下面tp-link的这款wr-703n,非常小巧。也具备一定的定制性,虽然配置一般,但是定制一个灵活小巧的系统还是非常方便的。

opkg update
opkg install luci
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start
在浏览器访问路由器的网关地址即可看到luci界面了,就可以在浏览器直观的配置路由器了。为了配置多ssid,我们可以在openwrt上开启vlan来模拟多个虚拟子网如vlan1和vlan2
config switch eth1
option reset 1
option enable_vlan 1
config switch_vlan
option vlan 1
option device eth1
option ports '0 1 2 5t'
config switch_vlan
option vlan 2
option device eth1
option ports '3 5t'
两个vlan网络接口分别为eth1.0和eth1.1,0、1、2口为一个子网,3口单独一个子网。现在把eth1.0和eth1.1两个网络接口组成一个网桥lan:
config interface lan
option type bridge
option ifname 'eth1.0 eth1.1'
option proto none
lan默认不设置ip,如果想远程访问OpenWrt,则必须按情况设置static或dhcp。
关闭防火墙,因为网桥用不着:
/etc/init.d/firewall disable
重启网络后可以用ifconfig看到很多网络接口,只要监听br-lan就行了:
br-lan Link encap:Ethernet HWaddr ××××××××××××××××××
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth1 Link encap:Ethernet HWaddr \*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\**
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:14
eth1.0 Link encap:Ethernet HWaddr \*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\*
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth1.1 Link encap:Ethernet HWaddr \*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\\*\*\*|\*
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
在OpenWrt里安装Tcpdump:
opkg install tcpdump
运行Tcpdump监听POP邮箱密码:
tcpdump -X -i br-lan port 110
/udisk/tcpdump -XvvennSs 0 -i br-lan tcp[20:2]=0x4745 or tcp[20:2]=0x4854 -w ./udisk/test.cap
将结果dump到本地,0x4745 为"GET"前两个字母"GE",0x4854 为"HTTP"前两个字母"HT"。
注意:tcpdump 对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序(如Wireshark)进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。
下图是test.cap在wireshark中的展现。

agnes项目,全民wifi 钓鱼时代来到。
http://www.cnblogs.com/l137/p/3974906.html
我从来不用别人家的wifi 。。。。
随身背个WIFI一路黑的去。。。。
重点是最后一句?
xsser 一句话就暴露出你没玩过。实际情况,搞户外大部分还是电脑加各种设备。大家都有app 登录。port太多,很容易爆表。
现有有几个邮件没https 这个搞个中间人 硬件可有点吃紧。
老老实实买个可写系统的中继器加电脑靠谱一点。
大家都说你现在很帅,我想看你短发照
但是不具备便利性啊
openwrt 固件不大,但你推荐的设备内存太小,自己加入模块,例如中间人,有现成python或修改交叉编译,但这内存放不了python 最小安装。
我常用的做法是直接用信号放大器开放热点,利用公共wifi,镜像流量。
是这样啊 话说你怎么也是我这个屌丝头像?
一个小盒子放到口袋里就能钓鱼了,这个太邪恶了啊~~~~~
的确可以的,但是第一不是特别方便,考虑到地铁环境;第二要灵活的配置公共wifi里的sid啊
无线网卡开启一个softAP也可啊
好强,好给力,@xsser 求粉丝