
[](./LICENSE)
[](./CONTRIBUTING.md)
[](./python-scripts)
[](#safety--ethics)
[](https://github.com/amandewatnitrr/hacking-tutorial/stargazers)
[](https://github.com/amandewatnitrr/hacking-tutorial/network/members)
[](https://github.com/amandewatnitrr/hacking-tutorial/commits/main)
[](.)
[](https://github.com/amandewatnitrr/hacking-tutorial/issues)

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:

| 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
- Clone the repository
git clone https://github.com/amandewatnitrr/hacking-tutorial.git
cd hacking-tutorial
-
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.
- 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:
- Fork the repository and create a new branch for your changes.
- Add new lessons, improve existing content, or submit scripts and tools.
- Ensure your contributions follow ethical guidelines and do not promote illegal activity.
- Before pushing, run the IP/MAC-masking check so real/leaked IP or MAC addresses (e.g. from pasted tool output or logs) don’t ship in your commit — see Masking Leaked IP / MAC Addresses in
CONTRIBUTING.md.
- 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