LAN 세그먼트의 컴퓨터가 ARP 바이러스에 감염되어 전체 세그먼트의 사용자가 인터넷에 정상적으로 액세스할 수 없게 되었습니다. 해결 방법을 알려주시겠습니까?
근거리 통신망의 누군가가 ARP 스푸핑 트로이 목마 프로그램을 사용합니다(예: Legend 계정 도용 소프트웨어, 이 프로그램은 일부 Legend 플러그인에도 악의적으로 로드되었습니다).
근거리 통신망의 누군가가 ARP 스푸핑 트로이 목마 프로그램을 사용합니다(예: Legend 계정 도용 소프트웨어, 이 프로그램은 일부 Legend 플러그인에도 악의적으로 로드되었습니다).
오류 원리
오류 원리를 이해하려면 먼저 ARP 프로토콜을 이해해 봅시다.
LAN에서는 ARP 프로토콜을 사용하여 IP 주소를 두 번째 계층의 물리적 주소(즉, MAC 주소)로 변환합니다. ARP 프로토콜은 네트워크 보안에 매우 중요합니다. ARP 스푸핑은 IP 주소와 MAC 주소를 위조하여 이루어지며, 이로 인해 네트워크에서 대량의 ARP 트래픽이 발생하고 네트워크가 정체될 수 있습니다.
ARP 프로토콜은 "Address Resolution Protocol"의 약어입니다. LAN에서 실제로 네트워크에 전송되는 것은 "프레임"이며, 프레임에는 대상 호스트의 MAC 주소가 포함됩니다. 이더넷에서 호스트가 다른 호스트와 직접 통신하려면 대상 호스트의 MAC 주소를 알아야 합니다. 그런데 이 대상 MAC 주소는 어떻게 얻나요? 이는 주소 확인 프로토콜을 통해 획득됩니다. 소위 "주소 확인"은 호스트가 프레임을 보내기 전에 대상 IP 주소를 대상 MAC 주소로 변환하는 프로세스입니다. ARP 프로토콜의 기본 기능은 원활한 통신을 위해 대상 장치의 IP 주소를 통해 대상 장치의 MAC 주소를 쿼리하는 것입니다.
TCP/IP 프로토콜이 설치된 각 컴퓨터에는 아래 표와 같이 테이블의 IP 주소가 MAC 주소와 일대일로 대응되는 ARP 캐시 테이블이 있습니다.
호스트 A(192.168.16.1)가 호스트 B(192.168.16.2)로 데이터를 보내는 것을 예로 들어 보겠습니다. 데이터를 보낼 때 호스트 A는 ARP 캐시 테이블에서 대상 IP 주소를 찾습니다. 그것이 발견되면 대상 MAC 주소도 알고 있으며 대상 MAC 주소를 프레임에 써서 보낼 수 있습니다. 해당 IP 주소가 ARP 캐시 테이블에서 발견되지 않으면 호스트 A는 브로드캐스트를 보냅니다. 네트워크에서 대상 MAC 주소는 "FF.FF.FF.FF.FF.FF"입니다. 이는 동일한 네트워크 세그먼트에 있는 모든 호스트에 다음과 같은 쿼리가 전송된다는 의미입니다. "192.168.16.2의 MAC 주소는 무엇입니까? " 네트워크의 다른 호스트는 ARP 쿼리에 응답하지 않습니다. 호스트 B가 이 프레임을 수신해야만 호스트 A에 다음과 같이 응답합니다. "192.168.16.2의 MAC 주소는 bb-bb-bb-bb-bb- bb". 이런 방식으로 호스트 A는 호스트 B의 MAC 주소를 알고 호스트 B에 정보를 보낼 수 있습니다. 동시에 자체 ARP 캐시 테이블도 업데이트합니다. 다음에 호스트 B에 정보를 보낼 때 ARP 캐시 테이블에서 직접 검색할 수 있습니다. ARP 캐시 테이블은 에이징 메커니즘을 채택합니다. 테이블의 행이 일정 기간 내에 사용되지 않으면 삭제됩니다. 이렇게 하면 ARP 캐시 테이블의 길이가 크게 줄어들고 쿼리 속도가 향상됩니다.
위에서 볼 수 있듯이 ARP 프로토콜의 기본은 LAN의 모든 사람을 신뢰하는 것이므로 이더넷에서 ARP 스푸핑을 쉽게 달성할 수 있습니다. 스푸핑 대상 A. A가 호스트 C에 핑을 보내면 DD-DD-DD-DD-DD-DD 주소로 메시지를 보냅니다. C의 MAC 주소가 DD-DD-DD-DD-DD-DD로 스푸핑된 경우 A에서 C로 보낸 데이터 패킷은 D로 전송됩니다. 이는 단지 A가 보낸 데이터 패킷을 D가 수신할 수 있기 때문이 아닐까요?
A는 이러한 변화를 전혀 인지하지 못했으나, 다음에 일어난 일로 인해 A는 의심하게 되었다. A와 C는 연결될 수 없기 때문입니다. D는 A가 C에게 보낸 데이터 패킷을 받았지만 C에게 전달하지 않았습니다.
"중간자"를 수행하고 ARP 리디렉션을 수행합니다. D의 IP 전달 기능을 켜면 A가 보낸 데이터 패킷이 라우터처럼 C로 전달됩니다. 그러나 D가 ICMP 리디렉션을 보내면 전체 계획이 중단됩니다.
D는 전체 패킷을 직접 수정하여 전달하고, A가 C로 보낸 데이터 패킷을 캡처하여 모두 수정한 후 C로 전달합니다. C가 수신한 데이터 패킷은 완전히 C에서 보낸 것으로 간주됩니다. 에이. 그러나 C가 보낸 데이터 패킷은 바로 A로 전달된다. 만약 C의 ARP 스푸핑이 다시 수행된다면. 이제 D는 완전히 A와 C 사이의 중간 다리가 되었고, A와 C 사이의 의사소통을 잘 이해할 수 있게 되었습니다.
장애 현상
근거리 통신망의 호스트가 ARP 스푸핑 트로이 목마를 실행하면 근거리 통신망의 모든 호스트와 라우터를 속이기 때문에 모든 인터넷 트래픽이 통과해야 합니다. 바이러스 호스트를 통해. 이전에는 라우터를 통해 직접 인터넷에 접속했던 다른 사용자들이 이제 바이러스 호스트를 통해 인터넷에 접속하도록 전환됩니다. 전환 중에는 해당 사용자의 연결이 끊어집니다.
인터넷에 접속하기 위해 바이러스 호스트로 전환한 후 사용자가 전설적인 서버에 로그인한 경우 바이러스 호스트는 종종 연결 끊김을 가장하여 사용자가 전설적인 서버에 다시 로그인해야 합니다. , 바이러스 호스트가 계정을 훔칠 수 있도록 합니다.
ARP 스푸핑 트로이 목마 프로그램은 발생 시 대량의 데이터 패킷을 전송하여 LAN 통신에 혼잡을 일으키고 자체 처리 능력을 제한하기 때문에 사용자는 인터넷 속도가 느리다는 것을 느낄 것입니다. 점점 느려지고 있습니다. ARP 스푸핑 트로이 목마 프로그램의 실행이 중지되면 사용자는 라우터에서 인터넷 액세스를 재개하고 전환 프로세스 중에 사용자 연결이 다시 끊어집니다.
HiPER 사용자는 ARP 스푸핑 트로이 목마를 빠르게 발견했습니다.
라우터의 "시스템 기록"에서 다음과 같은 정보가 많이 확인되었습니다(이 메시지는 라우터 소프트웨어 버전에서만 사용할 수 있음). 440 이후):
MAC Chged 10.128.103.124
MAC 이전 00:01:6c:36:d1:7f
MAC 새 00:05:5d :60:c7 :18
이 메시지는 사용자의 MAC 주소가 변경되었음을 나타냅니다. ARP 스푸핑 트로이목마가 실행되기 시작하면 LAN에 있는 모든 호스트의 MAC 주소가 바이러스의 MAC 주소로 업데이트됩니다. 호스트(즉, 모든 정보의 새로운 MAC 주소는 모두 바이러스 호스트의 MAC 주소와 동일합니다.) 동시에 라우터의 "사용자 통계"에서 MAC 주소 정보를 볼 수 있습니다. 모든 사용자는 동일합니다.
공유기의 '시스템 기록'에 일치하는 MAC Old 주소가 다수 보이면 LAN에서 ARP 스푸핑이 발생한 것입니다(ARP 스푸핑 트로이 목마 프로그램 실행이 중지되면, 호스트가 라우터에 있는 경우) 실제 MAC 주소를 복원합니다.
LAN에서 바이러스 호스트 찾기
위에서 우리는 ARP 스푸핑 트로이 목마를 사용하는 호스트의 MAC 주소를 이미 알고 있으므로 NBTSCAN을 사용할 수 있습니다(다운로드 주소: /upload /nbtscan .rar) 도구를 사용하여 빠르게 찾을 수 있습니다.
NBTSCAN은 PC의 실제 IP 주소와 MAC 주소를 알아낼 수 있습니다. 문제를 일으키는 '전설의 트로이 목마'가 있는 경우 해당 트로이 목마가 설치된 PC의 IP/MAC 주소를 확인할 수 있습니다.
명령: "nbtscan -r 192.168.16.0/24"(전체 192.168.16.0/24 네트워크 세그먼트 검색, 즉
192.168.16.1-192.168.16.254) 또는 " nbtscan 192.168.16.25-137" 192.168.16.25-137 네트워크 세그먼트, 즉 192.168.16.25-192.168.16.137을 검색합니다. 출력의 첫 번째 열은 IP 주소이고 마지막 열은 MAC 주소입니다.
NBTSCAN 사용 예:
MAC 주소가 "000d870d585f"인 바이러스 호스트를 찾고 싶다고 가정해 보겠습니다.
1) 압축된 패키지에 있는 nbtscan.exe, cygwin1.dll의 압축을 풀고 c:에 넣어주세요.
2) 시작 - 실행 - Windows에서 열고 cmd를 입력하고(windows98에서는 "command" 입력) 나타나는 DOS 창에 다음을 입력합니다. C:nbtscan -r 192.168.16.1/24(여기서 필요함) 사용자 이름을 지정하려면) 실제 네트워크 세그먼트를 입력하고 Enter를 누르십시오.
3) IP-MAC 대응표를 조회한 결과, 바이러스 호스트 '000d870d585f'의 IP 주소가 '192.168.16.223'인 것으로 확인됐다.
솔루션 아이디어
1. 네트워크 보안 신뢰 관계를 IP나 MAC에 기반을 두지 말고(rarp에도 속임수 문제가 있음) 이상적인 관계를 구축해야 합니다. IP+MAC.
2. 정적 MAC-->IP 대응 테이블을 설정하고 호스트가 설정한 변환 테이블을 새로 고치지 못하게 합니다.
3. 꼭 필요한 경우가 아니면 ARP 사용을 중지하고 ARP를 해당 테이블에 영구 항목으로 저장합니다.
4. ARP 서버를 사용하세요. 다른 시스템의 ARP 브로드캐스트에 응답하기 위해 자체 ARP 변환 테이블을 조회하려면 이 서버를 사용하십시오. 이 ARP 서버가 해킹되지 않았는지 확인하세요.
5. IP 전송을 프록시하려면 "프록시"를 사용하십시오.
6. 하드웨어를 사용하여 호스트를 보호합니다. IP 주소가 합법적인 경로에 도달할 수 있도록 라우팅을 설정하세요. (라우팅된 ARP 항목을 정적으로 구성), 스위칭 허브 및 브리지를 사용하여 ARP 스푸핑을 방지할 수 없습니다.
7. 관리자는 정기적으로 응답 IP 패킷에서 rarp 요청을 얻은 후 ARP 응답의 신뢰성을 확인합니다.
8. 관리자는 정기적으로 폴링하여 호스트의 ARP 캐시를 확인합니다.
9. 방화벽을 사용하여 네트워크를 지속적으로 모니터링합니다. SNMP를 사용하는 경우 ARP 스푸핑으로 인해 트랩 패킷이 손실될 수 있습니다.
HiPER 사용자를 위한 솔루션
문제를 해결하고 ARP 스푸핑을 방지하려면 사용자가 양방향 바인딩 방법을 채택하는 것이 좋습니다.
1. 라우터의 IP와 MAC 주소를 PC에 바인딩합니다.
1) 먼저 라우터 내부 네트워크의 MAC 주소를 얻습니다(예: 라우터의 MAC). HiPER 게이트웨이 주소 192.168.16.254 주소는 0022aa0022aa입니다.
2) 다음 내용을 포함하는 배치 파일 rarp.bat를 작성합니다:
@echo off
arp -d
arp - s 192.168.16.254 00-22-aa-00-22-aa
파일의 게이트웨이 IP 주소와 MAC 주소를 자신의 게이트웨이 IP 주소와 MAC 주소로 변경하세요.
이 일괄 처리 소프트웨어를 "windows--Start--Program--Startup"으로 드래그하세요.
3) 인터넷 카페라면 유료 소프트웨어 서버 프로그램(pubwin이나 Wanxiang도 가능)을 사용하여 배치 파일 rarp.bat를 모든 클라이언트의 시작 디렉터리로 보낼 수 있습니다. Windows 2000의 기본 시작 디렉터리는 "C:Documents and SettingsAll Users "시작" 메뉴 프로그램 시작"입니다.
2. 라우터에서 사용자 호스트의 IP 및 MAC 주소를 바인딩합니다(라우터 소프트웨어에서 지원). 440 이후 버전):
HiPER 관리 인터페이스--고급 구성--사용자 관리에서 LAN의 각 호스트를 바인딩합니다.
참조
Nbtscan 소스. cat.org/software/nbtscan.html