• RA Guard closed the door on rogue Router Advertisements.
    But an RA is not the only way to get an address in IPv6!

    DHCPv6 is the other one and it has the exact same weakness.

    DHCPv6 Solicit

    In this example, PC1 has just joined the network and sends a DHCPv6 Solicit to the all-DHCP-servers multicast address FF02::1:2.

    DHCPv6 Solicit sent by a host to the all-DHCP-servers multicast FF02::1:2

    Figure 1 – A host sends a DHCPv6 Solicit to find a server

    PC1 is looking for a DHCPv6 server to get an address and a DNS server.
    Every DHCPv6 server on the segment receives the Solicit.

    Answer the question below

    To which multicast address does a host send its DHCPv6 Solicit?

    DHCPv6 Advertise

    R1 answers with a DHCPv6 Advertise, sent in unicast to PC1 only.

    DHCPv6 Advertise from the server carrying the address and DNS options

    Figure 2 – The server replies with a DHCPv6 Advertise

    It carries everything PC1 asked for:

    • an IPv6 address, 2001:db8:10::10, reserved for PC1

    • the DNS server to use, 2001:db8:10::1

    Getting an address takes four DHCPv6 messages, in this order:

    • Solicit — the client looks for a server

    • Advertise — the server offers an address and DNS

    • Request — the client accepts the offer

    • Reply — the server confirms the address for good

    The attack targets the second message: whoever sends the first Advertise wins, because nobody checks it is really the server answering.

    Rogue DHCPv6 Server

    In this example, the Hacker answers PC1's Solicit before R1 does.

    Rogue DHCPv6 server answering a client first with a poisoned DNS

    Figure 3 – A rogue Advertise from the Hacker

    PC1 takes the first Advertise it receives, exactly like it trusted the first RA.
    The Hacker hands out its own address as the DNS server, so every name PC1 resolves now goes through the attacker.

    Answer the question below

    Which DHCPv6 message does a server send to answer a Solicit?