局域网内网关欺骗获取网站密码

如果不了解网关是什么, 请百度之。 局域网内通信都是通过mac地址来识别不同的主机的,例:一局域网网关为192.168.1.1,主机A IP地址192.168.1.2,主机B IP地址192.168.1.3 。主机A ping主机B,由于A不知道B的mac地址,所以无法直接通信,A先在局域网内发出广播包:谁是192.168.1.3, 局域网内的所有主机都会收到A的广播包,只不过正常情况下只有B应答,其余主机均忽略A发出的包。B向A发出应答包,这个包是广播包,通报自己的mac地址。这样A就知道了B的IP地址,这样ping命令继续,icmp协议之类的等等。
因为局域网内的通信是基于MAC地址的,我们就可以mac地址欺骗,我们可以向外发送虚假的mac地址包。上例中:A广播查找B的mac地址,B会应答,我们假设还有一个C也应答,且C在不停的发包,我是B,我的mac是。。。。这样局域网内就会错误的认为C是B,本应该发送给B的包,发送给了C,C截取了B的消息。如:B主机 pingwww.yeetrack.com, 可以正常显示,其实是C在其中转发的效果。这种攻击方式叫做中间人攻击(man in the middle)。
网关欺骗,其实就是上例中的主机C冒充网关,有这样一个场景:局域网内A、C。C向网关发消息说我是A,且C向A发消息说我是网关,C本身开启包转发功能。这样C就成功的窃听了网关与A之间的会话,A和网关之间的消息都会经过C转发,如果这时候A登陆了某网站,而用户名和密码等敏感信息有没有加密,这样C就可以直接获取到A的账户信息了。
本例是在linux(Backtrack 5)环境下,在局域网内窃取人人网的密码。(仅用于实验,请勿实际抓取别人的密码)
用到的命令: arpspoof .这条命令是用来实施mac欺骗的,arpspoof --help 查看帮助。
实施步骤:
1、arpspoof -i eth0 -t 192.168.1.2 192.168.1.1, 这条命令是告诉192.168.1.2,我是网关(192.168.1.1)
2、arpspoof -i etho -t 192.168.1.1 192.168.1.2 ,这条命令是告诉网关,我是192.168.1.1
3. echo 1 > /proc/sys/net/ipv4/ip_forwards ,这条命令是开启linux内核的转发功能。
这样就可以实现网关欺骗了,如果没有第三部,就可以阻断192.168.1.2的网络连接。其中第一步和第二部都会不停的发包,不要关闭shell。 这样192.168.1.1 和192.168.1.2 的会话信息,就经过自己的主机,再用wireshark来抓包,如果不了解wireshark,请百度之。
这样 192.168.1.2 登陆renren.com,我们这边用wireshark抓包,就可以看到包的详细信息,包括用户名和密码。
PS: ping www.renren.com得到的IP地址不是登陆人人网时要提交用户名和密码的IP地址,123.125.38.239(有可能人人网会改变IP,请自己实验)才是我们提交验证的IP。由于wireshark抓取的包太多,我们可以这样添加过滤器:ip.src==192.168.1.2 && ip.dst==123.125.38.239, 这样我们就筛选出发送方是192.168.1.2且接收方是123.125.38.239的包,查看抓到的包的具体信息,应该可以找到密码信息。附上自己实验的截图
局域网内网关欺骗获取网站密码
右下方是对包进行的翻译,应该可以看懂,其中email=1234%40126.com&password=5678j ,就是用户名和密码信息(%40就是@).
这样mac地址欺骗的例子很多,想一些局域网管理软件,p2p终结者都是网关欺骗。解决这样欺骗的方法是绑定静态IP地址和mac地址, 命令 arp -s ip地址   正确的mac地址。
本为是由youthflies发表在易踪网上的原创文章,原文地址:http://www.yeetrack.com/?p=138

你可能感兴趣的:(安全)