Assignment 2: Python Worm Program Solution



Note: You may work in groups of up to 3 students to do the assignment.

Provided Files:

  • : Shows how to retrieve the IP of the network card with an IPv4 address that is not the localhost (

  • : This file illustrates how to scan network for other host systems running SSH server (on port 22).

  • : Similar to, but this scans all active ports on hosts found on the network

  • : Main code to implement the worm program for the assignment

Grade Breakdown

  • 85 % – The completion of a Python worm program using the provided skeleton code to infect and self-replicate to other potential victim systems on the same network.

  • 15 % – A working cleaner function and logic to reverse the spread and self-clean the worm program from each host using an argument (such as python -c or python –clean).

Grading the assignment shall be based on the Multix VMs used in class. You may also copy the VirtualBox OVA files (/home/VMs) from the Multix server(s) and import them on your local machine. Be sure to also test it on one of the Multix servers assigned to you to ascertain that your program works just as expected.

OVA files used in this assignment are: ‘Lubuntu 32-bit.ova’, Endian324.ova & winxp_sp2.ova

(Optional) Extra Credit: 30%

Make the worm spread to other systems connected to another network using multiple network interfaces on one host that is connected on two different networks.

  • This requires setting up another network where some system(s) on another network is connected to both.

(e.g. Network #1:; Network #2

  • The computer(s) connected to multiple networks would be infected and spread on other vulnerable hosts on another network using the other network interface.

Assignment 2 – Python Worm Program

CPSC 456-01 (13872) Fall 2019

Thursdays, 7 – 9:45 PM

What to turn in on Titanium?

  • Compress both and README file to a single zip, 7z or tar file. (e.g. <hmanabat_assignment2>.zip)

  1. The README file must include group member names,

instructions on how to execute the worm and worm cleaner, whether extra credit was done and any additional information.

  1. The Python worm program that is tested on the Multix system.

Assignment 2 – Python Worm Program