[C 번호]를 실험실 LAN ARP 스푸핑 기억

유래

정오의 낮잠 시간에 한 일이, 내가 치열한 키보드와 마우스의 소리에 의해 깨어 있었다, LOL 플레이 나쁜 분위기를 느낄 저기 엑스터시의 실험실에서 학생, 그는 전체를보고하기로 결정했습니다. 그는 잠시 그 ​​생각을 떨어 후 처벌로 더 살펴 보자. 이전 이론적 지식과 결합, ARP 스푸핑과 같은 로컬 영역 네트워크에있는 모든 사람은 분명히 좋은 생각, 그래서 이야기의 뒷부분에서이 논의 될 것이다.

ARP기만 이론

먼저, 첫 번째는 ARP 스푸핑에 대한 이론적 지식을 정렬합니다. ARP 스푸핑은 [1] (영어 : ARP 스푸핑) 또한 ARP 바이러스 (ARP 중독)로 알려진, 또는 ARP 공격은 이더넷 ARP (ARP) 인에 대한 공격 기술이다. 이러한 공격은 공격자가 LAN에 데이터 패킷을 획득 또는 네트워크상의 데이터 패킷을 조작 할 수 있도록 모든 컴퓨터 또는 특정 컴퓨터 적절히 연결할 수있게된다.

이더넷 LAN 패킷 전송은 MAC 주소에 의존에서, IP 주소와 MAC 관계는 ARP에 의존 대응 (게이트웨이 포함) TCP 호스트 / IP 프로토콜는 각각 ARP 캐시 테이블에 장착된다. 이 테이블은 각각의 컴퓨터의 제어 네트워크 IP 주소와 MAC 주소 사이의 관계를 기억한다.
ARP 캐시 테이블을 효과적으로 정상적인 조건 데이터 송신의 일 보장 할 수있다. 그러나, 호스트가 ARP 응답 패킷을 수신 한 ARP 결함에 존재하는 유지기구에 해당하는 ARP 캐시 테이블은, 그들은 ARP 요청을 전송하지만, 가방의 MAC 주소로 직접 응답했는지 여부를 확인하지 않는다 IP와의 관계는 ARP 캐시 테이블에 대응하는 일본어 정보를 대체하기 위해 대응. 이것은이다 근본 원인 ARP 스푸핑 .

간단히, ARP 스푸핑은 다음 세 가지로 나눌 수 있습니다 요약한다

1 위조 호스트

랜 B에 전송 된 패킷은 C.로 흐르도록 C는 LAN상의 다른 호스트 B의 소스 스푸핑 자체 위장 이 프로세스는 호스트 가짜 가짜 게이트웨이와 유사하다.

               그림 1 : 위조 호스트

그림 1에서 우리는기만당한 소스를 속이고 자신의 IP MAC 주소가 그림에 표시된 호스트 게이트웨이있는 LAN에서 세 개의 호스트가 있다는 것을 가정한다. 게이트웨이에 대한 ARP 패킷을 전송하기 위해 정기적으로 소스를 속이고 (호스트 IP를 사기), 내 MAC 주소는 BB-BB-BB-BB- 내 IP 주소가 192.168.1.3 말한다 BB-BB (자신의 MAC 주소). 게이트웨이가 ARP 캐시 테이블을 업데이트 할 때, 그것은 ARP 캐시 테이블에 저장된 잘못된 IP 및 MAC 매핑 관계를 넣을 수 있도록 비리가 호스트로 패킷을 보낼 때 패킷을 전달할 때, 다음 번에 게이트웨이로 전송됩니다 소스를 속이는. 이것은 현실 반영 그물 떨어져 호스트를기만을 .

2, 가짜 게이트웨이

소스는 직접 (또는 다른 비 - 게이트웨이 호스트) 게이트웨이로 위장기만 LAN에서 호스트 속인 ARP 응답 패킷을 전송. 는 LAN MAC의 호스트가 게이트웨이 MAC 주소입니다 오해의 소스를 스푸핑 있도록. 원래의 데이터 흐름을 게이트웨이가 잘못 소스 스푸핑 송신되도록. 도 2에 도시 된 단순 개략도이다 :

                  그림 2 : 단조 게이트웨이

우리는 여전히 세 개의 호스트를 설명하기 위의 예이었다, IP 및 MAC 호스트가 변경되지 않은,하지만이 패러디 소스가 사기 호스트, 메시지 내용에 ARP 패킷을 전송, 내 IP는 192.168.1.1 (I입니다 게이트웨이) 내 MAC 주소 ()는 소스 MAC 주소를 스푸핑 BB-BB-BB-BB-BB-BB이다. 그래서 호스트가 ARP 패킷을 수신하면 사기,이 IP 주소가이는 MAC MAC 스푸핑 소스 중 하나입니다 192.168.1.1되어 갱신됩니다. 호스트가 실제로 실제로 사기 호스트의 현실을 반영 소스를 속이기 위해 분산 게이트웨이로 데이터를 보낼 때 그래서 아래됩니다 속였 어. 물론, 두 번째의 경우 검증 된 이론과 현실의 차이는, 다음은 설명합니다.

3, 양방향 공격

세 번째 사실은 두 가지 방법 모두 거짓과기만 게이트웨이 호스트의 조합은 여기를 반복하지, 양방향을 속이고의 목적을 달성하는 것입니다.

상세 설명

通过Windows API来构造ARP报文并发送也是可以的,但是感谢伟大的开源社区,我们可以使用winpcap或者其C#的封装Sharppcap来实现,这大大简化了我们的实现过程。事实上,本文并不打算介绍编程的细节,因为笔者认为明白原理之后,通过上述工具写出一个ARP欺骗工具并不是什么事儿。所以我们直接来看一下这个工具,如图3所示。

           图 3:ARP欺骗工具

在开始ARP欺骗之前,我们先要扫描一下局域网内的所有主机,获取他们的IP地址和MAC的映射关系,这个可以通过ARP Request报文,一个一个扫描过去就可以了。

然后选择其中一个IP(MAC)进行ARP欺骗就可以了。ARP风暴是笔者加的另一个功能,其原理是不断构造ARP Request报文来不停地询问局域网内的所有主机,让他们不断做出应答从而来耗尽局域网内的带宽资源,造成网卡的假象。但似乎是因为现在的交换机带宽足够大吧,并没有什么卵用。

效果

当使用ARP网关欺骗(即对应上文的伪造主机)时,效果非常理想,那个同学掉线了,且怎么都无法重连,非常着急……

但是当使用ARP主机欺骗(即对应上文的伪造网关)时,效果超出的我的想象,实验室所有主机都掉线了,包括笔者的电脑。后来笔者分析了一下原因,理论上这个假的ARP Response报文(即笔者电脑伪装成网关给被骗主机发报文)是发送给那个被骗的主机的,其他主机应该是不会接收的。但是实际上,别的主机看到是从网关发送回来的ARP Response 报文,则不管是不是发送给自己的,都会接受下来,然后更新自己的ARP缓存表。确实,这么做是有其道理的,因为当网关的MAC地址发生给变时,局域网的主机应该第一时间更新ARP缓存表,而不是等到网关发送给你了你再更新,那就太晚了。

结论

笔者并不打算公开ARP欺骗工具和其代码,毕竟不是什么有用的工具,而且可以用来做坏事(当然有心的话自己写一个也很容易)。如果有兴趣交流的话笔者很乐意给个人发送一份^_^

 

=======================2015.9.9 修改==================================

也没想到有这么多人有兴趣研究这个,那就把源码放在下面的链接,大家自行下载吧,每个人都发一份太麻烦了。

博客园下载链接: http://files.cnblogs.com/files/fantacity/SharpPcapTool.rar

 

参考文献

ARP欺骗 http://zh.wikipedia.net.ru/wiki/ARP%E6%AC%BA%E9%A8%99

转载于:https://www.cnblogs.com/fantacity/p/4792689.html

추천

출처blog.csdn.net/weixin_33895016/article/details/94564728