Let's talk about DNS. It's used every time someone enters mozilla.org into their web browser, to get the IP address so that a web request can be sent there, and it's such an integral part of web usage that when the Marai botnet took down DNS in the Eastern United States, reporters simply stated it "brought down the Internet".

DNS also offers no authentication or encryption. So, much like ARP, anybody who can intercept DNS requests can trick their victim into using sending their data to the wrong place.

If you are interested in more information on DNS, there is more than you asked for in RFC 1035.

DNS Hijacking

One of the keys to the vulnerability in ARP that allows for MitM attacks is that when a machine is trying to talk to a peer on the local network, they need to know their MAC (i.e. layer 2) address, but they only know their IP (i.e. layer 3) address. Using ARP to map from this higher level identifier to the lower level identifier opens an opportunity for attackers to poison this translation and “take over” the higher level address (i.e. take over the IP address).

In the case of DNS, the same idea applies, but at a higher layer. Clients, including machines and humans, know the servers they want to reach by DNS name (i.e. www.facebook.com), however packets are only deliverable to IP addresses. DNS is used to go from the higher level identifier (i.e. DNS name) to the lower level identifier (i.e. IP address).

DNS hijacking involves intercepting DNS requests, and responding to them to direct the client to an IP address that you control. It has added benefits over ARP poisoning, and is applicable to situations in which ARP poisoning is not enough… like the challenge below.

I'm the captain now

Connect to the J. Schmidt challenge.

<aside> ⛳ Execute a DNS hijacking attack to steal some credentials!

</aside>