Exploit XJTU_WLAN(二)

前言

俺在前文中剖析了XJTU_WLAN这个WiFi的一些漏洞。本文接着前文,进一步优化,实现对所有流量的转发,而非单端口的代理。本文旨在实战,俺也不再浪费笔墨来讲述TAP/TUN驱动的原理。

炊具一览

Rasbery Pi一枚(自购无线网卡)
ShadowVPN一枚
202.117.0.0/18或者115.154.0.0/16的主机一枚

菜谱分析

解决方案如下图所示,Raspberry Pi上面有两张物理网卡,分别是eth0(Pi自带)和wlan0(自购)。
需要上网的设备为左边的My Mac,其中蓝色的块为数据包,首先数据包由My Mac发送到tun0上,tun0再将该数据包打上紫色的UDP53头,通过wlan0将数据送出。wlan0连接到XJTU_WLAN热点,该热点对UDP53的流量不阻拦,正确的将该数据包送向俺们安放在外面的主机,俺们的主机拆包,并将该数据送向Internet,反向流量同理。如此,便完成了一记完美的Bypass。

开始做菜XJTU_WLAN

Raspberry Pi 过水

首先Rasberry Pi上配置Shadowvpn一枚,编译后进行配置,如果默认情况下,编辑/etc/shadownvpn/client.conf文件,特别注意一下server=x.x.x.x和port=53配置。其他按需求配置即可。

配置/etc/shadownvpn/client_up.sh文件,请特别注意注释掉所有iptables与route相关的配置,否则会造成严重后果。因为shadownvpn会在进程启动后直接调用该脚本进行iptables与route的配置,由于特殊的网络环境限制,俺们需要手动的修改iptables与route配置。

 202.117.16.x过油

直接默认的方式安装shadowvpn就好了,自行配置/etc/shadowvpn/server.conf的server与port字段,使其和raspberry pi和client.conf字段一致。

实际上,注意到,shadownvpn的作者在iptables的nat配置时,显得非常暴力。更准确的写法应该是source字段写为客户端的ip地址就可以了。但是实际上,由于配置服务端时并不知晓客户端的IP地址,所以作者在这里采取了折衷的做法。
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere             /* eth0 (shadowvpn) */

Pi与Host一锅闷 

经过上述的过程,想必大家对shadowvpn这个小程序已经有所了解,其实shadownvpn利用了kernel 2.2.x的tun/tap特性,俺这边文章还是以实战为主,便不再对该特性做深入的解释。

配置俺的Mac电脑的IP地址与网关,注意到网关为Pi的IP地址。其他按照喜好添加。

登陆202.117.x.x的主机,开启shadownvpn -c /etc/shadownvpn/server.conf,注意更改iptables的规则udp 53接受,俺之前就因为这个原因,导致装逼失败。

配置好pi的eth0的IP地址,利用SSH登陆,首先iwconfig wlan0 "XJTU_WLAN",使得wlan0接口连接XJTU_WLAN热点,然后dhcpclient wlan0,获取IP地址等信息。如果此时DNS已经能够顺利解析,其实你已经成功了一大半。继续,直接执行shadownvpn -c /etc/shadowvpn/client.conf,开启shadownvpn客户端进程,现在注意到ifconfig之中出现了tun0接口,并且ip为10.7.0.2,接着ping 10.7.0.1,试试看是否已经成功搭上梯子。

接着,配置路由规则与NAT。首先ip route del default删去默认的转发规则,加上ip route add default via 10.7.0.1,接着加上通向目的主机的规则,ip route add 202.117.x.x via 49.208.0.1。OK,搞完这两步,应该你的Pi能够正常上网了,试试百度能否打得开(哎,百度在俺心中沦为了,逃。。。)

最后一步,开启NAT,使得接入小Pi的主机也能正常浏览网页,iptables -t nat -A POSTROUTING -s 192.168.x.x -j MASQURADE -o tun0,打完收工。

试试你的小电脑能够乖乖的上网了?

总结

好了,俺记得有同僚问我,难道你交网络中心的人吃素的?俺的回答:当然不是。好吧,为了封堵这个东西,去换掉所有天花板上的AP,你说划算不划算?

当然,俺如写流水账般洋洋洒洒才手写了这么几行,实际上,在本文背后的技术细节还是蛮多的,譬如TUN/TAP,Netfilter模块等,都不是看了本文就能了解的,特别是netfilter的链/表的运行机制与iptables的配置,其实俺还是弄了好久才搞懂咧!

谢谢观看!

2 comments:

  1. 剥削电影是一种依赖营销的电影,它利用或利用禁忌,禁止或煽动性的话题,并且在没有传统营销的情况下会吸引很多流行和口碑的关注。 好莱坞最早的时期,剥削电影已经存在。 例如,可以在我的网站上看到的两部电影是20世纪30年代的剥离电影。

    ReplyDelete