몇일전에 봤는데 도움이 되셨으면 좋겠습니다!
[Repost] ARP 공격 및 보호 전체 매뉴얼
ARP 공격 및 보호 전체 매뉴얼
전체 PDF 다운로드: [attach]1334[/attach]
p>키워드: ARP ARP 바이러스 ARP 공격 ARP 보호 ARP 결함 네트워크 분석 Kelai 네트워크 분석 시스템
최근 포럼에 ARP 바이러스에 대한 질문이 자주 보여서 Google 키워드에서 ARP를 검색했습니다. 아 아! 결과적으로 이런 유형의 문제에 대해 많은 논의가 있었습니다. ㅎㅎ 지식에 대한 갈증이 강하네요 :) 그리고 ARP에 대해 더 자세히 알고 싶어서 현재 네트워크에서 흔히 발생하는 ARP 문제를 요약해봤습니다. 지금 게시하고 모든 사람과 토론해 보세요!
1. ARP 개념
ARP에 대해 이야기하기 전에 먼저 ARP의 개념과 작동 원리를 알아야 합니다. 원리 지식을 이해해야만 더 잘 직면하고 분석하고 처리할 수 있습니다. 문제가 있습니다.
1.1 ARP 개념 지식
ARP의 전체 이름은 주소 확인 프로토콜이고 중국어 이름은 주소 확인 프로토콜입니다. 이는 데이터 링크 계층에서 작동하며 하드웨어 인터페이스에 연결됩니다. 이 계층과 동시에 상위 수준에서 서비스가 제공됩니다.
IP 데이터 패킷은 이더넷을 통해 전송되는 경우가 많습니다. 이더넷 장치는 32비트 IP 주소를 인식하지 못하며 48비트 이더넷 주소로 이더넷 데이터 패킷을 전송합니다. 따라서 IP 대상 주소를 이더넷 대상 주소로 변환해야 합니다. 이더넷에서 호스트가 다른 호스트와 직접 통신하려면 대상 호스트의 MAC 주소를 알아야 합니다. 그런데 이 대상 MAC 주소는 어떻게 얻나요? 이는 주소 확인 프로토콜을 통해 획득됩니다. ARP 프로토콜은 원활한 통신을 위해 네트워크의 IP 주소를 하드웨어 주소(MAC 주소)로 변환하는 데 사용됩니다.
1.2 ARP 작동 방식
먼저 각 호스트는 IP 주소와 MAC 주소 간의 해당 관계를 나타내기 위해 자체 ARP 버퍼에 ARP 목록을 설정합니다. 소스 호스트가 대상 호스트에 데이터 패킷을 보내야 할 경우 먼저 IP 주소에 해당하는 MAC 주소가 ARP 목록에 있는지 확인하고, 있으면 직접 MAC 주소로 데이터 패킷을 보냅니다. 그렇지 않으면 대상 호스트에 해당하는 MAC 주소를 쿼리하기 위해 로컬 네트워크 세그먼트에 대한 ARP 요청 브로드캐스트 패킷을 시작합니다. 이 ARP 요청 패킷에는 소스 호스트의 IP 주소, 하드웨어 주소, 대상 호스트의 IP 주소가 포함됩니다. 이 ARP 요청을 받은 후 네트워크의 모든 호스트는 데이터 패킷의 대상 IP가 자신의 IP 주소와 일치하는지 확인합니다. 동일하지 않으면 패킷을 무시하고 동일하면 호스트는 먼저 보낸 사람의 MAC 주소와 IP 주소를 자신의 ARP 목록에 추가한 다음 덮어씁니다. 호스트는 ARP 응답 패킷을 보내 상대방에게 자신이 찾아야 할 MAC 주소임을 알려줍니다. 소스 호스트는 이 ARP 응답 패킷을 수신한 후 대상의 IP 주소와 MAC 주소를 추가합니다. 호스트를 자체 ARP 목록에 연결하고 이 정보를 사용하여 데이터 전송을 시작합니다. 소스 호스트가 ARP 응답 패킷을 수신하지 못했다면 ARP 쿼리가 실패한 것입니다.
예:
A의 주소는 다음과 같습니다. IP: 192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B의 주소는 다음과 같습니다. IP: 192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
위에서 언급한 원칙을 바탕으로 이 프로세스를 간략하게 설명합니다. A가 B와 통신하려면 A가 알아야 할 사항 B의 이더넷 주소이므로 A는 ARP 요청 브로드캐스트를 보냅니다(누가 192.168.10.2인지, 192.168.10.1을 알려주십시오). B는 브로드캐스트를 수신하면 자체 검사를 통해 자신과 일치하는지 확인한 후 A에게 보냅니다. ARP 유니캐스트 응답(BB-BB-BB-BB-BB-BB의 192.168.10.2).
1.3 ARP 통신 모드
통신 모드(패턴 분석): 네트워크 분석에서는 통신 모드 분석이 매우 중요합니다. 프로토콜과 애플리케이션이 다르면 통신 모드도 달라집니다. 때로는 동일한 프로토콜이 다양한 엔터프라이즈 애플리케이션에서 서로 다른 통신 모드를 사용하는 경우도 있습니다. 일반적인 상황에서 ARP의 통신 모드는 요청 -> 응답 -> 요청 -> 응답, 즉 하나의 질문과 하나의 답변이어야 합니다.
2. 일반적인 ARP 공격 유형
개인적으로 ARP 공격에는 ARP 스캐닝과 ARP 스푸핑이라는 두 가지 일반적인 유형이 있다고 생각합니다.
2.1 ARP 스캔(ARP 요청 폭풍)
통신 모드(가능):
요청->요청->요청->요청->요청-> 요청->응답->요청->요청->요청...
설명:
많은 수의 ARP 요청 브로드캐스트 패킷이 네트워크에 나타나며, 거의 모두 모든 네트워크 세그먼트에 대해 호스트가 스캔합니다. 많은 수의 ARP 요청 브로드캐스트가 네트워크 대역폭 리소스를 차지할 수 있습니다. ARP 검색은 일반적으로 ARP 공격의 전조입니다.
원인(가능한):
*바이러스 프로그램, 청취 프로그램, 검사 프로그램.
*네트워크 분석 소프트웨어가 올바르게 배포된 경우 스위치의 일부 포트만 미러링할 수 있으므로 미러되지 않은 포트에 연결된 다른 호스트에서 많은 수의 ARP 요청이 전송됩니다.
*잘못 배포된 경우 이러한 ARP 요청 브로드캐스트 패킷은 스위치에 연결된 다른 호스트에서 나올 수 있습니다.
2.2 ARP 스푸핑
ARP 프로토콜은 ARP 요청을 보낸 후에 ARP 응답만 받는 것이 아닙니다. 컴퓨터가 ARP 응답 패킷을 받으면 로컬 ARP 캐시를 업데이트하고 응답의 IP 및 MAC 주소를 ARP 캐시에 저장합니다. 따라서 누군가가 네트워크에서 위조된 ARP 응답을 보내면 네트워크에 문제가 발생할 수 있습니다. 이는 프로토콜 설계자가 고려하지 않은 것일 수도 있습니다!
2.2.1 속임수의 원리
네트워크에 호스트 A, B, C라는 세 개의 호스트가 있다고 가정합니다. 호스트 세부 정보는 아래에 설명되어 있습니다.
A의 주소: IP: 192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B의 주소: IP: 192.168 .10.2 MAC: BB-BB-BB-BB-BB-BB
C의 주소: IP: 192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
정상적인 상황에서는 A와 C가 통신하지만 이때 B는 A에게 위조된 ARP 응답을 보내고, 이 응답에 포함된 데이터는 보낸 사람의 IP 주소가 192.168.10.3(C의 IP 주소)이라는 것입니다. -BB-BB-BB-BB-BB(C의 MAC 주소는 CC-CC-CC-CC-CC-CC여야 하는데 여기서 위조되었습니다.) A가 B의 위조된 ARP 응답을 받으면 로컬 ARP 캐시를 업데이트하고(A는 스푸핑됨) B는 C인 척합니다. 동시에 B도 C에게 ARP 응답을 보냅니다. 응답 패킷의 보낸 사람의 IP 주소는 192.168.10.1(A의 IP 주소)이고 MAC 주소는 BB-BB-BB-BB-BB-BB(A의 IP 주소)입니다. MAC 주소는 AA-AA-AA-AA-AA-AA여야 합니다. C가 B로부터 위조된 ARP 응답을 받으면 로컬 ARP 캐시도 업데이트하고(C도 속임) B는 다음과 같은 척합니다. 에이. 이런 식으로 호스트 A와 C 모두 호스트 B에 의해 속이고 A와 C 사이의 모든 통신 데이터는 B를 통해 전달됩니다. 호스트 B는 그들이 무슨 말을 했는지 완전히 알 수 있습니다 :). 이는 일반적인 ARP 스푸핑 프로세스입니다.
참고: 일반적으로 ARP 스푸핑과 관련된 당사자 중 하나는 게이트웨이여야 합니다.
2.2.2 두 가지 상황
ARP 스푸핑에는 두 가지 상황이 있습니다. 하나는 호스트를 "중개자"로 스푸핑하는 것이고, 스푸핑된 호스트의 데이터는 이를 통해 전송됩니다. 스푸핑은 호스트가 속인 호스트 간의 통신 데이터를 훔칠 수 있으며, 다른 호스트는 속인 호스트가 네트워크에서 직접 연결을 끊을 수 있습니다.
첫 번째 유형: 데이터 탈취(스니핑)
통신 모드:
Response->Response->Response->Response->Response->Request - >응답->응답->요청->응답...
설명:
이 상황은 위에서 언급한 일반적인 ARP 스푸핑입니다. 스푸핑 호스트는 위조된 대량의 패킷을 보냅니다. 스푸핑할 ARP 응답 패킷. 통신 당사자가 성공적으로 스푸핑되면 "중개자"의 신원을 가정합니다. 이때 속인 호스트는 여전히 정상적으로 통신할 수 있지만 통신 과정에서 사기꾼에 의해 "도청"됩니다.
원인(가능한):
*트로이 바이러스
*스니핑
*인위적인 속임수
두 번째 유형: 네트워크 연결 끊김
통신 모드:
응답->응답->응답->응답->응답->응답->요청...
설명:
이러한 상황은 ARP 스푸핑 과정에서 스푸퍼가 당사자 중 하나만 속이는 것입니다. 예를 들어 B는 A를 속이지만 동시에 B는 C를 속이지 않습니다. 이런 식으로 A는 본질적으로 부정 행위를 하고 B는 통신하므로 A는 C와 통신할 수 없습니다. 또 다른 상황은 스푸퍼가 존재하지 않는 주소를 위조하여 속이는 것일 수도 있습니다.
주소를 위조하여 스푸핑하는 경우에는 조사가 더 어렵습니다. TAP 장비를 빌려서(하하, 좀 비싼 것 같네요) 단방향 데이터 흐름을 별도로 캡처하여 분석하는 것이 가장 좋습니다!
원인(가능한):
* 트로이 목마 바이러스
*인위적 파괴
*일부 네트워크 관리 소프트웨어의 제어 기능< /p >
3. 일반적으로 사용되는 보호 방법
현재 인터넷을 검색하면 가장 일반적인 ARP 공격 보호 문제는 IP와 MAC 바인딩 및 ARP 보호 기능이 있는 라우터를 사용하는 것입니다. 나타났다. 하하, 이 세 가지 방법을 살펴보겠습니다.
3.1 정적 바인딩
가장 일반적인 방법은 IP와 MAC을 정적으로 바인딩하고 IP와 MAC를 네트워크의 호스트와 게이트웨이 모두에 바인딩하는 것입니다.
스푸핑은 ARP의 동적 및 실시간 규칙을 통해 인트라넷 시스템을 속이는 것이므로 인트라넷 PC를 속이는 문제를 해결하기 위해 모든 ARP를 정적으로 설정해야 합니다. 게이트웨이에서 IP와 MAC를 바인딩하면 양방향 바인딩이 더 안전해집니다.
방법:
각 호스트에 대한 IP 및 MAC 주소의 정적 바인딩.
arp -s 명령을 사용하면 "arp -s IP MAC 주소"를 구현할 수 있습니다.
예: "arp –s 192.168.10.1 AA-AA-AA-AA-AA-AA".
설정이 성공하면 PC에서 arp -a를 실행하면 관련 프롬프트가 표시됩니다.
인터넷 주소 실제 주소 유형
192.168.10.1 AA- AA-AA-AA-AA-AA 정적(정적)
일반적으로 바인딩되지 않으며 동적인 경우:
인터넷 주소 실제 주소 유형
192.168.10.1 AA-AA-AA-AA-AA-AA 동적(동적)
설명: 네트워크에는 500, 1000...이라는 많은 호스트가 있습니다. 이렇게 하면 각각 하나의 호스트가 됩니다. 정적 바인딩을 수행하려면 작업 부하가 매우 큽니다. . . . , 이러한 종류의 정적 바인딩은 컴퓨터를 다시 시작할 때마다 다시 바인딩해야 합니다. 배치 파일을 만들 수도 있지만 여전히 꽤 번거롭습니다.
3.2 ARP 보호 소프트웨어 사용
현재 많은 ARP 보호 소프트웨어가 있습니다. 일반적으로 사용되는 ARP 도구는 주로 Xinxiang ARP 도구, Antiarp 등입니다. ARP 공격 자체를 탐지하는 것 외에도 보호 기능은 특정 주파수에서 올바른 ARP 정보를 네트워크에 브로드캐스트하여 작동합니다. 이 두 가지 장치에 대해 간단히 이야기해 보겠습니다.
3.2.1 Xinxiang ARP 도구
저는 이 도구를 사용했는데, 이 도구에는 5가지 기능이 있습니다:
A. IP/MAC 목록
네트워크 카드를 선택하세요. 단일 네트워크 카드인 경우 설정이 필요하지 않습니다. 네트워크 카드가 여러 개인 경우 인트라넷에 연결된 네트워크 카드를 설정해야 합니다.
IP/MAC 스캐닝. 현재 네트워크에 있는 모든 컴퓨터의 IP 및 MAC 주소를 검색합니다. 이 테이블은 이후 ARP의 참고 자료로 사용되므로 내부 네트워크가 정상적으로 작동 중일 때 스캔하시기 바랍니다.
다음 기능은 이 테이블의 지원이 필요합니다. IP 또는 MAC을 얻을 수 없다는 메시지가 나타나면 여기 테이블에 해당 데이터가 없다는 의미입니다.
B. ARP 스푸핑 탐지
이 기능은 인트라넷에 테이블의 IP를 가장하는 PC가 있는지 항상 탐지합니다. 인트라넷 컴퓨터에서 액세스해야 하는 라우터, 영화 서버 및 기타 컴퓨터 IP와 같은 기본 IP를 탐지 테이블에 설정할 수 있습니다.
(보충) "ARP 스푸핑 기록" 테이블을 이해하는 방법:
"시간": 문제가 발견된 시간
"발신자" : 스푸핑 정보 IP 또는 MAC 전송;
"반복": 사기 정보가 전송된 횟수;
"ARP 정보": 사기 정보의 구체적인 내용을 나타냅니다. 다음 예와 같이 전송됩니다.
time sender 반복 ARP 정보 22:22:22 192.168.1.22 1433 192.168.1.1 is at 00:0e:03:22:02:e8
이 정보의 의미는 다음과 같습니다. 22시 22분 22초에 192.168.1.22에서 보낸 스푸핑 정보가 1433번 전송된 것으로 감지되었습니다. 그가 보낸 스푸핑 정보의 내용은 다음과 같습니다. 192.168.1.1의 00:0e:03:22:02:e8입니다.
탐지 기능을 켜세요. 테이블에 IP 스푸핑이 있으면 프롬프트가 나타납니다. 프롬프트에 따라 인트라넷에서 ARP 스푸핑의 근본 원인을 찾을 수 있습니다. 참고로 어떤 기계든 다른 기계인 것처럼 가장하여 IP와 MAC을 보낼 수 있으므로 특정 IP나 MAC이 사기성 정보를 보내고 있다는 메시지가 표시되더라도 100% 정확하지 않을 수 있습니다.
그러므로 특정 문제를 해결하기 위해 폭력을 사용하지 마십시오.
C. 능동적 유지
이 기능은 ARP 스푸핑으로 인한 연결 끊김 문제를 직접적으로 해결할 수 있지만 이상적인 방법은 아닙니다. 그 원칙은 네트워크 내에서 지정된 IP의 정확한 MAC 주소를 지속적으로 브로드캐스트하는 것입니다.
'유지 관리 개체 지정' 테이블에서는 보호해야 할 IP를 설정할 수 있습니다. 패킷 전송 빈도는 초당 네트워크의 모든 시스템에 전송되는 올바른 패킷 수입니다. 가능한 한 적은 수의 브로드캐스트 IP와 적은 수의 브로드캐스트 주파수를 사용하는 것이 좋습니다. 일반적으로 한 번만 설정할 수 있습니다. IP 바인딩이 없을 때 ARP 스푸핑이 발생하면 50~100회까지 설정할 수 있습니다. 여전히 연결 끊김이 있는 경우 더 높게 설정하면 ARP 스푸핑 문제를 빠르게 해결할 수 있습니다. . 하지만 실제로 ARP 문제를 해결하고 싶다면 위의 바인딩 방법을 참고하시기 바랍니다.
D. Xinxiang 라우터 로그
Xinxiang 라우터의 시스템 로그 및 기타 기능을 수집합니다.
E. 패킷 캡처
네트워크 분석 소프트웨어의 패킷 캡처와 유사하며 저장 형식은 .cap입니다.
3.2.1 Antiarp
이 소프트웨어의 인터페이스는 비교적 간단합니다. 다음은 이 소프트웨어를 사용하는 방법에 대한 나의 모음입니다.
A. 게이트웨이 IP 주소를 입력하고 [게이트웨이 주소 가져오기]를 클릭하면 게이트웨이의 MAC 주소가 표시됩니다. [자동 보호]를 클릭하면 현재 네트워크 카드와 게이트웨이 간의 통신이 제3자에 의해 감시되는 것을 방지할 수 있습니다. 참고: ARP 스푸핑 프롬프트가 나타나면 공격자가 네트워크 카드의 데이터 패킷을 얻기 위해 ARP 스푸핑 패킷을 보냈다는 의미입니다. 공격의 출처를 추적하려면 공격자의 MAC 주소 스캐너를 사용하십시오. IP 대응을 알아내기 위해.
B. IP 주소 충돌
IP 주소 충돌이 자주 발생한다는 것은 공격자가 자주 ARP 스푸핑 패킷을 보내는 것을 의미하며, IP 충돌이 발생합니다. 경고가 표시됩니다. 이러한 공격을 방지하려면 Anti ARP Sniffer를 사용하십시오.
C. 충돌하는 MAC 주소를 알아야 합니다. Windows에서는 이러한 오류를 기록합니다. 구체적인 확인 방법은 다음과 같습니다.
[내 컴퓨터] 마우스 오른쪽 버튼 클릭--[관리]--[이벤트 뷰어] 클릭--[시스템] 클릭--보기 소스는 [TcpIP]- --두 번 클릭하면 주소 충돌이 발생하고 MAC 주소가 기록되는 것을 볼 수 있습니다. MAC 주소를 복사하여 Anti ARP Sniffer의 로컬 MAC 주소 입력 상자에 입력하십시오. -) 입력을 완료한 후 [보호] 주소 충돌]을 클릭하여 MAC 주소를 적용하려면 로컬 네트워크 카드를 비활성화한 다음 CMD 명령줄에 Ipconfig /all을 입력하여 활성화하십시오. 현재 MAC 주소가 로컬 MAC 주소 입력란의 MAC 주소와 일치합니다. 변경에 실패할 경우 연락드리겠습니다. 성공하면 주소 충돌이 더 이상 표시되지 않습니다.
참고: 기본 MAC 주소를 복원하려면 [기본값 복원]을 클릭하여 MAC 주소를 유효하게 하려면 로컬 네트워크 카드를 비활성화한 다음 네트워크 카드를 활성화하십시오.
3.3 ARP 보호 기능이 있는 라우터
이런 유형의 라우터에 대해 이전에는 거의 들어본 적이 없습니다. 이 유형의 라우터에서 언급된 ARP 보호 기능은 실제로는 규칙적입니다. 자신의 올바른 ARP 정보를 보냅니다. 그러나 라우터의 이 기능으로는 실제 공격을 해결할 수 없습니다.
ARP의 가장 일반적인 특징은 연결 끊김입니다. 일반적으로 ARP 스푸핑에는 에이징 시간이 있기 때문에 일정 시간 내에 정상적인 인터넷 액세스가 복원되기 전에 처리할 필요가 없습니다. 노화 시간이 지나면 자동으로 정상으로 돌아갑니다. 요즘 대부분의 라우터는 속인 호스트가 정상으로 돌아갈 수 있도록 짧은 시간 내에 올바른 ARP 정보를 지속적으로 브로드캐스트합니다. 그러나 공격적인 ARP 스푸핑(실제로는 짧은 시간, 초당 수백 또는 수천 개의 매우 많은 양의 ARP 스푸핑)이 있는 경우 내부 네트워크 시스템이 인터넷에 액세스하지 못하도록 지속적으로 ARP 스푸핑 패킷을 시작합니다. 라우터가 계속해서 올바른 패킷을 브로드캐스팅하면 많은 수의 오류 메시지로 인해 압도될 것입니다.
질문이 있을 수 있습니다. 스푸퍼보다 더 빠르고 정확한 ARP 정보를 보낼 수도 있나요? 공격자가 초당 1000개의 ARP 스푸핑 패킷을 전송한다면 우리는 초당 1500개의 올바른 ARP 정보를 전송하게 됩니다!
위 질문에 직면했을 때, 네트워크 토폴로지가 크다면, 네트워크에 연결된 네트워크 장치와 호스트가 많고, 이러한 브로드캐스트 정보를 처리하는 장치도 많다면, 생각해 보자. 네트워크는 사용하기 불편할 뿐만 아니라 업무와 학습에도 영향을 미칩니다. ARP 방송은 네트워크 자원의 낭비와 점유를 초래합니다. 네트워크에 문제가 있는 경우 패킷을 캡처하고 분석하면 데이터 패킷에 이러한 ARP 브로드캐스트 패킷이 많이 있을 것이며 이는 분석에도 일정한 영향을 미칩니다.
하하, 나도 모르게 너무 많은 말을 했고, 위에서 언급한 내용 중 부정확하고 부족한 부분이 있을 수 있으니 더 많은 논의를 해주시기 바랍니다.
CSNA 네트워크 분석 포럼
KelvinFu
2006-09-07