2014年12月

Wifi web认证钓鱼

Wifi有一种web方式认证方案,当连接到某些不加密的热点之后,会跳转到一个网页来认证登陆,大家熟悉的CMCC就采用了这种web的验证方式。它的原理是在得到正确的认证之前,会把所有的流量重定向到认证服务器上,通过认证后,便可以正常使用。如果说仅仅想获取web验证时其他用户的用户名和密码,arp欺骗然后嗅探足够了。因为此时攻击者已经分配到了ip,且同一网关下产生的流量是不会重定向的。但是目前的情况是,认证服务器用的https加密传输,无法嗅探到明文密码。于是萌生了伪造热点及web认证服务器,然后记录密码的想法。

客户端在接受WiFi信号的时候有一个特点,在ssid相同的时候,会只保留信号强的那一个无线路由的ssid。这样,只要伪造热点的ssid与原热点的相同,会有部分人搜到伪造的热点,从而登陆,记录密码。本无线路由用的ddwrt的系统,装了wifidog来进行辅助web认证。至于如何搭建web认证系统,百度一大把,但主要是用了wiwiz和wifiap这两个成熟的网站提供的方案。但是,利用第三方的网站无法拦截到用户名和密码,而且无法控制认证的过程。最好的解决方法是自己搭建一个简单的系统。

Wifidog的认证流程如下:
1、客户端发出一个http请求(http://www.xxx.com)
2、网关将该请求信息以及网关本身的一些信息作为参数,将原始的请求重定向到web认证服务器(http://auth_server/login/)
3、Web认证服务器通过客户端的认证之后,返回一个一次性的token,客户端带着这个token去网关上的wifidog开放的端口去做验证(http://GatewayIP:GatewayPort/wifidog/auth?token=[auth token])
4、Wifidog拿到token后,到web认证服务器检测token是否有效,如果有效则通过客户端的验证,开放访问权限,并将客户端重定向到web认证服务器的欢迎界面(http://auth_server/portal/);如果token无效,则需要继续验证

Wifidog官方推荐的web认证服务软件为authpuppy (http://www.authpuppy.org),不过其代码比较复杂,可以参考wifidog之前的web认证服务软件。获取方式为:
svn checkout https://dev.wifidog.org/svn/trunk/wifidog-auth,然后按着www.authpuppy.org,
web认证服务软件用php写成,重点文件为wifidog-auth\wifidog\login\index.php(客户端web认证、产生token以及重定向到wifidog的开放端口)、wifidog-auth\wifidog\auth\index.php(wifidog验证token)、wifidog-auth\wifidog\portal\index.php(认证成功后页面重定向)。宏定义在wifidog-auth\wifidog\include\common.php文件中。
了解了基本流程就可以DIY出一个简单的web认证服务器了。在认证的过程中可以顺便记录下客户端的密码。
路由器上Wifidog配置如下图。重点配置的地方为端口号(port),认证服务器(AuthServer Hostname), 认证服务器web端口(AuthServer HTTP Port),路径(AuthServer Path)。

1.png

web认证服务器端代码大家自己发挥吧。我个人只是实现了记录用户名密码这样一个简单的功能,如果要做的好的话可以用用户提交的密码到真正的认证服务器做一次认证来返回合适的结果,以及自己搭建dns服务器伪装的更加逼真,但是对于那些比较敏感的用户,还是不容易进行欺骗的,比如ssl加密没了。

考虑到功耗和实用问题,我的web认证服务器是搭建在树莓派上的。配置好无线路由的WLAN确保能联网之后,设置路由器的ip为10.1.1.1,手工配置树莓派静态ip为10.1.1.2。树莓派上安装nginx和php,配置好webserver的环境,上传自己的代码。开启无线路由的wifidog就可以守株待兔了。

当用户连接到自己搭建的无线路由器之后,可以说所有的网络流量都在控制之中了。不过怎么拿到这些流量成了一个问题。在此有三种拿到流量的方法。

  1. ARP欺骗
    这个不多说,大家都懂。不过有种偏离正题的感觉。
  2. 网线嗅探
    当所处的环境通过网线来连到互联网时可用这个方法。将网线接入自制的硬件并将另一端插到无线路由的WLAN口,做好相应的配置。所需硬件参见我之前的一个帖子。原理类似于Throwing star lan tap,直接监听网线上的数据。(无线路由的WLAN口)
  3. 通过笔记本做中介
    当所处的环境只有无线网连到Internet时,可用笔记本来搭建一个中介。
    其连接关系为:
    AP—无线网卡—有线网卡—自己的无线路由—受害者
    这时用笔记本就可以直接嗅探到所有的数据。
    在这里就不细说如何在windows 上开启无线热点的方法了。
    对于流经网卡的数据包,可以收集的信息主要有两种:密码和session。
    windows下的cain用来嗅探并提取得到的用户名密码,改下规则也能得到特定的cookie。
    linux下的ettercap设置好规则能获取到几乎所有想要的信息,还能用来更改返回的web页面、挂马、添加cookie等等,可谓神器。
    至于开启了ssl加密的服务器,可以用ssltrip来得到明文传送的数据。
    如果不怕麻烦的话,还可以自己搭设dns服务器来钓鱼,不过这样就有些杀鸡牛刀了。

本文章由 http://www.wifidog.pro/2014/12/23/wifidog-%E8%AE%A4%E8%AF%81%E9%92%93%E9%B1%BC.html 整理编辑,转载请注明出处

ddwrt wifidog配置

启用认证: 启用,这个不解释
热点帐号: 一般是路由LAN口MAC
热点服务器地址:此处填认证服务器地址:auth.cnrouter.com
热点服务器路径:此处填认证服务器路径:/wifidog/
检查周期: 是路由器检查认证服务器是否在线的时间间隔。如果认证服务器因为需要维护或者其他故障无法访问,路由器将暂停热点认证功能,连接路由器用户不需要认证直接可以上网。避免新的用户因为通不过认证而导致无法上网。当认证服务器恢复正常认证功能后,路由器的认证功能也将在一个检查周期内自动恢复认证跳转功能。

用户超时周期: 用户在超时周期内无任何互联网访问请求,路由器则认为该用户已经离开,同时将其认证信息删除,该用户再次连接路由器需要重新进行身份认证。超时周期不宜过长,影响路由器性能,以10分钟为宜。

免认证域名名单:该名单内的网站所有用户未经过认证可以访问,多个域名需用逗号(英文状态下的逗号)隔开。(比如:weixin.qq.com,cnrouter.com)

免认证mac名单:该名单内用未经认证也具有全部互联网访问权限的用户,将其终端的mac地址加入到名单即可。多个mac地址需用逗号(英文状态下的逗号)隔开。

是否开启ssl安全连接:根据热点服务器来设置是否开启,此处不开启。

本文章由 http://www.wifidog.pro/2014/12/23/ddwrt-wifidog%E9%85%8D%E7%BD%AE.html 整理编辑,转载请注明出处

DD-wrt+Wiwiz搭建私人免费(收费)WiFi认证页面+详细的操作教程

  1. 系统需求
    硬件
    -已安装了DD-WRT固件的无线路由器
    注:
    DD-WRT的Wifidog功能是必须的。所以请选择正确的DD-WRT版本
    将无线路由器接入Internet。
    设置并启用无线网络,即使用无线路由器创建一个可用的Access Point。
    在无线路由器的Web用户界面中SSHD(或Telnet)功能。
    另外,需要确保:
    Cron服务已启用
    Wifidog服务已禁用
    已启用JFFS2支持

  2. 在Web控制面板中创建热点
    登录到Web控制面板,访问http://cp.wiwiz.com/as/
    点击“我的热点”,在接下来的页面中点击“创建热点”。根据页面的提示完成各项设置,点击保存。
    你将会看到你刚创建热点的Hotspot ID。记下它,接下来的步骤将会用到它。

  3. 安装与设置HotSpot Builder Utility组件
    将一台PC连接至你的无线路由器,用telnet或者ssh方式连接到无线路由器(如,在PC上执行“telnet 192.168.1.1”)。
    执行以下命令:
    cd; wget http://dl.wiwiz.com/hsbuilder-util-latest-DD-WRT.tar.gz
    cd /jffs; tar -zxf /tmp/root/hsbuilder-util-latest-DD-WRT.tar.gz
    /jffs/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /jffs setup

然后按照提示完成设置。
特别地,你需要输入的Hotspot ID就是你在Web控制面板中创建的热点的Hotspot ID(不是热点的名称)。User Name是你在控制面板注册的用户名。
现在,如果没有报错信息,那么安装已经完成了。
最后,你可以使用一个Wi-Fi客户端(如带WLAN适配器的PC或者支持Wi-Fi的移动电话)测试一下你的热点:

  • 搜索可用Wi-Fi热点,并连接到你的热点。
  • 打开Web浏览器,输入任何一个HTTP开头的网址。如果你的热点的认证页面能够显示出来,就说明你的热点已经正常运转了。
    ——————————————–
    在不支持JFFS2的情况下的安装方法
    若您用的DD-WRT版本不支持JFFS2或没有足够的JFFS2剩余空间,也可以将Wiwiz HotSpot Builder Utility安装在/tmp目录或其他可存储的目录下,即通过Telnet或SSH连接至DD-WRT设备后执行以下命令(需要先将你的DD-WRT设备连接至Internet):

cd; wget http://dl.wiwiz.com/hsbuilder-util-latest-DD-WRT.tar.gz
cd /tmp; tar -zxf /tmp/root/hsbuilder-util-latest-DD-WRT.tar.gz
/tmp/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /tmp setup

注意:
一般,DD-WRT设备重启后/tmp将会被自动清空,之前的安装设置也会失效。如果希望每次DD-WRT设备重启后依然能保持Wiwiz的设置,可以尝试以下方法:
将你的DD-WRT设备连接至Internet。
打开浏览器进入DD-WRT的Web管理界面(通常的地址是http://192.168.1.1),选择“管理”->“命令”标签页,在“指令”中输入以下内容(将HOTSPOTID和USERNAME分别替换为您实际的Hotspot ID与Wiwiz用户名):

if [ ! -e "/tmp/usr/local/hsbuilder/hsbuilder.sh" ]; then
wget -O - "http://dl.wiwiz.com/hsbuilder-util-latest-DD-WRT.tar.gz" > /tmp/hsbuilder-util-latest-DD-WRT.tar.gz
cd /tmp; tar -zxf /tmp/hsbuilder-util-latest-DD-WRT.tar.gz
/tmp/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /tmp qsetup -hotspotid HOTSPOTID -username USERNAME
fi

然后点击“保存为防火墙指令”。之后,重启DD-WRT设备,并等待数分钟至Wiwiz客户端加载完成。

本文章由 http://www.wifidog.pro/2014/12/23/DD-WRT-wiwiz.html整理编辑,转载请注明出处

无线路由web页面认证架设资料

好多人都问我这个web认证界面是怎么做的,我在此把官方的资料贴出来,大家慢慢看!

备注:使用这个web认证界面不需要买指定的路由器,只要是使用DDWRT固件(或者openWRT固件)的路由都可以使用!
这里的资料使用DDWRT固件。

一、硬件准备(硬件支持列表) 请参照DD-WRT网站的“支持的硬件列表”:
http://www.dd-wrt.com/wiki/index.php/Supported_Devices
如果你的产品不在列表中,请确认你的路由器支持DD-WRT,或与我们的技术人员联系。
已熟悉 DD-WRT 并正确配置上网的用户,请直接跳到第五点。

二、升级DD-WRT固件请先将路由器升级为DD-WRT原版,并确认该版本支持wifidog功能(进入路由器管理界面的“服务》热点”查看是否有wifidog的选项。升级方法请百度)。
默认内网IP为192.168.1.1 DHCP开启(具体配置可参照第四点)。
Step 1:获取IP地址,访问[url=]http://192.168.1.1[/url]
Step 2:设置web管理界面的登录用户名和密码
Step 3:设置web管理界面语言为中文:
“管理》管理”:

1.png

三、配置网络参数 打开“设置》基本设置》WAN连接类型”,设置下图红色框处的参数(PPPoE、DHCP或静态IP,根据你的网络环境而定):

2.png

“可选设置”:输入路由器名称(任意名称,如OldTreeCoffee)。

3.png

“网络设置》路由器 IP ”:
1)本地IP地址为192.168.X.X(X为1-254之间的任意数字,如192.168.12.1)
2)子网掩码为255.255.255.0
3)其它参数默认
4.png

“网络设置》网络地址服务器设置 (DHCP) ”:
1)DHCP类型为“DHCP服务器”
2)DHCP服务器“启用”
3)起始IP地址为100(大于1小于255的数值)
4)最大DHCP用户数(100)
5)其它参数默认
5.png

6.png

四、配置无线网络 “无线》基本设置”
1)无线模式为“访问点(AP)”
2)无线网络模式为“混合”
3)无线网络名(SSID)为“wifiap.cn_XXX”
4)无线频道一般选择(1、6、11)三个频道的其中一个(如果无线信号不稳定,请尝试更改此参数)
5)其它参数默认
6)点击“保存”,再点击“应用”

7.png

至此,连接到的wifiap路由器的电脑(有线或无线)均可正常上网。
务必先确认路由器在未开启认证的时候能正常上网。

五、注册Wifiap中央管理平台账号1)访问wifiap官方网站
2)点击右下角的“商家登录|后台管理”,并进行注册[url=http://c.wifiap.cn/customer/reg.php]http://c.wifiap.cn/customer/reg.php
3)填写注册相关资料,提交免费注册(请牢记你的登录账号和密码)
六、创建云端AP并更新标识1)登录官方网站的管理后台
2)从顶部导航进入“热点管理》热点维护》【新增】”
3)热点名称:热点的唯一标识名称(脚本中的hotspotname)
4)热点类型:选择“商家版”
5)机器码:输入一段字符串,如wifiapkey
6)点击“添加”,成功添加此热点(在“热点维护”中的“更新标识”可修改更多参数)
7)在“热点维护”页面找到新增的热点,在“操作”中点击“生成启动脚本”
8)填写路由系统(DD-WRT)、热点名称(刚新增的热点)、机器码(刚新增的机器码),然后点击“自动生成脚本”,在文本框中复制脚本(见下图)
9)配置路由认证,粘贴脚本(见第七点)
8.png

七、配置路由器认证模块 进入wifiap路由器web管理界面,并打开“管理》命令”:
9.png

在指令输入框处,粘贴脚本(在脚本参数中生成的脚本)
编辑完成后,点击“保存为启动指令”,然后重启路由器生效。如下图示:
10.png

八、启用web认证功能并配置认证页面进入官方网站的“热点管理》认证页面配置”,找到刚创建的热点,并点击【认证配置】
1)认证模式》认证方式:选择“用户认证”(其它认证方式请参考“云中心管理系统说明”)
2)认证模式》登录后跳转页面:用户登录成功后强制跳转的页面,如贵公司的网站(留空则跳转到认证前访问的页面)
3)认证模式》注册开关:是否允许用户自助注册,和注册的类型
4)web认证页面》页面模板:务必选择一个合适的模板,并点击“模板示例/使用说明”配置好各文本和图片,点击“修改”确认提交
5)点击【预览】查看页面效果,如需要调整,可即时修改参数,最后点击“修改”生效
11.png

九、用户账号管理 进入官方网站的“账号管理》创建账号”,添加一个账号,如test,密码123456
高级账号管理功能请参考“云中心管理系统说明”
十、重启路由器 回到路由器管理界面,进入“管理》管理”页面,点击右下角的“重启路由器”,认证功能将自动启动。
应用效果 打开浏览器,随便输入一个网址,将强制跳转到wifiap云后台配置的认证页面,用户必须输入账号密码方可进行上网。

本文章由 http://www.wifidog.pro/2014/12/23/%E6%97%A0%E7%BA%BF%E8%B7%AF%E7%94%B1%E5%99%A8web%E9%A1%B5%E9%9D%A2%E8%AE%A4%E8%AF%81.html 整理编辑,转载请注明出处