当前位置:文档之家› 无线路由器认证会话劫持漏洞

无线路由器认证会话劫持漏洞

Blog :Email :longaslast@无线路由器认证会话劫持漏洞作者:杨哲/Longas 【ZerOne Security Team 】(注:本文已发表在《黑客手册》杂志2010年第1--4月合刊上,引用时请注明出处,谢谢)前言:对于已经成功破解了无线WEP 或者WPA-PSK 加密的黑客,亦或者是通过其它手段比如溢出等方式进入内网的黑客来说,可能会面临着无法获取无线路由器管理权限的苦恼。

从2010年2月起,我将陆续以“无线攻击者漏洞讲堂系列”的方式,讲述在这一种情况下的攻击、漏洞利用等渗透技术及技巧。

这次是基础篇第一讲:无线路由器认证会话劫持漏洞攻击。

废话少说,直接开始。

1.漏洞相关介绍1.1受影响的无线网络设备其实关于这个漏洞爆出的还是比较早的,早些年在Securityfocus 、WVE 上就能看到,但是遗憾的是直到现在,存在这类漏洞的厂商多数还没有修正这一问题。

这个漏洞最早在Belkin (贝尔金)F5D8233-4 无线路由器上被发现,但经过测试,我发现Belkin 这款目前在市面上同样流行的F6D4230-4无线路由器依然存在此问题,甚至一些旧型号的D-Link 、TP-Link 及IPTime 等品牌无线路由器也存在此安全隐患。

1.2漏洞描述:该漏洞最早被发现在F5D8233-4这款无线路由器上,但Belkin 其它型号的无线路由器也疑似存在该漏洞,比如F6D4230-4。

如下图1和图2所示,这里我就使用目前市面上比较流行的型号为F6D4230-4这款Belkin 无线路由器为例,PS :这款设备现在已经被我搞得身首异处了,恩,还有其他朋友做Belkin 的代理么? 图1 图21.3漏洞原理:讲原理之前要强调一点:注意,本攻击方式前提是已经具备连接目标无线网络的能力,即已经破解WEP 或者WPA-PSK 连接加密!!!或者说已经具备从有线网络访问该无线路由器的能力。

若没有破解则下述攻击原理无效。

由于之前大量旧型号的路由器设计都采用HTTP 身份验证机制,该机制使得处于内网的攻击者可以较容易地实现会话劫持攻击。

若具备admin 的会话已经存在无线网络中,则Blog :Email :longaslast@由于认证过程在传输中是明文的缘故,其密码等都可以直接通过sniff 来获得。

若该admin 会话处于有线网络连接中,则攻击者也可以使用ARP 欺骗等方式来截获该管理密码。

目前,绝大多数的路由器都支持基于WEB 的登录方式,基于IP 地址的认证被大部分WEB 认证中使用,用于替代早期基于Cookie 的认证方式。

为安全期间,基于IP 地址的认证也被设定了一个默认的timeout 即超时时间,一般最长都是10分钟(有的是5分钟),过时后将要求用户重新使用admin 身份登录。

除此之外,基于WEB 的认证还要求当前被激活的admin 会话有且仅有一个。

对于Belkin 而言,其多款型号无线路由器,如贝尔金F5D8233 - 4,甚至会友好地将目前管理路由器的用户IP 地址告诉试图访问路由器的其他用户。

由于Belkin 无线路由器在对管理员进行认证时,仅仅是依据IP 地址来区分合法管理员身份,所以只要攻击者能够在合法用户使用管理员身份登录无线路由器后,在timeout 时间未过期前,劫持其IP 地址再次登录,就可以劫持已经认证的会话,从而获取管理员身份。

2.漏洞利用与实现2.1漏洞利用思路:关于漏洞的利用是需要先准备一下思路的,这里给出一个标准化的顺序以供大家参考。

1.先分析连接此无线路由器上的客户端;2.发动无线/有线DOS 攻击干扰该无线/有线网络,以迫使用户登录路由器进行配置和检查;3.确认当前登录无线路由器进行配置的客户端IP ;4.攻击者对合法用户攻击迫使其断线;5.攻击者修改自身IP 与合法用户主机IP 一致;6.攻击者连入无线路由器成功劫持管理员身份;7.延伸攻击。

2.2具体步骤:关于无线路由器认证会话劫持漏洞的使用并不难,具体利用步骤如下:步骤1:先分析连接此无线路由器上的客户端。

攻击者先使用多种无线分析工具对当前无线网络进行抓包分析,比如下图3所示,使用airodump-ng 来对当前所有无线网络分析,在图中上部分,我们可以看到存在一个SSID 名为“Belkin_ZerOne ”的无线网络,启用加密为WPA-PSK ;而在右下角,我们可以看到当前有两个连接至该无线路由器的无线客户端。

其中,00:0E :E8:D3:BF :71是无线攻击者的主机;00:1F :3C :45:56:00是已连接的合法无线客户端;以上两者都已经连接至SSID 名为“Belkin_ZerOne ”的无线网络。

Blog :Email :longaslast@图3步骤2:发动无线DOS 攻击干扰该无线网络,以迫使用户登录路由器进行配置和检查。

既然目标位Belkin 无线路由器,那么就可能存在认证会话劫持漏洞。

攻击者为了迫使合法用户登录路由器,在通过上面步骤1的扫描确认对方在线后,就会故意对该无线网络进行无线D.O.S 攻击,低频率发送一些Deauth 或者Disassociate 类型数据包来干扰正常的无线网络。

无线D.O.S 攻击具体请参考《无线攻击者傻瓜书》的相关章节内容,关于工具在该书中的配套光盘中已经包含,我也会再撰文进行细致描述,这里就不做过多描述,如下图4所示为在Charon2.0.1中载入无线网卡。

图4Blog :Email :longaslast@注意,若是从有线网络进入的攻击者,则会使用单机D.O.S 攻击工具实现,具体方法就不再举例,工具很多,效果也各不相同,相对而言,SYN 和UDP Flood 效果会好些。

步骤3:确认当前登录无线路由器进行配置的客户端IP 。

在进行一段时间扰乱攻击后,无线攻击者会不断尝试登陆Belkin 无线路由器管理页面来核查合法用户是否登录。

当合法用户已经登录无线路由器进行操作时,Belkin 会“很友好”地给出如下图所示的提示:“复制管理员,A user at 192.168.2.3 is managing the router .”意思就是说当前已经有一个管理员登录进无线路由器进行操作了,而该管理员来自192.168.2.3。

如下图5所示。

图5这样,无线攻击者就拿到了具备管理员能力的客户端IP ,并且确认当前该客户端用户正在以管理员身份登录无线路由器。

对照一下之前图所示的内容,攻击者就找到了该IP 对应的MAC 地址。

当然,扫描一下也可以,不过耗费时间就长些。

步骤4:攻击者对合法用户攻击使其强制断线。

此时,攻击者会立即发动无线模式破坏D.O.S 攻击来将这个具备管理员能力的客户端强制断线,也就是通常所说的直接“踢下线”。

下面6使用Linux 下的图形界面无线D.O.S 工具Charon 对无线网络进行攻击,这次选择“Mode Destruction ”即模式破坏方式。

在弹出窗口中“ESSID VICTIME ”处填写无线路由器的MAC 地址,在“MAC VICTIME ”处填写这个具备管理员能力的客户端MAC ,选择正确的频道,点击VALIDATION 即可发动模式破坏攻击。

Blog :Email :longaslast@图6如下图7所示,攻击的发包率将出现一定的随机性,最高可达近1000个数据包/秒,该攻击的目的是破坏当前已经建立连接的无线客户端状态,使其强制掉线。

图7此时,在受到攻击的无线客户端上,会出现明显的中断情况。

如下图8所示,在192.168.2.3上打开CMD 保持ping 网关状态,可以看到出现了明显的中断。

虽然无线客户端会自动尝试与无线路由器重新连接,但是在遭到猛烈的模式破坏攻击下,该客户端已无法保持良好的连接状态。

Blog :Email :longaslast@图8步骤5:攻击者修改自身IP 与合法用户主机IP 一致。

攻击者迅速修改自身IP 与之前已连接客户端IP 一致,并连接无线路由器。

如下图9所示,在Linux 下手动设置IP 地址为192.168.2.3,并设置掩码和网关,填写正确的WPA-PSK 连接密码,点击“OK ”开始连接。

注:有线网络连接的攻击者修改IP 要更简单,所以此类方法从有线网络使用的也有很多。

Blog :Email :longaslast@图9经过3~6秒的等待,在Linux 下的无线网络连接界面中会显示出已经成功连接,如下图10所示,在下方的状态栏中显示出“Connected to Belkin_ZerOne at 77%(IP :192.168.2.3)”,即攻击者已经以192.168.2.3这样的IP连接到了该无线网络。

Blog :Email :longaslast@此时,若受害客户端用户仔细留意的话,会看到此时的Belkin 无线路由器出现2个红色的指示灯在闪烁。

这是一个很明显的现象,在其它品牌路由器中并没有如此明显的提示。

这两个指示灯分别代表无线网络和有线网络,该闪烁提示实际表示在无线网和无线网中出现了不同机器同一个IP 情况。

如下图11所示。

图11步骤6:攻击者连入无线路由器成功劫持管理员身份。

此时,攻击者在浏览器中输入192.168.2.1来访问Belkin 无线路由器,会发现已经直接打开管理页面而无须输入密码,可以任意操作了。

到此,攻击者成功完成会话劫持,并以管理员身份登录无线路由器可以进行任意配置。

如下图12所示,至此无线会话劫持攻击已经成功实现。

Blog :Email :longaslast@3.延伸攻击3.1获取无线管理员密码Hash出于长远目的考虑,攻击者们也会考虑获取当前无线路由器的管理员密码,以便日后随意登录和设置修改。

毕竟,根据经验,99%的无线用户也许会偶尔修改一下无线连接密码,但却没有习惯去修改路由器管理员密码。

在登录该Belkin 无线路由器后,访问如下页面:http://192.168.2.1/ut_sys.html ,查看页面源文件。

搜索关键字“http_passwd ”后,可以看到如下图13所示内容,在黑框处可以看到在“http_passwd ”旁,“value=”后面显示的就是加密过的管理员密码“Y2pjaG53cw==”图13在源文件中上下拉动查找“http_passwd ”相关的定义信息,可以看到如下图14所示内容,在对于“http_passwd ”的加密方式有着明确的定义,即使用base64编码方式。

Blog :Email :longaslast@图143.2破解密码原文既然已经获知了管理员密码“Y2pjaG53cw==”是经过base64加密的,那么接下来只需要使用base64的解码工具即可还原出密码。

相关主题