Networks Course Password Cracking Challenge

During the March 18th, 2014, Networks lecture (CS3C03/SE4C03), I posed the challenge of cracking the password corresponding to the following command:

htpasswd -bnm netsec2014 <password>

which yielded:

netsec2014:$apr1$tWaYGBoQ$v1osblq2UdOs0rNURdUhW0

Note several things about this line:

  • apr1 means the result of an Apache-specific algorithm using an iterated (1,000 times) MD5 digest of various combinations of a random 32-bit salt and the password; you can find more about it here: Apache Password Formats.
  • tWaYGBoQ (i.e., the string between the second and third $‘s) is the salt; a 32 bit binary value encoded in Base64. This salt is randomly generated each time the htpasswd command is invoked, and hence, each time htpasswd is invoked it yields a different output, even though it is invoked on the same login/password pair.
  • v1osblq2UdOs0rNURdUhW0, (i.e., the string following the last $) is the actual hash.

How can you check whether a particular password works? You can do so with the command:

openssl passwd -apr1 -salt tWaYGBoQ <password>

As of March 19, 9am, no one was able to break this password. I expect this to be very difficult. On the other hand, the first challenge was successfully cracked by Adam Brousseau: the crypt password corresponding to seed 3z and hash f2laisA/GQ6 is abracadabra, and since only the first 8 characters count, abracada. Adam used open source C code John The Ripper on his own Linux machine, with processor AMD 4 core 3.4GHz (Single core used; Phenom II X4 965 BE). The crack took 23 minutes 10 seconds.

Traceroute experiment

Giving the following command from home:

traceroute www.cas.mcmcaster.ca

yields this output:

traceroute to wwwmac.cis.mcmaster.ca (130.113.64.65), 64 hops max, 52 byte packets
 1 vlan1.phub.net.cable.rogers.com (192.168.0.1) 0.864 ms 0.645 ms 0.971 ms
 2 7.11.162.245 (7.11.162.245) 9.885 ms 9.571 ms 15.516 ms
 3 24.156.137.81 (24.156.137.81) 12.221 ms 11.316 ms 12.042 ms
 4 69.63.248.181 (69.63.248.181) 13.643 ms 11.480 ms 19.948 ms
 5 69.63.250.93 (69.63.250.93) 9.883 ms 12.042 ms 9.749 ms
 6 gw-orano.torontointernetxchange.net (206.108.34.40) 10.289 ms 14.250 ms 13.036 ms
 7 be201.p01-toro.orion.on.ca (66.97.16.21) 13.250 ms 11.585 ms 11.657 ms
 8 be125.pe01-hmtn.orion.on.ca (66.97.16.142) 13.121 ms 11.883 ms 14.027 ms
 9 mcmaster-orion-rne.dist1-hmtn.ip.orion.on.ca (66.97.23.22) 12.736 ms 10.662 ms 14.350 ms
...

Note in particular the node corresponding to the Toronto Internet Exchange (TorIX):

6 gw-orano.torontointernetxchange.net (206.108.34.40)

More information can be found here: www.torix.ca where it can be seen that on November 25, 2013, TorIX broke the 141 Gbps mark (that is, 141 × 109 bits per second!) and check 0132856204www.torix.ca/news.php to see the different peer connections established at TorIX  – read top of page 34 in Kurose & Ross Computer Networking: a pair of nearby ISPs at the same lavel of the hierarchy can peer, that is, they can directly connect their networks together so that all the traffic between them passes over the direct connection rather than through upstream intermediaries.

Also note that nodes 7, 8, and 9 correspond to the Orion network:

slide_content_4