Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update LEVEL1.md #2

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
181 changes: 82 additions & 99 deletions LEVEL1.md
Original file line number Diff line number Diff line change
@@ -1,175 +1,158 @@
## PRE-REQUISITES:
●Good understanding of HTML,CSS, JS and Python.

https://youtu.be/p0bGHP-PXD4?si=s08EKVPT3caNgzxN/
https://www.w3schools.com/js/
https://www.w3schools.com/python/
## GENERAL TASK:
●Replacement to Github task
https://cryptohack.org/courses/intro/course_details/


## Task 1: Linux Based Task with Socket.io
Modification: To Ubuntu task
Specific Task Description:

Set up a basic chat application using Node.js and Socket.io on a Linux system. The application
should allow multiple users to connect and exchange messages in real-time.

Resource Links:
● Getting Started with Socket.io
● Building a Chat App - Intro to WebSockets
●How to Build a Real-time Chat App with React, Node, Socket.io, and HarperDB
● Build Node.js Apps with Visual Studio Code
Expected Task Outcomes:
● Understanding of basic Linux commands
● Proficiency in setting up a Node.js application
●Familiarity with Socket.io for real-time communication
Precautions/Safety/Procedure to Complete the Task:
●Ensure that Node.js is installed on your Linux system.
●Use secure password practices when setting up user authentication.
●Monitor system resources to avoid overloading the server during testing.
Equipment Needed to Complete the Task:
● Computer with Linux operating system
● Internet connection for downloading dependencies
Cost and Sustainability Plan:
● Node.js and Socket.io are open-source and free to use.
● [Getting Started with Socket.io - DEV Community](https://dev.to/cglikpo/getting-started-with-socket-io-7m4)

● [Building a Chat App - Intro to WebSockets](https://www.youtube.com/watch?v=J8xReLuBNPY&list=PL0Zuz27SZ-6NOkbTDxKi7grs_oxJhLu07)

●[How to Build a Real-time Chat App with React, Node, Socket.io, and HarperDB](https://www.freecodecamp.org/news/build-a-realtime-chat-app-with-react-express-socketio-and-harperdb/)

● https://code.visualstudio.com/docs/nodejs/nodejs-tutorial

Expected Task Outcomes:
● Understanding of basic Linux commands

● Proficiency in setting up a Node.js application

●Familiarity with Socket.io for real-time communication


## Task 2: Git Bash and GitHub
Modification to Github task
Specific Task Description:

Set up a Git repository, commit some code changes, and push them to GitHub using Git Bash.
This task will familiarize students with version control and collaborative coding practices.

Resource Links:
● Git - Documentation
● GitHub Docs

● https://git-scm.com/doc

● https://docs.github.com/en

Expected Task Outcomes:

● Proficiency in basic Git commands (add, commit, push)

● Understanding of version control concepts such as branching and merging

● Ability to collaborate on projects using GitHub
Precautions/Safety/Procedure to Complete the Task:
Double-check repository URLs before pushing changes to avoid accidental data loss.
Practice using Git commands in a safe, non-production environment.
Equipment Needed to Complete the Task:
● Computer with Git Bash installed
● GitHub account for repository hosting
Cost and Sustainability Plan:
● Git and GitHub are free for public repositories, with paid options available for private
repositories.
● Encourage the use of Git for version control in future projects to promote sustainability


## Task 3: OSI MODEL
Addition
Specific Task Description:

●Research and create a simple visual representation or diagram of the OSI model using a cloud-based diagramming tool.

●Write a brief explanation of each layer of the OSI model and how it relates to cloud computing!

Resource Links:
● What is OSI Model?
●draw.io- To picturise the various layers

● https://youtu.be/Ilk7UXzV_Qc?si=I92OJQfF16bhlqey

●[draw.io-](https://app.diagrams.net/) To picturise the various layers

Expected Task Outcomes:

●Understanding of the OSI Model: You will gain a solid understanding of the seven layers of the Open Systems Interconnection (OSI) model and their functions.

●Cloud Computing Context: You will explore how each OSI layer plays a role in cloud computing infrastructure and communication.

●Basic Diagramming Skills: You will gain practical experience in using a cloud-based tool for creating simple visuals
Precautions/Safety/Procedure to Complete the Task:
●None.
Equipment Needed to Complete the Task:
●Computer with Internet Access: You'll need a computer with an internet connection to access the research resources and the diagramming tool.
●Cloud-Based Diagramming Tool: You can choose from various free options like draw.io (diagrams.net), Canva, or Visual Paradigm Online. Each tool has its own features and interface, so explore them to find the best fit for you.
Cost and Sustainability Plan:
● Draw.io is a free cloud based platform.


## Task 4: Encryption Techniques
Addition
Specific Task Description:

Implement a basic encryption and decryption program using Python with the PyCrypto library.

This task will introduce students to cryptographic algorithms and their practical applications.

Resource Links:
● Cryptography | Read the Docs
● A Brief Introduction to Cryptography – Real Python

● [Cryptography | Read the Docs ](https://readthedocs.org/projects/cryptography/)

● [A Brief Introduction to Cryptography – Real Python ](https://realpython.com/lessons/brief-intro-cryptography/)

Expected Task Outcomes:

● Understanding of encryption principles and techniques

● Proficiency in implementing encryption algorithms using Python

● Ability to secure sensitive data using encryption and decryption processes
Precautions/Safety/Procedure to Complete the Task:
Use strong encryption algorithms and key management practices to ensure data security.
Handle encryption keys securely to prevent unauthorized access to encrypted data.
Equipment Needed to Complete the Task:
● Computer with Python installed
● PyCrypto library installed via pip
Cost and Sustainability Plan:
● PyCrypto is open-source and free to use

## Task 5: IP Addressing and Protocols
Modification/Addition
Specific Task Description:

Use Python and libraries like Beautiful Soup to scrape IP address data from a website and
analyze it. This task will reinforce understanding of IP addressing and protocols such as TCP/IP.

Resource Links:
● Web Scraping with Python - Beautiful Soup Crash Course
● The Python Standard Library
● [Web Scraping with Python - Beautiful Soup Crash Course ](https://www.youtube.com/watch?v=XVv6mJpFOb0)

● [The Python Standard Library](https://docs.python.org/3/library/)

Expected Task Outcomes:

● Proficiency in web scraping techniques using Python

● Understanding of IP addressing and subnetting concepts

● Ability to extract and analyze IP address data from web sources
Precautions/Safety/Procedure to Complete the Task:
Respect website terms of service and robots.txt rules when scraping data.
Handle scraped data ethically and responsibly, ensuring privacy and legal compliance.
Equipment Needed to Complete the Task:
● Computer with Python installed
● Beautiful Soup library installed via pip
Cost and Sustainability Plan:
● Beautiful Soup is open-source and free to use.

## Task 6: Kali Linux and SSH
Addition
Specific Task Description:

Perform a basic penetration test on a virtual machine using Kali Linux tools such as Nmap. This
task will introduce students to penetration testing concepts and tools.

Resource Links:
Get Kali | Kali Linux
● Kali Docs | Kali Linux Documentation
● Nmap Network Scanning - is the official guide
Cybersecurity Labs : Kali Linux 2023 Guide for Beginners | Pentesting | VirtualBox
● [Get Kali | Kali Linux](https://www.kali.org/downloads)

● [Kali Docs | Kali Linux Documentation ](https://www.kali.org/downloads)

● [Nmap Network Scanning - is the official guide ](https://www.kali.org/downloads)

● [Cybersecurity Labs : Kali Linux 2023 Guide for Beginners | Pentesting | VirtualBox](https://m.youtube.com/watch?v=MQekdvXoR4k)

Expected Task Outcomes:

● Understanding of penetration testing methodologies

● Proficiency in using Kali Linux tools for network reconnaissance

● Ability to identify vulnerabilities and assess security posture using Nmap
Precautions/Safety/Procedure to Complete the Task:
Use penetration testing tools responsibly and with permission on authorized systems
only.
Document findings and communicate responsibly to system owners or administrators.
Equipment Needed to Complete the Task:
● Computer with Kali Linux installed (can be set up in a virtual machine)
● Network access for conducting penetration tests
Cost and Sustainability Plan:
● Kali Linux is open-source and free to use.



## Task 7: Databases
Addition
Specific Task Description:

Set up a MySQL database and create a simple CRUD (Create, Read, Update, Delete) application
using Node.js. This task will familiarize students with database management and querying.

Resource Links:
● Node.js MySQL tutorial
● MySQL Documentation
● Node.js MySQL

● [Node.js MySQL tutorial ](https://www.npmjs.com/package/mysqlhttps://www.npmjs.com/package/mysql)

● [MySQL Documentation](https://dev.mysql.com/doc/)

● [Node.js MySQL ](https://www.w3schools.com/nodejs/nodejs_mysql.asp)

Expected Task Outcomes:

● Understanding of database management concepts

● Proficiency in CRUD operations using Node.js and MySQL

● Ability to develop database-driven applications
Precautions/Safety/Procedure to Complete the Task:
Use parameterized queries to prevent SQL injection vulnerabilities.
Backup database data regularly to prevent data loss.
Equipment Needed to Complete the Task:
● Computer with Node.js and MySQL installed
● MySQL Workbench or similar tool for database management
Cost and Sustainability Plan:
● Node.js and MySQL are open-source and free to use.

## ALL THE BEST!!