Skip to content

arya2004/cybersecurity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Cybersecurity Lab Codes in Go

Welcome to the Cybersecurity Lab Codes repository! This repository contains a comprehensive collection of Go (Golang) programs designed to explore various aspects of cybersecurity. These programs are intended for educational purposes and can be used as part of cybersecurity labs, exercises, or research.

Table of Contents

Introduction

This repository aims to provide hands-on experience with cybersecurity concepts using Go. Each program focuses on a specific area of cybersecurity, including cryptography, network security, vulnerability analysis, web application security, and penetration testing. By working through these programs, users can gain a deeper understanding of how cybersecurity mechanisms are implemented and how to defend against various types of attacks.

Features

  • Comprehensive Coverage: 10+ cybersecurity domains with practical implementations
  • Educational Focus: Designed for learning and understanding security concepts
  • Real-World Applications: Tools that demonstrate actual security vulnerabilities
  • Interactive Interfaces: User-friendly menu-driven applications
  • Detailed Documentation: Extensive explanations and usage examples
  • Security Analysis: Vulnerability detection and remediation guidance
  • Modern Go Implementation: Clean, efficient, and well-structured code

Lab Modules

πŸ” Cryptography Modules

  1. 01_des - Data Encryption Standard implementation and analysis
  2. 02_aes - Advanced Encryption Standard with multiple modes
  3. 03_rsa - RSA public-key cryptography implementation
  4. 05_message-digest-5 - MD5 hash function and vulnerabilities
  5. 10_advanced_crypto - Comprehensive cryptography tool with multiple algorithms

πŸ”‘ Key Exchange & Authentication

  1. 04.1_ecc_diiffie_hellman - Elliptic Curve Diffie-Hellman
  2. 04.2_diffie_hellman - Classic Diffie-Hellman key exchange
  3. 08_jwt_security - JWT security analysis and testing tool

πŸ›‘οΈ Network Security

  1. 07_network_scanner - Advanced network security scanner
  2. 06_password_security - Password security analysis

🌐 Web Application Security

  1. 09_sql_injection_tester - SQL injection vulnerability testing tool

Installation

To get started with these programs, you need to have Go installed on your machine. Follow the instructions below to set up your environment:

  1. Install Go:

    • Download and install Go from the official Go website.
    • Follow the installation instructions for your operating system.
  2. Clone the repository:

    git clone https://github.com/arya2004/cybersecurity.git
    cd cybersecurity
  3. Verify installation:

    go version

Usage

Each program is located in its own directory with comprehensive documentation. To run any program:

cd [module_directory]
go run main.go

Quick Start Examples

# Network Security Scanner
cd 07_network_scanner
go run main.go

# JWT Security Tool
cd 08_jwt_security
go run main.go

# SQL Injection Tester
cd 09_sql_injection_tester
go run main.go

# Advanced Cryptography Tool
cd 10_advanced_crypto
go run main.go

Security Tools

πŸ” Network Security Scanner

Location: 07_network_scanner/

  • TCP port scanning with service detection
  • Network host discovery
  • OS fingerprinting
  • Vulnerability assessment
  • Interactive scanning interface

πŸ” JWT Security Analysis Tool

Location: 08_jwt_security/

  • JWT token parsing and validation
  • Algorithm confusion testing
  • Weak secret detection
  • Signature bypass testing
  • Comprehensive security reporting

πŸ’‰ SQL Injection Testing Tool

Location: 09_sql_injection_tester/

  • Error-based injection testing
  • Boolean-based blind injection
  • Time-based injection detection
  • Multi-database support (MySQL, MSSQL, PostgreSQL)
  • 50+ specialized payloads

πŸ›‘οΈ Advanced Cryptography Tool

Location: 10_advanced_crypto/

  • Multiple encryption algorithms (AES, DES, RSA)
  • Hash function analysis
  • Key strength assessment
  • Timing attack demonstration
  • Cryptographic weakness detection

Educational Value

This repository provides hands-on learning opportunities for:

Core Security Concepts

  • Symmetric Cryptography: AES, DES implementations and analysis
  • Asymmetric Cryptography: RSA, ECC key exchange protocols
  • Hash Functions: MD5, SHA family with vulnerability analysis
  • Network Security: Port scanning, service enumeration
  • Web Security: SQL injection, JWT vulnerabilities

Practical Skills Development

  • Vulnerability Assessment: Automated security testing tools
  • Penetration Testing: Real-world attack simulation
  • Security Analysis: Weakness identification and remediation
  • Secure Coding: Defensive programming practices
  • Tool Development: Building custom security tools

Professional Applications

  • Security Auditing: Comprehensive security assessment
  • Incident Response: Understanding attack vectors
  • Security Architecture: Implementing proper defenses
  • Compliance: Meeting security standards and requirements

Contributing

We welcome contributions from the community! If you have a program or improvement you'd like to share, please follow these steps:

  1. Fork the repository
  2. Create a new branch with a descriptive name:
    git checkout -b feature/your-feature-name
  3. Make your changes and test thoroughly
  4. Follow coding standards:
    • Include comprehensive documentation
    • Add educational comments explaining security concepts
    • Implement proper error handling
    • Include usage examples in README files
  5. Submit a pull request with a detailed description of your changes

Contribution Guidelines

  • Security Focus: All contributions should have educational security value
  • Code Quality: Follow Go best practices and include tests where appropriate
  • Documentation: Provide clear README files and inline documentation
  • Ethical Use: Ensure tools are designed for authorized testing only
  • Educational Value: Include explanations of security concepts and vulnerabilities

Ideas for Contributions

  • Additional cryptographic algorithms
  • Web application security testing tools
  • Blockchain security analysis
  • IoT security assessment tools
  • Machine learning security applications
  • Cloud security configuration tools

Security Notice

⚠️ Important: These tools are designed for educational purposes and authorized security testing only. Users are responsible for:

  • Obtaining proper authorization before testing any systems
  • Complying with applicable laws and regulations
  • Using tools responsibly and ethically
  • Not using tools for malicious purposes

License

This repository is licensed under the MIT License. See the LICENSE file for more information.

Acknowledgments

  • Go community for excellent cryptographic libraries
  • Security researchers for vulnerability disclosure
  • Educational institutions promoting cybersecurity learning
  • Open source contributors advancing security knowledge

Disclaimer: This repository is for educational and authorized testing purposes only. The authors are not responsible for any misuse of the tools or information provided.

License

This repository is licensed under the MIT License. See the LICENSE file for more information.

About

Cybersecurity Uni Lab Codes

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 13