返回首页
当前位置: 主页 > 互联网技术 > 网络安全 >

内网安全之ip欺骗分析

时间:2015-10-20 16:14来源:电脑教程学习网 www.etwiki.cn 编辑:admin

今天写一个关于异网络的欺骗访问,看图:如果A服务器只能充许外部ip为172.16.1.2这个主机远程登录,如果我们在内部可以伪造这个外部主机,成功实现访问,不是很美哉!

实验环境:A机:192.168.1.2/24  网关:192.168.1.1;   B机:172.16.1.2/16      网关:无 网关:192.168.1.1/24   ;如何能成功访问到服务器A呢? 在这里我们分为两种情况讨论:主机B不添加网关与主机B网关为192.168.1.1的时候。  

内网安全之ip欺骗分析
 

                         

主机B没有网关:

 我们先用主机B去ping 主机A得到如下结果:Destination host unreachable.我们可以从中推断出两个结果:可能性一线路中断;可能性二没有网关。在主机B上用网络分析工具无法抓捕到ping包,因为对于异网络的访问,在主机中没有路由条目,数据包无法在网络层选路,无法封装数据包,当然在服务器A机上也不会收到主机B数据包。在我们连线网络中,其实要想把数据包发送给对方并不难,因为PC本身就具有路由功能,查看路由表可知(netstat -r 或route print)。要把主机B的数据流送到服务器A机,其思想就是加入一条通向服务器A的路由条目。

看示例:route add 192.168.1.0 mask 255.255.255.0 172.16.1.2 metric 1这样情况将发生很大的改变,大家猜猜这回可以ping通服务器A机了吗?不能!当我们在次去ping服务器A时,目标不可达变成了超时。Request timed out.为什么呢?原因在此:当我们加入去往192.168.1.0网络路由条目时,在B主机发送数据的时候查看路由表得到目标网络与自己的物理接口相连接,所以直接发送广播ARP包,请求目标主机的MAC地址,然而ARP协议对ARP请求数据包并不关心源IP地址,直接学习发送方的IP与MAC地址添加到自己的ARP缓存表中并回复ARP请求,这样攻击主机B就成功拿到了服务器A机的MAC地址,然后封装ping包发送到目标主机,服务器A成功接收ping 包并进行回复,但是回复包主机B无法收到,因为在服务器A机由上层向下层封装时,A主机判断出目标网络172.16.0.0与自己处于不同网络,所以在封装MAC地址时,直接用了自己网关的MAC地址而不去用学习到的172主机对应的MAC封装,结果就是数据包根本没有送到攻击主机B所以超时。同时网关也不会将数据包发送到攻击主机B上而是发送到外部或丢掉。为了能达到欺骗,我们得想办法拿到回来的数据包,至于用ARP欺骗还是MAC攻击,大家自己发挥。如向服务器A一秒发送一个假的源网关MAC欺骗,这样交换机将泛洪来自己于服务器A的数据包,B主机成功接收.

主机B网关为192.168.1.1:

当主机B网关为192.168.1.1的时候,我们就没有必要添加去往192.168.1.0网络的路由了,如果我们添加了路由条目,路由条目的优先级高于网关的0.0.0.0 网络路由,默认还是会用ARP请求目标MAC 来发送数据包。我们析下下如果数据包走网关,会发生什么情况?这样对于去往目标主机A的数据包都会发向网关,很明显对于这个数据包由于源地址是非内部的ip地址就会丢弃掉也不会发往服务器A。

其实中间还有一个很复杂的过程.假如B主机之前用的ip是一个内部的地址,这样网关就学习到了MAC地址与对应内部IP,当在网关的arp -a表中有了这个记录后,情况将发生大的改变.当我们把主机B的ip在改成172.16.1.2时候,在发送数据到网关,这个时候对于tcp与udp协议居然做端口映射.因为我在服务器A机上收到了一个由网关转换过端口的数据包,这个数据包还真是由B主机发出的.不解中?如来是这么个情况!对于端口的转换,网关应该是先根据arp -a,Ip对应的mac来转换源ip与端口,这样转换后的数据包就成了网关学习到的内部地址的ip,也就是B主机之前用的那个内部ip地址,对于ping数据包如果发生在这种情况下,也会收到一个来自己内部的ip回复包.(ping 数据包没有端口可以转换,是根据其序列号与标识寻址的).所也在这种混乱的情况下,无法通信成功.其次服务器A收到的数据包是源地址为公网ip的.

------分隔线----------------------------
标签(Tag):内网安全
------分隔线----------------------------
推荐内容
猜你感兴趣