渗透与入侵3-arp-1-arp

来源:互联网 发布:长沙网络公关公司 编辑:程序博客网 时间:2024/05/17 01:37

ARP

    这篇普及基本概念和知识,因为我也是这几天刚开始接触这个,然后在陆续上相关尝试和实验结果。

ARP

    地址解析协议,即ARPAddress Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP代理ARPNDP用于在IPv6中代替地址解析协议。

    也就是说局域网通讯A想给B发信息不是直接通过IP发送的,具体流程是A先看自己本地有没有记录BMAC地址,如果记录了,就直接根据当前MAC地址发送,如果没有就发一个广播,问问局域网所有机器,你是B吗?如果是就把你的MAC地址发我下。正常情况下,其他的机器收到之后看下问的是B不是自己,就不管了,而B看到之后会恢复A说自己的MAC...这样A就得到了BMAC地址,然后存在本地,同时用这个MAC去发内容,但是这里有个很关键的地方,就是A并没有去校验给他恢复MAC地址的这个人到底是不是B,同时在A不发MAC请求的时候,如果有人给他发MAC相关的更新它也会直接更新,那么问题就来了。局域网内的所有人几乎都可以随便给其他主机发送假的ARP包,更改接受者对某IP缓存的MAC地址,而局域网又是通过MAC来区分机器的,这样好玩的事就发生了。如果欺骗别人网关对应的mac会怎么样?指向一个不存在的mac会怎么样,指向自己的mac有会怎么样?这个这次或者下次会说清楚并且做相关测试。


看下相关操作:

显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。


通常使用的是-a  -d  -s

-a  查看当前缓存到本地的macip


    第一条是路由器的,第二条是局域网内另一台机器的mac,当然这些都不是固定的,在本地可以随意更改(对别人的缓存),同时也可以通过修改注册表来改自己的MAC,虽然讲道理这个MAC是写在硬件里的,但是不至于每次都去硬件里面拿,所以不要天真的认为mac是硬件信息,是唯一,拿他来做什么事,其实很好理解,你想想你在电脑里安装了N个虚拟机,它的mac怎么来的,如果mac必须来源于硬件,一会说更改姿势。


-d 清除当前的缓存

    这个也比较常用,自己测试乱改没有网的时候,需要-d清理下缓存,重新通过ARP从其他机器获取mac地址。

至于-s 这个参数在实际操作的时候经常会失败:


后来找了一种方法,我们可以通过这个姿势来修改ip-mac  (测试环境win7 64

netsh i i show in    先得到一个值,下面会用[我的机器上是13]

netsh -c "i i" add neighbors 13 "192.168.1.101" "44-46-fb-d4-d0-33"     【默认静态】


    OK上面就改成功了,你自己看会发现现实的是对象已经存在,不过没事,这里可以采用 /del删除再添加,这样就不会有这个提示了,但是不删除的话一样会更新mac

    改之后在ping这台机器就ping不通了,因为这个mac是随便写的。


-d 清空之后,在ping的话会重新获取并且更新arp,这样就搞定了。

更改本地MAC地址:

http://jingyan.baidu.com/article/2f9b480d6c8acd41cb6cc284.html

下面截图是我开了虚拟机,在虚拟机里做了网卡mac地址更改,然后在本机ARP获取的虚拟机信息。测试的时候如果发现ARP里没有,就ping下然后在看就有了。

测试机ip一开是104 更改mac后自动重启了相关程序,ip更改成了105

 

    也可以通过注册表更改,这里不细说了。需要的自己查下,查不到的话就自己按照上面的姿势改下,改的时候Procmon抓动作,看看改了那些注册表就抓到对应的设置了。更改本地mac这个姿势,很多时候会用到。OK基本概念和基本操作就这节。接下来整理用途。