Skip to content
typing banner

License: GPLv3 PRs Welcome Python Ethics First

Stars Forks Last Commit Repo Size Open Issues


Python


Overview

This repository is a comprehensive tutorial series for ethical hacking and penetration testing. It's built for learners who want to understand the principles, tools, and techniques behind network security, offensive security, and cybersecurity research — through both theory and practical, hands-on exercises.

Everything here is meant to be run in labs you control. No shortcuts to third-party systems, no live targets.

Table of Contents

What You'll Learn

  • Network scanning and information gathering
  • Pre-connection and post-connection attacks
  • Man-in-the-middle (MITM) attacks
  • Device discovery and ARP spoofing
  • Working with tools like Nmap, Netdiscover, ARP Scan, Bettercap, and more
  • Python scripting for automating security tasks
  • SQL injection fundamentals in a safe, sandboxed lab
  • Intro to binary exploitation
  • Best practices for ethical hacking and responsible disclosure

Repository Structure

Quick nav: ethical-hacking python-for-eth-hacking python-scripts sql-injection-lab intro-to-binary-exploitation cli-editors-tutorials

Folder Description
ethical-hacking/ Core lesson series — recon, DNS, SNI, phishing toolkits, password attacks, and more
python-for-eth-hacking/ Python fundamentals applied to security tooling
python-scripts/ Standalone scripts — port scanners, ARP spoof detectors, deauth tools, hashing demos
sql-injection-lab/ A safe, containerized lab for learning SQL injection detection and remediation
intro-to-binary-exploitation/ Introductory binary exploitation concepts
cli-editors-tutorials/ Guides for terminal-based editors (Emacs, and more)
FMEA Fundamentals/ Failure Mode and Effects Analysis fundamentals
safe-practice-questions/ Practice questions with an answer key
UI/ Frontend for the site
docs/ Reference material and legal notes

Getting Started

  1. Clone the repository

    git clone https://github.com/amandewatnitrr/hacking-tutorial.git
    cd hacking-tutorial
  2. Explore the lessons Lessons live in ethical-hacking/ and python-for-eth-hacking/. Each one walks through step-by-step instructions, code samples, and explanations.

  3. Try the scripts Example scripts live in python-scripts/. Always use a safe, isolated environment (a VM or an isolated test network) for practical exercises.

Tutorial Guide

Resources

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository and create a new branch for your changes.
  2. Add new lessons, improve existing content, or submit scripts and tools.
  3. Ensure your contributions follow ethical guidelines and do not promote illegal activity.
  4. Open a pull request with a clear description of your changes.

See CONTRIBUTING.md and the Code of Conduct for details.

Analytics & Privacy Guidelines

If you want to add analytics or visitor tracking to the site, please follow these guidelines:

  • Only use analytics services that respect user privacy, e.g., Plausible or Fathom.
  • Do not collect sensitive user information.
  • Clearly inform users if any tracking is enabled.
  • Follow GDPR/CCPA rules if your users are in regions that require them.
  • Any analytics code should be added in a separate, well-commented file (e.g., analytics.js) and imported only in production.

Example (using Plausible):

// src/analytics.js
if (process.env.NODE_ENV === 'production') {
  (function() {
    var d = document, s = d.createElement('script');
    s.src = 'https://plausible.io/js/plausible.js';
    s.async = true; s.defer = true; s.setAttribute('data-domain', 'yourdomain.com');
    d.head.appendChild(s);
  })();
}

Safety & Ethics

  • Only run this lab in an environment you control (local machine, VM, or Docker).
  • The SQL injection lab is intentionally non-actionable: it demonstrates unsafe patterns as strings and provides safe alternatives.
  • Do not use these examples to attack third-party systems. See sql-injection-lab/LICENSE_NOTE.md for details.

Security Warning

Avoid using the python_crypto library or any other cryptographic or hacking-related library that is unmaintained, deprecated, or suspicious.

  • Always use reputable, well-maintained libraries and tools.
  • If you're unsure about a dependency, open an issue or ask before using it.

Disclaimer

This project is for educational purposes only. All activities described should be performed in controlled, legal environments. The authors are not responsible for any misuse of the information provided.

License

This project is licensed under the GNU General Public License v3.0. See LICENSE for details.

Contributors

visitors

About

A tutorial for beginners in Ethical Hacking

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

46 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages