eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f
inet addr:192.168.181.131 Bcast:192.168.181.131 Mask:255.255.255.0
Depending on the configuration of the DHCP server, the IP address assigned in each case might be different.
Now when you enter ifconfig, you should see that the DHCP server has assigned a new IP address, a new broadcast address, and new netmask to your network interface eth0.
hackersarise.com. 5 IN NS ns6.wixdns.net.
;; ADDITIONAL SECTION:
ns6.wixdns.net. 5 IN A 216.239.32.100
snip
Listing 33: Using dig and its ns option to get information on a domain nameserver
Also note in the ADDITIONAL SECTION that this dig query reveals the IP address (216.239.32.100) of the DNS server serving hackersarise.com.
You can also use the dig command to get information on email servers connected to a domain by adding the mx option (mx is short for mail exchange server). This information is critical for attacks on email systems. For example, info on the www.hackers
arise.com email servers is shown in the AUTHORITYSECTION of Listing 34.
kali >dig hackers-arise.com mx
snip
;; QUESTION SECTION:
;hackersarise.com. IN MX
;; AUTHORITY SECTION:
hackersarise.com. 5 IN SOA ns6.wixdns.net. support.wix.com 2016052216 10800 3600 604 800 3600
snip
Listing 34: Using dig and its mx option to get information on a domain mail exchange server
The most common Linux DNS server is the Berkeley Internet Name Domain (BIND). In some cases, Linux users will refer to DNS as BIND, but don’t be confused: DNS and BIND both map individual domain names to IP addresses.
Changing Your DNS Server
In some cases, you may want to use another DNS server. To do so, you’ll edit a plaintext file named /etc/resolv.conf on the system. Open that file in a text editor—I’m using Leafpad. Then, on your command line, enter the precise name of your editor followed by the location of the file and the filename. For example,
WOW! eBook
kali >leafpad/etc/resolv.conf
will open the resolv.conf file in the /etc directory in my specified graphical text editor, Leafpad. The file should look something like Figure 31.
Figure 31: A typical resolv.conf file in a text editor
As you can see on line 3, my nameserver is set to a local DNS server at 192.168.181.2.
That works fine, but if I want to add or replace that DNS server with, say, Google’s public DNS server at 8.8.8.8, I’d add the following line in the /etc/resolv.conf file to specify the nameserver:
nameserver 8.8.8.8
Then I would just need to save the file. However, you can also achieve the same result exclusively from the command line by entering the following:
kali >echo"nameserver8.8.8.8">/etc/resolv.conf
This command echoes the string nameserver8.8.8.8 and redirects it (>) to the file
/etc/resolv.conf, replacing the current content. Your /etc/resolv.conf file should now look like Figure 32.
Figure 32: Changing the resolv.conf file to specify Google’s DNS server
If you open the /etc/resolv.conf file now, you should see that it points the DNS requests to Google’s DNS server rather than your local DNS server. Your system will now go out to the Google public DNS server to resolve domain names to IP addresses. This can mean domain names take a little longer to resolve (probably milliseconds). Therefore, to maintain speed but keep the option of using a public server, you might want to retain
WOW! eBook
the local DNS server in the resolv.conf file and follow it with a public DNS server. The operating system queries each DNS server listed in the order it appears in
/etc/resolv.conf, so the system will only refer to the public DNS server if the domain name can’t be found in the local DNS server.
NOTE
If you’re using a DHCP address and the DHCP server provides a DNS setting, the DHCP server will replace the contents of the file when it renews the DHCP address.
Mapping Your Own IP Addresses
A special file on your system called the hosts file also performs domain name–IP
address translation. The hosts file is located at /etc/hosts, and kind of as with DNS, you can use it to specify your own IP address–domain name mapping. In other words, you can determine which IP address your browser goes to when you enter
www.microsoft.com (or any other domain) into the browser, rather than let the DNS server decide. As a hacker, this can be useful for hijacking a TCP connection on your local area network to direct traffic to a malicious web server with a tool such as dnsspoof.
From the command line, type in the following command (you can substitute your preferred text editor for leafpad):
kali >leafpad/etc/hosts
You should now see your hosts file, which will look something like Figure 33.
Figure 33: A default Kali Linux hosts file
By default, the hosts file contains only a mapping for your localhost, at 127.0.0.1, and
WOW! eBook
your system’s hostname (in this case, Kali, at 127.0.1.1). But you can add any IP address mapped to any domain you’d like. As an example of how this might be used, you could map www.bankofamerica.com to your local website, at 192.168.181.131.
127.0.0.1 localhost 127.0.1.1 kali
192.168.181.131 bankofamerica.com
# The following lines are desirable for IPv6 capable hosts ::1 localhost ip6localhost ip6loopback
ff02::1 ip6allnodes ff02::2 ip6allrouters
Make certain you press TAB between the IP address and the domain key—not the spacebar.
As you get more involved in your hacking endeavors and learn about tools like dnsspoof
and Ettercap, you’ll be able to use the hosts file to direct any traffic on your LAN that visits www.bankofamerica.com to your web server at 192.168.181.131.
Pretty easy, right?
SUMMARY
Any hacker needs some basic Linux networking skills to connect, analyze, and manage networks. As you progress, these skills will become more and more useful for doing reconnaissance, spoofing, and connecting to target systems.
EXERCISES
Before you move on to Chapter 4, try out the skills you learned from this chapter by completing the following exercises:
1. Find information on your active network interfaces.
2. Change the IP address on eth0 to 192.168.1.1.
3. Change your hardware address on eth0.
4. Check whether you have any available wireless interfaces active.
5. Reset your IP address to a DHCP-assigned address.
WOW! eBook
6. Find the nameserver and email server of your favorite website.
7. Add Google’s DNS server to your /etc/resolv.conf file so your system refers to that server when it can’t resolve a domain name query with your local DNS server.
WOW! eBook