Learn Python & Ethical Hacking From Scratch
Welcome this great course where you’ll learn python programming and ethical hacking at the same time, the course assumes you have NO prior knowledge in any of these topics, and by the end of it you’ll be at a high intermediate level being able to combine both of these skills and write python programs to hack into computer systems exactly the same way that black hat hackers do, not only that but you’ll be able to use the programming skills you learn here to write any program even if it has nothing to do with hacking.
This course is highly practical but it won’t neglect the theory, so we’ll start with covering some basics about ethical hacking and python programming, installing the needed software and then we’ll dive and start programming straight away. From here onwards you’ll learn everything by example, by writing useful hacking programs, so we’ll never have any boring dry programming lectures.
The course is divided into a number of sections each aims to achieve a specific goal, the goal is usually to hack into a certain system, so we’ll start by learning how this system work, the weaknesses of this system, and then you’ll lean how to write a python program to exploit these weaknesses and hack the system, as we write the program I will teach you python programming from scratch covering one topic at a time, so by the end of the course you’re going to have a number of ethical hacking programs written by yourself (see below) from backdoors, keyloggers, credential harvesters, network hacking tools, website hacking tools and the list goes on, not only that but you’ll also have a deep understanding on how computer systems work, how to model problems, design an algorithm to solve problems and implement the solution using python.
As mentioned in this course you will learn both ethical hacking and programming at the same time, so here are some of the topics that will be covered in the course:
- Writing programs for python 2 and 3.
- Using modules and libraries.
- Variables, types …etc.
- Handling user input.
- Reading and writing files.
- Data structures.
- Desiccation making.
- Object oriented programming.
- Packet manipulation using scapy.
- Socket programming.
- String manipulation.
- Compiling programs to binary executables.
- Sending & receiving HTTP requests.
- Parsing HTML.
- + more!
- Basics of network hacking / penetration testing.
- Changing MAC address & bypassing filtering.
- Network mapping.
- ARP Spoofing – redirect the flow of packets in a network.
- DNS Spoofing – Redirect requests from one website to another.
- Spying on any client connected to the network – see usernames, passwords, visited urls ….etc.
- Inject code in pages loaded by any computer connected to the same network.
- Replace files on the fly as they get downloaded by any computer on the same network.
- Detect ARP spoofing attacks.
- Bypass HTTPS.
- Create malware for Windows, OS X and Linux.
- Create trojans for Windows, OS X and Linux.
- Hack Windows, OS X and Linux using custom backdoor.
- Bypass Anti-Virus programs.
- Use fake login prompt to steal credentials.
- Display fake updates.
- Use own keylogger to spy on everything typed on a Windows or OS X computer.
- Learn the basics of website hacking / penetration testing.
- Discover subdomains.
- Discover hidden files and directories in a website.
- Run wordlist attacks to guess login information.
- Discover and exploit XSS vulnerabilities.
- Discover weaknesses in websites using own vulnerability scanner.
Programs you’ll build in this course:
You’ll learn all the above by implementing the following hacking programs
- mac_changer – changes MAC Address to anything we want.
- network_scanner – scans network and discovers the IP and MAC address of all connected clients.
- arp_spoofer – runs an arp spoofing attack to redirect the flow of packets in the network allowing us to intercept data.
- packet_sniffer – filters intercepted data and shows usernames, passwords, visited links ….etc
- dns_spoofer – redirects DNS requests, eg: redirects requests to from one domain to another.
- file_interceptor – replaces intercepted files with any file we want.
- code_injector – injects code in intercepted HTML pages.
- arpspoof_detector – detects ARP spoofing attacks.
- execute_command payload – executes a system command on the computer it gets executed on.
- execute_and_report payload – executes a system command and reports result via email.
- download_and_execute payload – downloads a file and executes it on target system.
- download_execute_and_report payload – downloads a file, executes it, and reports result by email.
- reverse_backdoor – gives remote control over the system it gets executed on, allows us to
- Access file system.
- Execute system commands.
- Download & upload files0
- keylogger – records key-strikes and sends them to us by email.
- crawler – discovers hidden paths on a target website.
- discover_subdomains – discovers subdomains on target website.
- spider – maps the whole target website and discovers all files, directories and links.
- guess_login – runs a wordlist attack to guess login information.
- vulnerability_scanner – scans a target website for weaknesses and produces a report with all findings.
As you build the above you’ll learn:
- Setting up a penetration testing lab to practice hacking safely.
- Installing Kali Linux and Windows as virtual machines inside ANY operating system.
- Linux Basics.
- Linux terminal basics.
- How networks work.
- How clients communicate in a network.
- Address Resolution Protocol – ARP.
- Network layers.
- Domain Name System – DNS.
- Hypertext Transfer Protocol – HTTP.
- How anti-virus programs work.
- Connecting devices over TCP.
- Transferring data over TCP.
- How website work.
- GET & POST requests.
- And more!
So by the end of the course you’re going to have programming skills to write any program even if it has nothing to do with hacking, but you’ll learn programming by programming hacking tools!
With this course you’ll get 24/7 support, so if you have any questions you can post them in the Q&A section and we’ll respond to you within 15 hours.
What are the requirements?
- Basic IT knowledge
- No Linux, programming or hacking knowledge required.
- Computer with a minimum of 4GB ram/memory
- Operating System: Windows / OS X / Linux
What am I going to get from this course?
- 175 detailed videos about Python programming & ethical hacking
- Learn 2 topics at the same time – Python programming & Ethical Hacking
- Start from scratch up to a high-intermediate level
- Write over 20 ethical hacking and security programs
- Learn by example, by writing exciting programs
- Model problems, design solutions & implement them using Python
- Write programs in Python 2 and 3
- Write cross platform programs that work on Windows, OS X and Linux
- Have a deep understanding on how computer systems work
- Have a strong base and be able to use the skills learned to write any program even if its not related to hacking
- Understand what is Hacking, what is Programming, and why are they related
- Design a testing lab to practice hacking & programming safely
- Interact & use Linux terminal
- Understand what MAC address is & how to change it
- Write a python program to change MAC address
- Use Python modules and libraries
- Understand what Object Oriented Programming is
- Write object oriented programs
- Model & design extendable programs
- Write a program that can discover all clients connected to the same network
- Read, analyse & manipulate network packets
- Understand & interact with different network layers in packets such as ARP, DNS, HTTP ….etc
- Write a program that can redirect the flow of packets in a network (arp spoofer)
- Write a packet sniffer to filter interesting data such as usernames and passwords
- Write a program to redirect DNS requests (DNS Spoofer)
- Intercept and modify network packets on the fly
- Write a program to replace downloads requested by any computer on the network
- Analyse & modify HTTP requests and responses
- Inject code in HTML pages loaded by any computer on the same network
- Downgrade HTTPS to HTTP
- Write a program that can detect ARP Spoofing attacks
- Write custom made payloads to download a file, execute command, download & execute, download execute & report …..etc
- Use sockets to send data over TCP
- Send data reliably over TCP
- Write client-server programs
- Write a backdoor that works on Windows, OS X and Linux
- Implement cool features in the backdoor such as file system access, upload and download files and persistence
- Write a remote keylogger that can register all keystrikes and send them by Email
- Interact with files using python (read, write & modify)
- Convert python programs to binary executables that work on Windows, OS X and Linux
- Convert evil files into torjans that work and function just like any other file type like an image or a PDF
- Bypass Anti-Virus Programs
- Understand how websites work, the technologies used and how to test them for weaknesses
- Write a program that can discover hidden paths in a website
- Send requests towebsites and analyse responses
- Write a program that can map a website and discover all links, subdomains, files and directories
- Extract and submit forms from python
- Run dictionary attacks and guess login information on login pages
- Write a program that can discover weaknesses in websites
What is the target audience?
- Anybody who is interested in learning Python programming
- Anybody who is interested in learning ethical hacking / penetration testing
NOTE: This course is created for educational purposes only and all the attacks are launched in my own lab or against devices that I have permission to test.
NOTE: This course is totally a product of Zaid Sabih & zSecurity and No other organization is associated for certification exam for the same.
- Lectures 193
- Quizzes 0
- Duration 24 hours
- Skill level All levels
- Language English
- Students 1743
- Certificate Yes
- Assessments Yes
Writing a MAC Address Changer - Python Basics
- What is MAC Address & How To Change it
- Using Python Modules & Executing System Commands
- Implementing a Very Basic MAC Changer
- Variables & Strings
- Using Variables in MAC Changer
- Getting Input From The User
- Handling User Input
- Handling Command-line Arguments
- Initialising Variables Based on Command-line Arguments
- Python Functions
- Returning Values From Functions
- Decision Making in Python
- Using Conditional Statements in MAC Changer
MAC Changer - Algorithm Design
Programming a Network Scanner
- Introduction & Teaser
- Installing Windows as a Virtual Machine
- Introduction to ARP
- Designing an Algorithm To Discover Clients Connected To The Same Network
- Using Scapy To Create an ARP Request
- Combining Frames To Broadcast Packets
- Sending & Receiving Packets
- Introduction Lists in Python
- Iterating Over Lists & Analysing Packet
- Using Escape Characters To Enhance Program Output
- Introduction to Dictionaries in Python
- Improving the Program Using a List of Dictionaries
- Iterating Over Nested Data Structures
- Assignment 1: Get IP Range Using Command Line Arguments
- Assignment 1 (solution): Get IP Range Using Command Line Arguments – solution
- Testing The Network Scanner With Python 3
Writing an ARP Spoofer
- What is ARP Spoofing?
- Intercepting Data in a Network Using arpspoof
- Creating an ARP Response
- Sending ARP Responses
- Extracting MAC Address From Responses
- Introduction to Loops in Python
- More on Loops & Counters
- Dynamic Printing
- Exception Handling in Python
- Implementing a Restore Function
- Restoring ARP Tables When an Exception Occures
- Assignment 2: Fix Dynamic Printing
- Assignment 2 (solution): Fix Dynamic Printing
Writing a Packet Sniffer
Writing a DNS Spoofer
- Intercepting Packets – Creating a Proxy
- Converting Packets to Scapy Packets
- Introduction to DNS Spoofing
- Filtering DNS Responses
- Analysing & Creating a Custom DNS Response
- Modifying Packets On The Fly
- Redirecting DNS Responses
- Assignment 3: Conversion Between Strings & Bytes
- Assignment 3 (solution): Conversion Between Strings & Bytes
Writing a File Interceptor
- Introduction & Teaser
- Filtering Traffic Based on the Port Used
- Analysing HTTP Requests
- Intercepting HTTP Requests
- Modifying HTTP Responses on The Fly
- Intercepting & Replacing Downloads on The Network
- Assignment 4: Testing The File Interceptor With Python 3
- Assignment 4 (solution): Testing The File Interceptor With Python 3
Writing a Code Injector
- Introduction & Teaser
- Analysing HTTP Responses
- Replacing a Substring Using Regex
- Decoding HTTP Responses
- Refactoring & Housekeeping
- Debugging Issues in Python
- Using Groups & None-capturing Regex
- Recalculating Content Length
- Assignment 5: Test The Code Injector With Python 3
- Assignment 5 (solution): Test The Code Injector With Python 3
- BeEF Overview & Basic Hook Method
- Hooking Computers Using code_injector
- Basic BeEF Commands
- Delivering Malware Using BeEF
Writing an ARP Spoof Detector
- Introduction & Teaser
- Execute System Command Payload
- Sending Emails Using Python
- Filtering Command Output Using Regex
- Stealing WiFi Passwords Saved on a Computer
- Downloading Files From Program
- Writing Files on Disk
- Password Recovery Basics
- Stealing Saved Passwords From Remote Computers
- Interacting With The File System
Writing Malware - Keylogger
Writing Malware - Backdoors
- Introduction & Teaser
- Client – Server Communication & Connection Types
- Connecting Two Remote Computers Using Sockets
- Sending & Receiving Data Over TCP
- Executing System Commands Remotely
- Implementing a Server
- Implementing Skeleton For Server – Client Communication
- Refactoring – Creating a Listener Class
- Refactoring – Creating a Backdoor Class
- Serialisation – Theory
- Serialisation – Implementing Reliable Methods to Send & Receive Data Over TCP
- Serialisation – Reliably Sending & Receiving Data
- Sending Commands as List & Implementing Exit Command
- Interacting With the File System – Implementing “cd” Command
- Reading Files Using Python
- Writing Files Using Python
- Downloading Files From Hacked Computer
- Implementing Upload Functionality in Listener
- Implementing Upload Functionality in Backdoor
- Handling Unknown Exceptions
- Using the Backdoor to Hack Windows, Linux & OS X
Writing Malware - Packaging
- Introduction & Teaser
- Converting Python Programs To Windows Binary Executables
- Running Executables Silentely
- Installing Windows Pyinstaller on Linux
- Packaging Programs For Windows From Linux
- Introduction to Persistence
- Running Programs on Startup
- Creating a Basic Trojan Using Download & Execute Payload
- Creating a Trojan By Embedding Files In Program Code
- Bypassing Anti-Virus Programs – Theory
- Bypassing Anti-Virus Programs – Practical
- Adding an Icon to Generated Executables
- Spoofing File Extension
- Converting Python Programs To OS X Executables
- Converting Python Programs to Linux Executables
Website / Web Application Hacking
Website Hacking - Writing a Crawler
- Sending GET Requests To Web Servers
- Discovering Website Subdomains Using Python
- Discovering Hidden Paths in Websites
- Reading Response Content
- Extracting Useful Data From Response
- Filtering Rsults
- Extracting Unique Links & Storing Them In a List
- Recursively Discovering All Paths On a Target Website
- Testing The Crawler With Python 3
Writing a Program To Guess Login Information
Writing a Vulnerability Scanner
- Introduction & Teaser
- HTTP Requests – POST VS GET
- Parsing HTML Code Using Python
- Extracting HTML Attributes
- Posting Forms
- Building Basic Structure For Vulnerability Scanner
- Using Default Parameters
- Sending Requests in a Session
- Extracting & Submitting Forms Automatically
- Implementing a Method To Run The Scanner
- Discovering XSS Vulnerabilities
- Exploiting XSS Vulnerabilities
- Implementing Code To Discover XSS in Forms
- Implementing Code To Discover XSS in Parameters
- Automatically Discovering Vulnerabilities Using the Vulnerability Scanner
- Assignment 7: Test The Vulnerability Scanner With Python 3
- Assignment 7 (solution): Test The Vulnerability Scanner With Python 3
This is the probably the best method of learning a language I've encountered to date. So many courses have you building random and non-transferable apps, this will not only solidify your understanding of how computer networks work but also teach the language in a way that is rewarding and exciting
Emmanuel Seyram Buamah
Zaid is doing a great job so far. Am enjoying it to the fullest
Steven K Stone
Honestly, I've bought this course a long time ago and haven't got to use it. I just started today and must say, this is a fantastic course! Easy instructions -- even a noob like me can follow and implement. Learning python and ethical hacking skills all at the same time -- can't beat it. I got all the other courses too! Thanks Zaid!
I love how interactive this is. I really like how it will teach not only python but ethical hacking, all in one course! Great job!
Venkata Swamy Godari
All of your courses are wonderful! Which i have taken till now. I request you to add latest OWASP top 10 vulnerabilities in training's which ever missing the courses, if they are already there in web application courses please guide. Thanks a lot.