Skip to content

sumin-world/rust-security-suminworld

rust-security-suminworld πŸ¦€πŸ”’

Rust License: MIT GitHub last commit GitHub stars

Rust-based Security Research Lab
Passive Wi-Fi auditing, packet fuzzing, Discord security bots, and educational crypto & kernel exploit modules.

A comprehensive collection of Rust-based cybersecurity tools and research projects designed for learning and demonstrating security concepts. This repository showcases Rust's capabilities in building high-performance, memory-safe security applications.


πŸ”– Topics / Tags

rust Β· security Β· cybersecurity Β· wifi Β· wireless-security Β·
penetration-testing Β· 80211 Β· pcap Β· rust-security Β· passive-monitoring

🎯 Overview

rust-security-suminworld is a comprehensive collection of Rust-based cybersecurity tools and research projects designed for learning and demonstrating security concepts. This repository showcases Rust's capabilities in building high-performance, memory-safe security applications.

🌟 Key Features

  • High Performance: Leverages Rust's zero-cost abstractions and async capabilities
  • Memory Safety: Eliminates common security vulnerabilities through Rust's ownership system
  • Concurrent Processing: Utilizes Tokio for high-performance async operations
  • Educational Focus: Comprehensive documentation and learning resources
  • Modular Architecture: Clean separation of tools, research, and documentation

🧰 Tools & Modules

This repository is a collection of Rust-based security research tools and educational modules.
Each tool is self-contained with its own documentation and can be built independently.

Module Description Status Link
πŸ” discord_audit_bot Security audit bot for Discord servers (Rust + Serenity) βœ… Complete tools/discord_audit_bot
🌐 packet-match-fuzz Pattern-matching fuzzer for packet payloads using KMP algorithm βœ… Complete tools/packet-match-fuzz
πŸ“‘ wifi_audit Passive Wi-Fi auditing tool (802.11 Beacon/Probe analysis, monitor mode) βœ… Complete tools/wifi_audit
πŸ”‘ crypto Educational implementations of classical/symmetric/asymmetric ciphers & hashing βœ… Complete research/crypto
πŸ›‘οΈ linux-kernel-exploits Educational CVE labs & write-ups for kernel exploitation research βœ… Complete linux-kernel-exploits
🌳 merkle Efficient Merkle hash tree implementation using SHA-256 βœ… Complete research/merkle
🚧 protocols Network protocol analysis (in development) 🚧 In Progress research/protocols
πŸ“‹ vulns Vulnerability research & proofs of concept (planned) πŸ“‹ Planned research/vulns
πŸ“‹ hash_cracker Multi-algorithm password cracking tool πŸ“‹ Planned tools/hash_cracker
πŸ“‹ log_analyzer Security log correlation and anomaly detection πŸ“‹ Planned tools/log_analyzer
πŸ“‹ web_fuzzer Web directory/parameter fuzzer πŸ“‹ Planned tools/web_fuzzer
πŸ“‹ packet_sniffer Network packet sniffer πŸ“‹ Planned tools/packet_sniffer

⚠️ Important: All tools are designed for educational and authorized security testing only. Always ensure proper authorization before use.

πŸ” Discord Security Audit Bot

Automated Discord server security assessment and monitoring bot built with Serenity.

Key Features:

  • Automated security audits and vulnerability scanning
  • Manual security assessments and compliance checks
  • Security best practices checklist and recommendations
  • Real-time monitoring and alert capabilities

Quick Start:

# Set up bot token
echo "DISCORD_TOKEN=your_bot_token_here" > tools/discord_audit_bot/.env

# Run the bot
cargo run -p discord_audit_bot

🌐 Packet Pattern Matcher & Fuzzer

Advanced pattern matching tool for streaming packet data using the Knuth-Morris-Pratt (KMP) algorithm for network traffic analysis and security testing.

Features:

  • High-performance pattern matching in network streams
  • Fuzzing capabilities for payload analysis
  • Real-time packet processing with async Rust

πŸ“‘ Wi-Fi Audit Tool

Passive Wi-Fi network auditing tool for authorized penetration testing and security assessment.

Capabilities:

  • 802.11 management frame analysis (Beacon/Probe Request/Response)
  • SSID inventory and BSSID mapping
  • Client device reconnaissance and probing analysis
  • Monitor mode packet capture with custom BPF filters

Usage:

# Basic network discovery
sudo cargo run -p wifi_audit -- --iface wlan0mon

# With client monitoring
sudo cargo run -p wifi_audit -- --iface wlan0mon --list-clients

🚧 Research Modules

Educational implementations of cryptographic algorithms in Rust.

Implemented:

  • Classical Ciphers: Caesar cipher, VigenΓ¨re cipher
  • Modern Ciphers: XOR cipher, basic Feistel network
  • Asymmetric Crypto: Basic RSA implementation
  • Hash Functions: FNV-1a based hash, hash chaining
  • Utilities: Key generation, padding schemes

Example:

cargo run -p crypto --example demo

Efficient Merkle hash tree implementation using SHA-256 for data integrity verification.

Features:

  • Tree construction and management
  • Inclusion proof generation
  • Proof verification for data integrity
  • Membership validation
  • Optimized for performance

Usage:

cargo test -p merkle

πŸ”¬ In Development

Advanced pattern matching tool for streaming packet data using the Knuth-Morris-Pratt (KMP) algorithm.

Planned Features:

  • Real-time packet stream analysis
  • Pattern matching in network traffic
  • Fuzzing pattern detection
  • Performance-optimized streaming algorithms

πŸ“ Project Structure

rust-security-suminworld/
β”œβ”€β”€ tools/                   # Individual security tools (Rust crates)
β”‚   β”œβ”€β”€ discord_audit_bot/   # βœ… Discord security audit bot
β”‚   β”œβ”€β”€ packet-match-fuzz/   # βœ… KMP-based pattern matching & fuzzing
β”‚   β”œβ”€β”€ wifi_audit/          # βœ… Passive Wi-Fi auditing tool
β”‚   β”œβ”€β”€ hash_cracker/        # πŸ“‹ Password & hash cracking tool
β”‚   β”œβ”€β”€ log_analyzer/        # πŸ“‹ Security log analysis tool
β”‚   β”œβ”€β”€ web_fuzzer/          # πŸ“‹ Web directory/parameter fuzzer
β”‚   └── packet_sniffer/      # πŸ“‹ Network packet sniffer
β”œβ”€β”€ research/                # Security research modules
β”‚   β”œβ”€β”€ crypto/              # βœ… Cryptographic algorithms & implementations
β”‚   β”œβ”€β”€ merkle/              # βœ… Merkle tree implementation
β”‚   β”œβ”€β”€ protocols/           # 🚧 Network protocol analysis
β”‚   └── vulns/               # πŸ“‹ Vulnerability research & PoCs
β”œβ”€β”€ linux-kernel-exploits/   # βœ… Kernel exploitation labs & CVE research
β”œβ”€β”€ PoCs/                    # Proof-of-concepts for attacks (e.g., cache side channels)
β”‚   └── cache/               # Flush+Reload timing attack PoC (C code)
β”œβ”€β”€ docs/                    # Documentation and learning resources
β”‚   β”œβ”€β”€ learning_notes.md    # Study notes and progress logs
β”‚   β”œβ”€β”€ tool_usage.md        # Detailed usage guides
β”‚   └── references.md        # Resources and references
β”œβ”€β”€ examples/                # Example usage and test cases
β”œβ”€β”€ LICENSE                  # MIT License
└── README.md                # This file

Legend: βœ… Complete | 🚧 In Progress | πŸ“‹ Planned

πŸš€ Quick Start

Prerequisites

  • Rust: Install via rustup (2021 edition or later)
  • System Dependencies:
    # Ubuntu/Debian (for Wi-Fi tools)
    sudo apt install -y libpcap-dev build-essential
    
    # macOS
    brew install libpcap
  • Hardware: USB Wi-Fi adapter for monitor mode (optional, for wifi_audit)

Installation

  1. Clone the repository

    git clone https://github.com/sumin-world/rust-security-suminworld.git
    cd rust-security-suminworld
  2. Build all tools

    cargo build --release
  3. Build specific tool

    cargo build -p discord_audit_bot --release
    cargo build -p wifi_audit --release
    cargo build -p packet-match-fuzz --release

Running Tools

Discord Security Bot

# Set up environment
cd tools/discord_audit_bot
echo "DISCORD_TOKEN=your_token" > .env

# Run bot
cargo run -p discord_audit_bot

Wi-Fi Auditing

# Setup monitor mode
sudo airmon-ng start wlan0  # Creates wlan0mon

# Basic audit
sudo cargo run -p wifi_audit -- --iface wlan0mon

# With client monitoring
sudo cargo run -p wifi_audit -- --iface wlan0mon --list-clients

Packet Pattern Fuzzing

# Run pattern matching tests
cargo run -p packet-match-fuzz --example kmp_demo

# Custom payload fuzzing
cargo run -p packet-match-fuzz -- --pattern "HTTP" --input sample.pcap

Cryptography Examples

cargo run -p crypto --example demo

πŸ”Ž Side-Channel Research β€” Flush+Reload (Cache) PoC

Warning: The experimental code in this section is for educational purposes only and must be executed exclusively in a local virtual machine or dedicated experimental equipment, and only in environments with explicit authorization.

Side-channel attacks are techniques that infer secrets from incidental information such as computation time, power consumption, or cache behavior. This repository includes a PoC of Flush+Reload, a representative cache-based attack technique. Flush+Reload is a high-resolution, low-noise attack targeting the L3 cache that can determine whether specific memory lines have been accessed, without requiring the attacker and victim to share the same CPU core. This PoC consists of C code located in the PoCs/cache/ directory.

Overview

  • Victim Program: A simulator that repeatedly accesses specific memory indices
  • Attacker Program: Uses clflush and rdtscp to measure memory access times, distinguishing cache hits from misses
  • Execution Script: Runs the victim in the background, saves attacker results to CSV, then terminates the victim

Running the Experiment

# Run victim process in background
./PoCs/cache/victim_sim &
VICTIM_PID=$!

# Run attacker and save to CSV
./PoCs/cache/flush_reload_attacker > /tmp/flush_reload_data.csv

# Terminate victim process
kill $VICTIM_PID

Data Format and Interpretation

The CSV format is iter,cycles where small values (~1,000 cycles) indicate cache hits and large values (hundreds of thousands of cycles) indicate cache misses or interrupt/context switches.

Sample Output:

iter,cycles
0,158000
1,1000
2,1000
3,155000
4,1000
...

Measurements typically form two distinct clusters:

  • Low latency cluster: Cache hits (victim accessed the memory, data in cache)
  • High latency cluster: Cache misses or interrupts/context switches

Analysis Examples

Statistics:

# Count samples
wc -l /tmp/flush_reload_data.csv

# Calculate mean
awk -F, 'NR>1{n++; sum+=$2} END{print "Samples:", n, "Mean:", sum/n}' /tmp/flush_reload_data.csv

Visualization (Python):

import csv, numpy as np
import matplotlib.pyplot as plt

xs = []
with open('/tmp/flush_reload_data.csv') as f:
    r = csv.reader(f)
    next(r)
    for _, c in r:
        xs.append(int(c))

xs = np.array(xs)
plt.hist(xs, bins=200, log=True)
plt.xlabel('Cycles')
plt.ylabel('Count (log scale)')
plt.title('Flush+Reload Distribution')
plt.yscale('log')
plt.show()

Security Implications

Flush+Reload can be exploited for practical attacks such as tracking AES S-box accesses to extract cryptographic keys. Therefore, defensive techniques should be applied to reduce side-channel leakage, including:

  • Constant-time implementations
  • Cache partitioning (e.g., Intel CAT)
  • Memory access pattern obfuscation

πŸ›£οΈ Roadmap

Phase 1: Core Tools (Current)

  • Discord Security Audit Bot
  • Wi-Fi Audit Tool (Monitor Mode)
  • Packet Pattern Matcher & Fuzzer
  • Basic Cryptographic Toolkit
  • Merkle Tree Implementation
  • Linux Kernel Exploitation Labs

Phase 2: Advanced Tools (Next)

  • Hash Cracker - Multi-algorithm password analysis
    • Dictionary attacks, rainbow tables
    • GPU acceleration support
    • Custom wordlist generation
  • Web Fuzzer - Application security testing
    • Directory and file discovery
    • Parameter fuzzing and injection testing
    • Response analysis and filtering
  • Log Analyzer - Security event correlation
    • Multi-format log parsing
    • Anomaly detection algorithms
    • Real-time monitoring dashboards

Phase 3: Research & Advanced Features

  • Packet Sniffer - Network traffic analysis
    • Real-time packet capture
    • Protocol analysis and decoding
    • Traffic pattern recognition
  • Vulnerability Research - Security testing
    • Proof-of-concept exploits
    • Fuzzing frameworks
    • Binary analysis tools
  • Protocol Analysis - Network security
    • Custom protocol implementations
    • Security assessment tools
    • Traffic manipulation utilities

πŸ“š Learning Resources

This project serves as a practical learning platform for:

πŸ¦€ Rust Concepts

  • Ownership & Borrowing: Memory safety without garbage collection
  • Async Programming: Tokio runtime and concurrent operations
  • Error Handling: Result types and robust error management
  • Performance: Zero-cost abstractions and optimization techniques

πŸ”’ Security Domains

  • Network Security: TCP/IP protocols, scanning techniques
  • Cryptography: Classical and modern cryptographic algorithms
  • Web Security: Application testing and vulnerability assessment
  • Digital Forensics: Log analysis and incident response

πŸ“– Documentation

🀝 Contributing

We welcome contributions! This project is designed for learning, so contributions of all levels are appreciated.

Ways to Contribute

  • πŸ› Bug Reports: Found an issue? Please open an issue
  • πŸ’‘ Feature Requests: Have an idea? We'd love to hear it
  • πŸ“ Documentation: Improve guides, add examples, fix typos
  • πŸ”§ Code: Implement features, fix bugs, optimize performance
  • πŸŽ“ Learning: Share your learning journey and insights

Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Code Style

  • Follow standard Rust formatting (cargo fmt)
  • Run clippy for linting (cargo clippy)
  • Ensure all tests pass (cargo test)
  • Add documentation for public APIs

πŸ“Š Performance & Security

Performance Characteristics

  • Discord Bot: Concurrent async command processing with rate limiting
  • Wi-Fi Audit: Real-time packet capture and analysis with minimal CPU overhead
  • Crypto Operations: Focus on educational clarity and correctness over raw speed
  • Memory Usage: Rust's zero-cost abstractions with minimal heap allocation

Security Considerations

  • Memory Safety: Rust's ownership system prevents buffer overflows and use-after-free
  • Input Validation: Comprehensive validation for all network inputs and user parameters
  • Error Handling: Graceful failure modes without information leakage
  • Dependency Security: Regular updates and review of third-party crates

Testing & Quality Assurance

  • Unit Tests: Comprehensive test coverage for core functionality
  • Integration Tests: End-to-end testing of network operations
  • Continuous Integration: Automated testing across multiple platforms
  • Code Quality: Clippy linting and rustfmt formatting enforcement

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Key Points:

  • βœ… Commercial use allowed
  • βœ… Modification and distribution allowed
  • βœ… Private use allowed
  • ❗ No warranty or liability provided

⚠️ Ethical Use & Disclaimer

IMPORTANT: All tools in this repository are intended for:

  • πŸ“š Educational purposes - Learning cybersecurity concepts
  • πŸ›‘οΈ Authorized testing - Only on systems you own or have explicit permission
  • πŸ”¬ Security research - Improving defensive capabilities

Ethical Guidelines

  • Always obtain proper authorization before testing any systems
  • Respect privacy and confidentiality of data encountered
  • Use knowledge responsibly to improve security, not exploit vulnerabilities
  • Follow applicable laws and regulations in your jurisdiction

Disclaimer

The authors assume no liability for misuse of the provided tools. Users are solely responsible for ensuring their activities comply with applicable laws and regulations.

πŸ”— Links & Resources

Project Links

Learning Resources

Dependencies & Credits

  • Tokio - Async runtime for Rust
  • Serenity - Discord bot library
  • clap - Command line argument parser
  • serde - Serialization framework
  • sha2 - SHA-2 hash functions

⭐ Star β€’ Issues β€’ Releases

⚠️ See docs/LEGAL_NOTICE.md for legal and ethical guidance. Run experiments only on hardware you own or have explicit permission to test.