分类 wifidog配置 下的文章

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 整理编辑,转载请注明出处

无线路由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 整理编辑,转载请注明出处

DD-WRT刷机及wifidog配置等等总结

最开始想用openwrt,刷了一个,结果发现不会用,里面配置太复杂了,被wan lan搞晕了,一直无法联网,因为在公司路由器本来在一个局域网下,没办法请公司SA帮忙弄了哈,也没有搞定,换DDWRT吧,这个可是有中文界面的,顿觉亲了很多。

ddwrt确实方便很多了,不过一定要注意呀,因为我要用WIFIDOG,之前下了几个版本都没有wifidog的配置,好像可以自己装,没试过,因为最开始测试用的wiwiz,下载到路由器上以后,没法安装,最后直接下了dd-wrt.v24_nokaid_generic.bin这个版本的ddwrt,上面可以直接配置wifidog.org相当的方便。

wifidog认证服务用authpuppy.org,web服务配置(nginx)。

if (!-e $request_filename) {
    rewrite ^(.*) /index.php last;
}

ddwrt => services => hotspot

11.png

gateway id 这个很重要,认证服务需要这个。

服务器路径这个一定要注意哈,加/,这个最开始老是不对,研究了很久。发现原来路径里面少了一个/,导致无法访问到正确的认证接口,如果是路径的最后还要多加一个/哦。亲

认证服务配置

nodes页面里面加一个node,默认会有一个的啦。定义gw_id就是刚才ddwrt wifidog里面配置的那个。

然后去下载一个plugin,做验证的,apAuthLocalUserPlugin,就他了吧。安装以后里面可以配置,页面信息,注册等等。

现在客户端连接上你的WIFI,去测试下吧,应该可以了哦。亲。

下面说下自己开发wifidog服务端接口的问题。

我只实现了4个接口地址,不晓得其他的还有那些哈。E文看的不是很懂,需要的自己可以看http://dev.wifidog.org/wiki/doc/developer/WiFiDogProtocol_V1

/login 这个是连接的时候访问的登录接口 登录成功以后,返回一个302转向到http://gw_server:gw_port/wifidog/auth?token=你的token,这样子就可以了。至于是否需要用户名密码等等登录方法。看你自己咯

/auth 这个接口太重要,之前各种没法验证的原因都是因为没有访问到这个,路由器在刚才拿到login之后的token后,会再次访问这个接口,带上了一些其他参数如ip、MAC地址等等,当然也包括token,服务器端可以再次做验证,这个接口重要是的要返回给路由成功与否,结果如下:

Auth: Number

Number 如下:

0 - AUTH_DENIED - User firewall users are deleted and the user removed.
6 - AUTH_VALIDATION_FAILED - User email validation timeout has occured and user/firewall is deleted
1 - AUTH_ALLOWED - User was valid, add firewall rules if not present
5 - AUTH_VALIDATION - Permit user access to email to get validation email under default rules
-1 - AUTH_ERROR - An error occurred during the validation process

自己猜内容,我都是猜的。反正我返回的1,就对了。

/ping 这个接口很简单。返回结果内容包含Pong字符串就可以了。

/portal 哦。这个还是有点重要哦,是认证通过以后,路由器自动定向的页面,当然如果你需要返回到用户之前的页面,在/login接口的时候,路由器传入了一个url的地址,那个是用户真的想访问的地址哈。

好吧,打完收工,

本文章由 http://www.wifidog.pro/2014/12/22/DD-WRT%E5%88%B7%E6%9C%BA%E5%8F%8Awifidog%E9%85%8D%E7%BD%AE.html 整理编辑,转载请注明出处

如何用DD-WRT搭建一个开源无线热点网络 (2)

步骤一:获得一个支持DD-WRT的路由器
第一步是选择一些802.11g的无线路由器,诸如如下设备:
• Linksys WRT54G/GL/GS
• Buffalo WHR-G125和WHR-HP-G54
• 华硕WL-500G和WL-300G
你还可以从DD-WRT官方网站上查看完整的支持设备列表(http://www.dd-wrt.com/wiki/index.php/Supported_Devices),上面还有更多信息可供参考。
注重:你应该尽量避免选择只有2MB闪存的设备(诸如WRT54G/GS v5.0/6.0),因为在它们上面你只能运行DD-WRT的简化版。你还应该注重华硕WL-500G高级版只被v23 SP3或以后的版本所支持。

步骤二:获得DD-WRT固件
接下来,你需要下载这个固件,根据你正在使用的路由器和你想要的功能,从DD-WRT官方站点列表(http://www.dd-wrt.com/dd-wrtv2/downloads.php)中下载相应的固件。但是,在你开始浏览这个固件集合之前,你应该让自己了解固件命名和组织的含义。你将看到这个固件被组织为三个不同的部分:稳定版(stable)、候选发布版(release candidates)和测试版(beta)。从名字中你可以看出,稳定版可能是你最好的选择,它是经过具体测试的固件版本。

为了节省路由器资源和支持那些具有较小内存的路由器,每一个固件版本分成不同的版本,来控制其中支持功能的多少。大多数情况下,标准版(Standard Version)是最适合热点网络解决方案的,因为它具有除了非凡的VoIP和VPN之外的所有功能。

另外还有不同的固件类型:
• ASUS:为WL-300/500G预备的。
• Generic:为那些不需要自己版本和非凡需要的路由器而预备。
• Linksys specific:为那些名字以wrt开始的特定型号路由器而专门设计的固件版本。
• Motorola specific:只针对那些微型和迷你型文件版本,以moto标示。
小技巧:对于Linksys最初的固件版本,你必须使用mini版来升级;然后在升级到其他版本。当使用Web界面方法升级的话,你必须使用generic固件类型。
在浏览固件集合的时候,你会看到下列格式的文件名称:dd-wrt.vXX_set_type.bin。其中的XX代表固件版本,set定义固件功能集合(诸如micro或voip等,只对非标准的版本显示),而type则标示硬件类型(诸如ASUS或Generic)。
步骤三:使用DD-WRT固件刷新路由器
有两个基本的方法可以来刷新一个路由器:简单文件传输协议(TFTP),一个使用命令行界面来简单的传输文件的方法;和使用一个路由器的Web界面的固件更新功能。通过网页界面进行刷新非常简单,而且也被大多数路由器所支持。但是,假如你的设备是Buffalo的,你必须使用TFTP方式。
警告:
1、对于任何开源固件,很重要的一点是完全按照其指令和示例来进行刷新,因为任何一个错误都可能让你的路由器报废。
2、当然进行这些修改会让你丧失厂家的质保。
3、升级有风险,需谨慎。

因为具体的刷新过程可能根据路由器的厂家和型号不同而不同,你需要查看DD-WRT网站上的刷新指南(http://www.dd-wrt.com/wiki/index.php/Installation#Flashing)。

步骤四:建立无线热点网络解决方案
正如上面所提到的,DD-WRT整合了许多专门针对无线热点网络的独立开源项目到它的固件中,包括如下:
• Sputnik:整合了来自Sputnik的一个免费版/付费版的托管服务,来提供给用户认证和设备治理功能。尽管你可能需要对这个服务收费,相比其他解决方案,它更具用户友好性。
• Wifidog:被整合到固件中,为自由访问的无线热点提供高级的强制网络门户和内容治理功能。你必须使用它们的专有软件搭建一个外部服务器,这可能需要一些高级Web开发技术和知识。
• Chillispot:为免费或付费访问的无线热点网络提供网络用户认证和治理,但是需要一个外部的RADIUS服务器。
• NoCatSplash:仅仅提供一个简单的强制性网络门户功能和一些过滤功能,但是对于那些自由访问的无线热点网络来说它是非常优秀的。假如你再有些网页开发经验的话就更完美了,这样你可以创建自己的门户页面。其默认自带的页面比较简单。
现在你已经选择了一个解决方案,接下来再看一下设置它的基本步骤(以v23 SP2为例):
1、使用路由器的IP地址(默认是192.168.1.1)登录到网页界面。
2、点击Services(服务)标签。
3、输入路由器的username and password(用户名和口令)(默认是root和admin)到对话框中。
4、点击Hotspot(热点网络)。
5、启用其中一个热点网络解决方案,配置其设置,最后点击保存设置按钮。
尽管我们不会讨论如何配置每一个解决方案,但是你可以从其官方网站上查看相应帮助。

本文章由 http://www.wifidog.pro/2014/12/22/DD-WRT%E6%90%AD%E5%BB%BA%E6%97%A0%E7%BA%BF%E8%AE%A4%E8%AF%81%E7%83%AD%E7%82%B9.html整理编辑,转载请注明出处