
Learn to code your own ethical hacking tools, from port scanners to reverse shells, inside a kali linux virtual environment similar to nmap. Set up virtualbox, practice legal, permission-based testing.
Download and install VirtualBox and Kali Linux, selecting the correct 64-bit or 32-bit version. Create a Debian 64-bit VM with configured memory and dynamic storage for ethical hacking.
Set up a Kali Linux hacking environment in VirtualBox by adding the Kali iso, configuring storage, memory, cpus, and network, then installing and booting into the root account.
Enable full-screen mode on Cal Linux by installing VirtualBox guest additions. Update sources.list, headers, and repositories, and troubleshoot common lock errors.
Open the Kali Linux terminal, use Python 2 or 3, write hello world in nano, save to test.py, make executable, and run with dot slash.
Explore how to build a simple port scanner in Python using sockets to detect open ports, identify services, and assess vulnerabilities on a target.
Improve the port scanner by prompting for IP address and port with raw_input, converting to int, and adding a two-second socket timeout to indicate open or closed ports.
Develop a multi-port scanner in Python 3 that scans the first 100 ports and then 1,000 ports, reporting open ports in green and closed in red with colorized output.
Code an advanced port scanner in Python 2 using socket, optparse, and threading to scan ports on a host with a user-friendly usage option and report open or closed ports.
Develop an advanced python port scanner by resolving hostnames to IPs, handling unresolved hosts, and scanning multiple ports with threaded connections to determine open or closed ports.
Finish and test the advanced port scanner by implementing port scan and connections scan, using threads, timeouts, and socket connections to identify open or closed ports and resolve IP addresses.
Learn how to install Metasploitable in a Linux virtual machine using VirtualBox, configure bridging network for a local area network, and set IP addresses for practical security testing.
Code a python banner retriever that connects to an open port and captures the service banner. Scan a port range, prompt for ip, and print the port with the banner.
Learn to build a Python vulnerability scanner that scans local hosts for open ports, retrieves banners, and compares them against a file of vulnerable banners.
Continue building a Python vulnerability scanner by implementing a banner return function and a check routine that reads a vulnerability list and reports vulnerable software on open ports.
Automate ssh login to a vulnerable target using python, handle rsa fingerprint prompts, and execute commands like cat /etc/shadow to illustrate ssh automation for pentesting.
Automate ssh login in python by implementing a connect function that handles the continue connecting prompt, sends username and password, and uses expect to detect prompts and return the session.
Learn to finish a Python SSH login program, connect to a target, send commands, handle prompts, and print command output, with a preview of a brute-force next video.
Create an ssh brute-forcer in Python by reusing the connect function, reading a password file line by line, stripping newlines, and testing each password against a target account.
Add a timeout to the brute-force script to slow ssh login attempts. Execute a command on the target after finding the password, such as who am I.
Examine anonymous FTP login attacks on FTP servers, highlighting port 21, unencrypted credentials, and common vulnerability patterns. Learn a simple Python approach to test and assess FTP login security.
Create a python ftp brute-force tester that reads a password file with username and password pairs separated by two dots, tests credentials with the ftb library, and reports successful logins.
Build a Python tool that hashes a user-entered string using hashlib, producing md5, sha1, sha224, sha256, and sha512 hex digests for password cracking practice.
Develop a Python tool that reads a password list from the internet, hashes each candidate with sha-1, and compares it to a user-provided hash to reveal the matching password.
This course's lecture demonstrates building a Python MD5 brute-force tool that reads a wordlist, hashes candidates with MD5, compares to a given hash, and reveals a matching password.
Explore how the Python crypt library can encrypt passwords with salt, demonstrating salted hashes and a dictionary-based brute-force approach to cracking them for security learning.
Explore how to change a device's MAC address using a mac changer and Linux commands, including interface down and up, hardware MAC options, and random or specified addresses.
Build a Python mac address changer using subprocess to run interface commands, prompt for the interface and new MAC, and verify changes by inspecting the interface's ifconfig output.
Explain the theory of arp spoofing, showing how arp packets reveal mac addresses and how an attacker impersonates victim and router to create a man-in-the-middle.
Explore how to use a Python library to craft and send arp packets, inspect arp fields, broadcast requests to discover mac addresses, and perform arp spoofing to redirect traffic.
learn to implement arp spoofing on a local network using scapy, specifying target and spoofed IPs, retrieving target mac addresses, and sending crafted arp packets to spoof router and targets.
Forward packets during ARP spoofing and restore ARP tables by retrieving real target and router MAC addresses, then send corrected packets to return the network to normal.
examine ip spoofing and packet crafting to simulate a flood attack, using scapy to build ip layers and payloads, with wireshark to observe traffic, and discuss botnet coordination.
Explore building a python syn flooder with a changed source ip address to simulate flooding across ports using ip and dcp layers.
Build a local Python sniffer that captures raw packets on your interface and prints the destination and source MAC addresses along with the protocol using socket and struct.
Develop a python program to sniff ftp credentials—username and password—from unencrypted network packets on port 21, selecting the interface with optparse and printing credentials.
Demonstrates using Python to sniff FTP credentials from network traffic, extracting the username and password from raw packet data, and showing the destination IP.
Explore how a packet sniffer captures usernames and passwords from HDP websites by examining login form traffic, processing HDP requests, and printing the URL when credentials are detected.
Demonstrate cloning a webpage by setting up a local apache server, copying a target page, and redirecting users to a fake page.
Learn how to sniff dns packets with Scapy, view dns fields, and modify dns answers to redirect local network users to a web server using Python and NetfilterQueue.
Learn to build a dns buffer in python, install netfilter, and redirect dns responses by intercepting packets and rewriting dns a records to a calendar machine's web server.
Learn to set iptables rules and run a dns spoofer to redirect target dns queries to a controlled page, including packet field manipulation and payload preparation.
Create a Python packet sniffer that captures raw packets and analyzes ethernet headers and IP headers, extracting MAC addresses and protocol fields with socket, struct, and binascii.
Analyze ethernet headers to reveal destination and source mac addresses, detect ip protocol, and initiate ip header parsing to identify ipv4 packets and subsequent dcp udp data.
Analyze and unpack the 20-byte ip header to extract version, IHL, tos, total length, id, flags, fragment offset, TTL, protocol, checksum, and source and destination IP addresses.
sniff packets continuously and analyze ethernet, ip, tcp, and udp headers, extracting fields and printing them to build a full packet sniffer.
Analyze the udp header to unpack the four fields and print the source port, destination port, length, and checksum in a Python packet sniffer.
Explore the theory behind socket programming and build a dual program setup with a server and reverse shell, enabling multi-target connections, file operations, and basic botnet control for ethical hacking.
Install wine to run windows programs on linux, set up 32-bit wine, install python 2.7 inside wine, and install pyinstaller to compile python programs into dot emc files.
this lecture guides setting up the server for a reverse shell in Python, creating and binding a socket to an IP and port, then listening for incoming connections.
Set up a client-server connection using sockets, configure a reverse shell, and verify a connection between server and client via IP and port.
Develop a server and reverse shell workflow to send and receive messages, using global socket variables and UTF-8 encoding to handle Python 2 and 3 compatibility.
Explore building a reverse shell in Python, establishing sockets, looping to send commands, handling quit conditions, and executing target commands with subprocess while testing with hello world.
learn to implement reliable send and receive in a python reverse shell using json to handle arbitrary data sizes, including chunked transfer and error handling.
Learn how to convert a Python backdoor into a Windows executable, compile a reverse shell, transfer via usb, run the server, and test remote commands.
Learn to use Python's OS library to implement a change directory command in a reverse shell, handling cd inputs safely across Windows and Linux.
Learn to download and upload files from a target PC using a reverse shell, with server and client code, base64 encoding, and byte-level file operations.
Learn how to hide a reverse shell and establish persistence on Windows by copying the backdoor into a hidden AppData directory and creating a startup registry entry.
Implement a reverse shell that periodically reconnects to the server every 20 seconds, using a recursive connection function and a sleep interval.
Learn to implement a Python-based reverse shell to download files to a target PC using the requests library, fetch URL content, and save it locally.
Capture screenshots on the target PC using a Python reverse shell, encode and transmit image data to the server, and manage multiple screenshots.
Demonstrates checking administrator privileges in a reverse shell using a global admin variable, attempting access to the Windows temp directory, and a check command to reveal user vs admin rights.
Discover how to build a reverse shell and backdoor, implement a standalone key logger, and design a multi-session command-and-control server to issue remote commands across targets.
The lecture shows turning a reverse shell into disguises such as image, audio, or pdf, guiding icon creation and conversion and explaining how persistence maintains backdoor access.
Install and configure the pynput library to build a keyboard listener that captures keystrokes and writes them to a file, using Python on Linux and Wine environments.
Develop a Python keylogger that captures keystrokes, processes keyboard events, and appends keystrokes to a log file while handling special keys and printing to screen.
Learn to implement a python keylogger that captures keystrokes, writes them to a hidden file, and uses a timer to periodically log activity.
Learn to implement a keylogger inside a backdoor using Python, with threading and server communication to dump keystrokes. Explore setup, command handling, and testing concepts.
Explore how a threaded server powers a command and control center by accepting multiple connections, tracking targets, and issuing commands via threaded sockets.
Set up a threaded Python socket server by importing socket, threading, os, base64, then bind and listen on a port, accept connections, and manage connected targets with a stop flag.
Learn to build a command and control center that manages multiple targets, lists connected targets, and enters individual sessions through a threaded server and loop.
Build a threaded server and integrated shell, copy and embed the reliable send and receive functions, and test with a Windows 10 target using session commands.
fix the q command in the python reverse shell to continue sessions instead of closing, enabling multi-target control with a threaded server.
Learn to implement a robust exit function in a threaded Python server, closing all target connections and sockets gracefully, with timeouts and session management.
Learn to design a threaded server that broadcasts commands to multiple connected targets, manage a botnet, and handle reverse shells with testing across devices.
If you would like to master ethical hacking while working on practical Python coding projects, you are going to LOVE this course! Learn Python hacking, ethical hacking, penetration testing, cybersecurity, and more with over 17 hours of HD video tutorials! This course was designed for students interested in intermediate to advanced level ethical hacking tutorials, however it is still taught in a step-by-step, beginner friendly method. We will begin with coding basic port and vulnerability scanning tools, move onto SSH, FTP, and spoofing attacks, take a look at network analysis, and finish up with coding a reverse shell, command and control center, and several website penetration testing tools. Upon completing this course, you will be prepared for a job in the cybersecurity industry.
8 Coding Projects in the course:
• Port and vulnerability scanner
• SSH brute-forcer
• MAC address changer
• ARP spoofer
• DNS spoofer
• Multi-functioning reverse shell
• Keylogger
• Command and control center
Topics covered in the course:
• Introduction and setup
• Port and vulnerability scanning
• SSH and FTP attacks
• Password cracking
• Sniffers, flooders and spoofers
• DNS spoofing
• Network analysis
• Coding a multi-functioning reverse shell
• Keyloggers
• Command and control center
• Website penetration testing
Still not sold? Check out a few of the awesome reviews this course has received from customers:
• "This course was very helpful to me. It taught me to actually continue coding. I used to try to learn using tutorials but I would lose interest quickly. This course has me writing code over and over to get the feel of the syntax and gives me a better understanding of how coding actually works. Thanks!"
• "What a great course!! It helped to give me a deep understanding of many topics about my current CEH Certification. Thank you very much!"
• "The course is very well explained, projects are being developed and showing how they can be improved. I particularly liked the section dedicated to the reverse shell, I learned a lot. Thank you Joseph for the course."