一、前言
在交换式网络环境之下,数据包被发送给指定端口,为会话劫持增加了难度。但是,还是可以在交换式网络上实现会话劫持和监视会话的。本文主要介绍一下如何利用arpspoof、fragrouter和hunt在交换环境下进行会话劫持。
二、攻击
环境:
用户
IP.
10.10.10.
1wm2k
服务器
IP.
10.10.10.
21mux
攻击者
IP.
10.10.10.
31nuix
注:三台机器是连在一个交换机上的。
软件:
arpspoof是dsnif,软件包的一个程序,可以用来进行ARP欺骗。
fragrouter是一个包转发工具,可以利用测试IDS包重组的能力。
Hunt是一个会话劫持的工具,操作简单,功能强大。
原理:通过arpspoof进行ARP欺骗,让两台机器通信的数据包留经攻击者的机器,然后利用fragrouter进行转包,最后利用Hunt进行会话劫持。
过程:
1.获取MAC地址:
这样攻击者就知道了10.10.10.1和10.10.10.2的MAC地址"
2.ARP欺骗:是利用广播地址上主机保持周边计算机信息方式的固有安全弱点,使用伪造的MAC地址和IP地址伪装成ARP高速缓存中的另外一台主机的技术。攻击者可以伪造其它主机的MAC地址,通过伪造ARP回应获取LAN内的一台主机发送给另外一台主机的数据包。
告诉10.10.10.1服务器10.10.10.2的MAC地址为00:50:56:7b:b4:d8,也就是攻击者的MAC地址。这样10.10.10.1发向10.10.10.2的数据包都重定向到10.10.10.3
告诉10.10.10.12 用户10.10.10.1 的MAC地址为00:50:7b:b4:d8,也就是攻击者的MAC地址,这样10.10.10.2发向10.10.10.1的数据包都重定向到10.10.10.10.3 到攻击者的机器。
通过上面的两个arpspoof命令,攻击者完成了 10.10.10.3 ARP欺骗,造成用户和服务器的通信完全重定向到攻击者的机器。
但是,为了使客户和服务器正常的通信,需要将攻击者机器的IP转发功能打开,使其起到一个路由器的功能。
3.数据转发:转发客户和服务器间的数据包
一是利用linux内核进行转,echo1
/proc/sys/net/ipv4/ip-forwardo
二是利用fragrouter,简单的打开包转发功能。
4.会话劫持
劫持一个现存的会话,利用合法用户进行连接并通过验证,之后顺其自然接管会话。会话劫持有两种方式:积极的攻击方式和消极的攻击方式。积极的攻击方式中。黑客需要寻找动态的会话并且接管它,这种方式需要使用户下线、不再参与会话。消极的攻击方式中。黑客劫持会话,但是隐藏在后方观察并且记录发送和接收的信息。下面采用混合型攻击方式 先监视会话,然后劫持会话。
(1)监视会话
可见用户刚登录,用户名为test。口令也为test(呵呵,这是巧合。未必一定能在用户登录的时候监视到,除非是一直监视或是运气好),用户登录后执行了1s命令
(2)会话劫持
这时用户与服务器的会话中断,用户需要重新登录
[root@w3w7 test]#ls
haha hehe heihei
攻击者已将mkdir heihei命令插入到用户与服务器的会话中,劫持成功,当然还可以执行一些中间命令,如创建用户、删除文件等。不过同时要根据劫持的用户的权限而定,如果劫持的是超级用户,嘿嘿,就可以……
同样原理,如果使用sniffit或者dsniff代替hunt就可以进行嗅探了,如果不习惯的话,还可以利用windows下的snifferPro进行抓包,这时只要把攻击的linux装在VMware下即可。
三、防御
防止ARP欺骗:
1.不要把网络安全信任关系单独建立在IP基础上或MAC基础上,理想的关系应该建立在IP+MAC基础上。
2.使用静态ARP。禁止自动更新,使用手动更新。
3.定期检查ARP请求,使用ARP监视工具,例如ARPWatch监视并探测ARP欺骗。
防止会话劫持:
1.通信和会话加密,使用安全协议,例如使用SSH代替telnet和ftp,使用SSL代替http.
2.限制连接,减少黑客进行会话劫持的机会。
3.完善认证措施,不仅仅在建立会话时进行认证.
四、后语
希望在交换网络的用户注意数据传输的安全。同时希望不要利用上面的技术在公司内部的交换网络进行破坏。否则后果自负。