Course update in progress

This course was based on Python2 and is currently being updated to use Python3. We recommend waiting for the new release.

Any student that purchased this version of the course will get access to the Python3 version at no extra charge.

Happy Hacking!

Python For Ethical Hacking

The Python For Ethical Hacking course is designed to take you from a beginner to an expert in the development of Python tools that can be used for ethical hacking and in penetration tests.
Watch Intro Video

Course Preview

Course curriculum

  • 1

    Introduction

    • Introduction - Welcome to Python For Ethical Hacking!
  • 2

    Setting Up Your Environment

    • VirtualBox 6.0.4 Installation
    • Kali Linux 2019.1a Installation
    • VirtualBox Guest Additions Installation
    • Python In the Kali Terminal
  • 3

    Port & Vulnerability Scanning

    • Port And Vulnerability Scanning - Making Simple Portscanner FREE PREVIEW
    • Port and Vulnerability Scanning - Adding Raw_input To Our Portscanner
    • Port and Vulnerability Scanning - Scanning First 1000 Ports
    • Port and Vulnerability Scanning - Coding Advance Portscanner Part 1
    • Port and Vulnerability Scanning - Coding Advance Portscanner Part 2
    • Port and Vulnerability Scanning - Finishing And Testing Advance Portscanner
    • Port and Vulnerability Scanning - Configuring IP Address And Installing Metasploitable
    • Port and Vulnerability Scanning - Returning Banner From Open Port
    • Port and Vulnerability Scanning - Coding Vulnerability Scanner Part 1
    • Port and Vulnerability Scanning - Coding Vulnerability Scanner Part 2
  • 4

    SSH & FTP Attacks

    • SSH & FTP Attacks - Automating SSH Login Part 1
    • SSH & FTP Attacks - Automating SSH Login Part 2
    • SSH & FTP Attacks - Testing the SSH Login script
    • SSH & FTP Attacks - Coding the SSH Bruteforcer
    • SSH & FTP Attacks - Executing Command On the Target After Bruteforcing SSH
    • SSH & FTP Attacks - Anonymous FTP Login Attack
    • SSH & FTP Attacks - Username & Passwordlist Attack on FTP
  • 5

    Password Cracking

    • Password Cracking - SHA256, SHA512, MD5
    • Password Cracking - Cracking SHA1 Hash With Online Dictionary
    • Password Cracking - Getting Password From MD5 Hash
    • Password Cracking - Cracking a Crypt Password With a Salt
  • 6

    Sniffing, Flooding & Spoofing

    • Sniffers, Flooders, Spoofers - Changing MAC Address Manually
    • Sniffers, Flooders, Spoofers - Coding a MAC Changer
    • Sniffers, Flooders, Spoofers - Theory Behind ARP Spoofing
    • Sniffers, Flooders, Spoofers - Crafting Malicious ARP Packet
    • Sniffers, Flooders, Spoofers - Coding ARP Spoofer
    • Sniffers, Flooders, Spoofers - Forwarding Packets & Restoring ARP Tables
    • Sniffers, Flooders, Spoofers - Spoofing Our IP Address And Sending Messages With TCP Payload
    • Sniffers, Flooders, Spoofers - Running SynFlooder With Changed Source IP Address
    • Sniffers, Flooders, Spoofers - Getting Source & Desitination MAC Address From Received Packets
    • Sniffers, Flooders, Spoofers - Sniffing FTP Username & Password - Part 1
    • Sniffers, Flooders, Spoofers - Sniffing FTP Username & Password - Part 2
    • Sniffers, Flooders, Spoofers - Getting Passwords From HTTP Websites
  • 7

    Developing A DNS Spoofer

    • Coding A DNS Spoofer - Cloning Any Webpage
    • Coding A DNS Spoofer - Printing DNS Queries
    • Coding A DNS Spoofer - Redirecting Responses To Cloned Page
    • Coding A DNS Spoofer - Setting IP Table Rules & Running DNS Spoofer
  • 8

    Network Analysis

    • Analyzing Ethernet Header
    • Analyzing IP header - Part 1
    • Analyzing IP header - Part 2
    • Analyzing TCP Header
    • Analyzing UDP Header
  • 9

    Developing Multifunctional Reverse Shells

    • Theory Behind Socket programming
    • Wine & Pyinstaller installation
    • Setting up listener
    • Establishing connection between target and server
    • Implementing send & recv functions
    • Executing commands on target system
    • Importing JSON library to parse data
    • Converting Python backdoor to .exe
    • Using OS library to change directory
    • Downloading & uploading files to target PC
    • Hiding our backdoor and creating persistence
    • Trying to connect to server every 20 seconds
    • Downloading files to target PC
    • Capturing screenshots on target PC
    • Administrator privilege check
    • Starting other programs with our shell
    • Running our shell as an image, audio, Pdf...
  • 10

    Coding A Keylogger

    • Installing Pynput
    • Printing space character
    • Calling timer on our keylogger
    • Adding keylogger to our backdoor
  • 11

    Command And Control Center

    • What is a threaded server
    • Accepting connections with a thread
    • Managing multiple sessions
    • Testing threaded server with Windows 10 target
    • Fixing Q command
    • Coding exit function
    • Attacking multiple targets and gathering botnet
  • 12

    Website Penetration Testing With Python

    • Stealing saved wireless passwords
    • Bruteforcing Gmail
    • Bruteforcing any login page - Part 1
    • Bruteforcing any login page - Part 2
    • Finding hidden directories - Part 1
    • Finding hidden directories - Part 2
    • Discovering subdomains
    • Changing HTTP headers
    • Starting basic and digest authentication bruteforcer
    • Controlling threads
    • Coding run function
    • Printing usage and testing our program
    • Taking a look at ransomware

Learning Outcomes

The course covers every aspect of the development of penetration testing tools with Python. It is carefully designed to take you through the learning process by building various offensive and network based tools.

  • Setup your development & test environment

  • Develop port and vulnerability scanning tools

  • Develop offensive SSH & FTP tools

  • Develop password cracking tools (MD5, SHA256, SHA512)

  • Develop network sniffing, flooding and spoofing tools

  • Develop A Keylogger

  • Develop Multi Functional Reverse Shells

Rolling Release

This course is on a rolling release schedule and will constantly be updated with newer content and will be updated accordingly to support Python3.