So IPv6 is on the rise and I needed something simple to play with IPv6. I decided the best port of call would be spinning up a netkit lab inside a VM. I quickly built a light weight ubuntu 16.04×64 machine and installed netkit. (Installation is pretty simple, just follow the details on the homepage)

I then downloaded the Lab hosted here which is perfect and has everything you need to get things going. Thanks to S.Doro and others for this.

The next thing I wanted to do was add some specific tools to the images of each box, specifically THC tools and nmap so that I could practise host discovery techniques.

The easiest way to do this is to simply mount the virtual drive image, chroot into it and then apt-get what you want.

1
2
3
4
5
6
7
8
mkdir /mnt/nkfs
mount netkit-fs-i386-F7.0 /mnt/nkfs
chroot /mnt/nkfs
echo 8.8.8.8 >> /etc/resolve.conf
apt-get update
apt-get install nmap thc-ipv6
exit
umount /mnt/nkfs

Now when you boot up the netkit lab you’ll have nmap and atk6-* tools at your disposal.

Updates for x64 ubuntu installs (thanks Hillier):

If error you need i386 packages:
https://blog.teststation.org/ubuntu/2016/05/12/installing-32-bit-software-on-ubuntu-16.04/

The next challenge I had was the current netkit base image used a depreciated mirror so I had to update my apt sources, I used:
https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Finally I wanted to test setting routing statically on a box and chose to extend the current lab. I added a second router between the pc1 and pc2 switches. To do this I did the following:

copy the r1.disk to r3.disk

create r3.startup

1
2
3
4
5
6
7
8
9
10
11
12
13
cat r3.startup
ip link set eth0 address 00:00:00:00:00:01
ip link set eth0 up
ip -6 addr add fd88:8844:468d:1::17/64 dev eth0
#
ip link set eth1 address 00:00:00:00:00:09
ip link set eth1 up
ip -6 addr add fd88:8844:468d:3::19/64 dev eth1
#
#ip -6 route add default via fd88:8844:468d:2::10
#
echo "1" > /proc/sys/net/ipv6/conf/all/forwarding
made a folder called r3

Added the following lines to lab.conf

1
2
r3[0]="A"
r3[1]="C"

Then when you are on PC1 you can test pinging over the default route to pc2. To break the route I went to a router and downed an interface to break the route. Then you can statically set a route on pc1 via the other router.

Leave a Reply