The first way is to perform a cache poisoning attack. The second way is to take over one or more authoritative DNS servers for a domain, and change the DNS data. The third way can be the most difficult to undo, and that is to take over the registration of a domain and change the authoritative DNS servers.
Read the full article here – http://dyn.com/blog/dns-101-explaining-how-hijacks-can-happen/