GLBP & HSRP Attacks
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
FHRP는 여러 라우터를 단일 가상 장치로 통합하여 네트워크의 강인성을 제공하도록 설계되었습니다. 이를 통해 부하 분산 및 장애 내성이 향상됩니다. Cisco Systems는 GLBP 및 HSRP와 같은 이 제품군의 주요 프로토콜을 도입했습니다.
Cisco의 GLBP는 TCP/IP 스택에서 작동하며, 통신을 위해 포트 3222에서 UDP를 사용합니다. GLBP 그룹의 라우터는 3초 간격으로 "hello" 패킷을 교환합니다. 라우터가 10초 동안 이러한 패킷을 전송하지 않으면 오프라인으로 간주됩니다. 그러나 이러한 타이머는 고정되어 있지 않으며 수정할 수 있습니다.
GLBP는 단일 가상 IP와 여러 가상 MAC 주소를 사용하여 라우터 간의 부하 분산을 가능하게 하여 두드러집니다. GLBP 그룹 내의 모든 라우터는 패킷 전달에 참여합니다. HSRP/VRRP와 달리 GLBP는 여러 메커니즘을 통해 진정한 부하 분산을 제공합니다:
Host-Dependent Load Balancing: NAT 구성의 안정성을 위해 호스트에 대한 일관된 AVF MAC 주소 할당을 유지합니다.
Round-Robin Load Balancing: 요청하는 호스트 간에 AVF MAC 주소 할당을 번갈아 가며 수행하는 기본 접근 방식입니다.
Weighted Round-Robin Load Balancing: 미리 정의된 "Weight" 메트릭에 따라 부하를 분산합니다.
AVG (Active Virtual Gateway): MAC 주소를 동료 라우터에 할당하는 주요 라우터입니다.
AVF (Active Virtual Forwarder): 네트워크 트래픽을 관리하도록 지정된 라우터입니다.
GLBP Priority: AVG를 결정하는 메트릭으로, 기본값은 100이며 1에서 255 사이의 값을 가집니다.
GLBP Weight: 라우터의 현재 부하를 반영하며, 수동으로 또는 Object Tracking을 통해 조정할 수 있습니다.
GLBP Virtual IP Address: 모든 연결된 장치의 네트워크 기본 게이트웨지 역할을 합니다.
GLBP는 예약된 멀티캐스트 주소 224.0.0.102와 UDP 포트 3222를 사용하여 상호작용합니다. 라우터는 3초 간격으로 "hello" 패킷을 전송하며, 10초 동안 패킷이 누락되면 비작동으로 간주됩니다.
공격자는 가장 높은 우선 순위 값(255)을 가진 GLBP 패킷을 전송하여 주요 라우터가 될 수 있습니다. 이는 DoS 또는 MITM 공격으로 이어져 트래픽 가로채기 또는 리디렉션을 허용할 수 있습니다.
Loki는 우선 순위와 가중치를 255로 설정한 패킷을 주입하여 GLBP 공격을 수행할 수 있습니다. 공격 전 단계에서는 Wireshark와 같은 도구를 사용하여 가상 IP 주소, 인증 존재 여부 및 라우터 우선 순위 값을 수집합니다.
Attack Steps:
수신 모드로 전환하고 IP 포워딩을 활성화합니다.
대상 라우터를 식별하고 IP를 검색합니다.
Gratuitous ARP를 생성합니다.
AVG를 가장한 악성 GLBP 패킷을 주입합니다.
공격자의 네트워크 인터페이스에 GLBP 가상 IP를 반영하여 보조 IP 주소를 할당합니다.
전체 트래픽 가시성을 위해 SNAT를 구현합니다.
원래 AVG 라우터를 통해 인터넷 접근을 보장하기 위해 라우팅을 조정합니다.
이 단계를 따르면 공격자는 "중간자"로 자리 잡아 네트워크 트래픽을 가로채고 분석할 수 있으며, 여기에는 암호화되지 않은 데이터나 민감한 데이터가 포함됩니다.
For demonstration, here are the required command snippets:
모니터링 및 트래픽 가로채기는 net-creds.py 또는 유사한 도구를 사용하여 손상된 네트워크를 통해 흐르는 데이터를 캡처하고 분석할 수 있습니다.
HSRP는 네트워크 게이트웨이 중복을 위해 설계된 Cisco의 독점 프로토콜입니다. 여러 물리적 라우터를 단일 논리 단위로 구성하고 공유 IP 주소를 사용할 수 있습니다. 이 논리 단위는 트래픽을 관리하는 기본 라우터에 의해 관리됩니다. GLBP와 달리 HSRP는 트래픽 관리를 위해 단일 활성 라우터에 의존합니다.
HSRP 활성 라우터: 트래픽 흐름을 관리하는 게이트웨이 역할을 하는 장치입니다.
HSRP 대기 라우터: 활성 라우터가 실패할 경우 인계할 준비가 된 백업 라우터입니다.
HSRP 그룹: 단일 탄력적인 가상 라우터를 형성하기 위해 협력하는 라우터 집합입니다.
HSRP MAC 주소: HSRP 설정에서 논리 라우터에 할당된 가상 MAC 주소입니다.
HSRP 가상 IP 주소: HSRP 그룹의 가상 IP 주소로, 연결된 장치의 기본 게이트웨이 역할을 합니다.
HSRP는 HSRPv1과 HSRPv2의 두 가지 버전이 있으며, 주로 그룹 용량, 멀티캐스트 IP 사용 및 가상 MAC 주소 구조에서 차이가 있습니다. 이 프로토콜은 서비스 정보 교환을 위해 특정 멀티캐스트 IP 주소를 사용하며, Hello 패킷은 매 3초마다 전송됩니다. 10초 간 패킷이 수신되지 않으면 라우터는 비활성으로 간주됩니다.
HSRP 공격은 최대 우선 순위 값을 주입하여 활성 라우터의 역할을 강제로 인수하는 것입니다. 이는 중간자 공격(MITM)으로 이어질 수 있습니다. 공격 전 필수 단계에는 HSRP 설정에 대한 데이터 수집이 포함되며, 이는 Wireshark를 사용하여 트래픽 분석을 통해 수행할 수 있습니다.
HSRP 데이터를 포함하는 네트워크 트래픽을 .pcap 파일로 저장합니다.
hsrp2john.py를 사용하여 .pcap 파일에서 MD5 해시를 추출합니다.
John the Ripper를 사용하여 MD5 해시를 크랙합니다.
로키를 사용한 HSRP 주입 실행
로키를 실행하여 HSRP 광고를 식별합니다.
네트워크 인터페이스를 프로미스큐어스 모드로 설정하고 IP 포워딩을 활성화합니다.
로키를 사용하여 특정 라우터를 타겟으로 하고, 크랙된 HSRP 비밀번호를 입력하여 활성 라우터를 가장하기 위한 필요한 구성을 수행합니다.
활성 라우터 역할을 얻은 후, 네트워크 인터페이스 및 IP 테이블을 구성하여 합법적인 트래픽을 가로챕니다.
라우팅 테이블을 수정하여 트래픽을 이전 활성 라우터를 통해 라우팅합니다.
net-creds.py 또는 유사한 유틸리티를 사용하여 가로챈 트래픽에서 자격 증명을 캡처합니다.
이 단계를 실행하면 공격자는 GLBP 하이재킹 절차와 유사하게 트래픽을 가로채고 조작할 수 있는 위치에 놓이게 됩니다. 이는 HSRP와 같은 중복 프로토콜의 취약성을 강조하며 강력한 보안 조치의 필요성을 나타냅니다.
AWS 해킹 배우고 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우고 연습하기: HackTricks Training GCP Red Team Expert (GRTE)