Cybersecurity Techniques and Operations
This course introduces tools and techniques used to secure and analyze large computer networks and systems. Students will systematically learn C programming in the first part of the course, which forms a foundation for many cybersecurity operations, such as malware analysis, understanding network protocol stack, etc. In the second part, students will explore and map networks using a variety of diagnostic software tools, learn advanced packet analysis, configure firewalls, write intrusion detection rules, perform forensic investigation, and practice techniques for penetration testing. The objectives are:
- Understand the concepts and major constructs of the C programming language,
- Master the programming skills of the C programming language,
- Be able to analyze the C source code to infer the functionality of a given code segment, C function, C program etc,
- Grasp the needed techniques and skills to write a C program in cybersecurity operations such as a network protocol stack,
- Monitor and analyze network traffic. Identify and trace the traffic when intrusion is detected in the network,
- Identify and evaluate the vulnerabilities in the network and implement effective countermeasures to protect the network,
- Master the technologies to exploit the vulnerabilities in a remote system,
- Analyze the vulnerabilities in wireless communication network,
- Manage data and personal information in a secure manner.
Course Material
There are both programming assignments for C programming and hands-on labs for cybersecurity and operations. Please include some of the materials (listed below) that you produced within the course, explaining what you did and how these projects helped you engage with the outcomes listed above.
The programming assignments are as follows:
- Write a function htoi(s), which concerts a string of hexadecimal digits into its equivalent integer value.
- Write a function any(s1, s2) that returns the first location in the string s1 where any character from the string s2 occurs, or -1 if s1 contains no characters from s2.
- Using pointer, write a function strcat(s, t) that copies string t to the end of string s
- Write a program expr, which evaluates a reverse Polish expression from the command line. For example expr 2 3 4 + * evaluates 2* (3 + 4).
- Write a program to compare two files, printing the first line where they differ.
The hands-on labs are as follows:
- Traffic tracing through Wireshark and TCPdump
- Firewall configuration with pfSense
- Penetration test on Windows
- Password cracking
- Information hiding
A few examples of the assignment that I was able to acquire:
CYSE 301: Cybersecurity Technique and Operations
Assignment 4: Password Cracking (Part A)
At the end of this module, each student needs to submit a report that includes the solutions to the following tasks. Make sure you take a screenshot for every single step as proof. You need to use
Task A: Linux Password Cracking (25 points)
File too big, copy and pasted…
- 5 points. Create two groups, one is cyse301s23, and the other is your ODU Midas ID (for example, pjiang). Then display the corresponding group IDs.

- 5 points. Create and assign three users to each group. Display related UID and GID information of each user.

- 5 points. Choose six new passwords, from easy to hard, and assign them to the users you created. You need to show me the password you selected in your report, and DO NOT use your real-world passwords.

- 5 points. Export all six users’ password hashes into a file named “YourMIDAS-HASH” (for example, pjiang-HASH). Then launch a dictionary attack to crack the passwords. You MUST crack at least one password in order to complete this assignment.

Task B: Windows Password Cracking (25 points)
Log on to Windows 7 VM and create a list of 3 users with different passwords. Then you need to establish a reverse shell connection with the admin privilege to the target Windows 7 VM.
Now, complete the following tasks:
- 5 points. Display the password hashes by using the “hashdump” command in the meterpreter shell. Then

- 10 points. Save the password hashes into a file named “your_midas.WinHASH” in Kali Linux (you need to replace the “your_midas” with your university MIDAS ID). Then run John the ripper for 10 minutes to crack the passwords (You MUST crack at least one password in order to complete this assignment.).

- 10 points. Upload the password cracking tool, Cain and Abel, to the remote Windows 7 VM, and install it via a remote desktop window. Then, implement BOTH brute force and dictionary attacks to crack the passwords. (You MUST crack at least one password in order to complete this assignment.).
