
Explore the foundations of hacking and ethical considerations, then learn information gathering with active and passive techniques, network scanning using nmap, and traffic interception concepts.
Please take this course and leave a review and provide feedback to help improve course quality.
Learn the fundamentals of computer networks, including nodes and addresses, IP addresses, MAC addresses, ports, gateways, local area networks, and the internet, for ethical hacking preparation.
Learn hacking fundamentals, including black hat, white hat, and gray hat roles, and the steps from reconnaissance to exploitation, post-exploitation, and maintaining access.
Install virtualization software such as VMware Workstation Player or VirtualBox, then set up a Windows 10 VM as the victim and an attack VM for hands-on practice.
Install go on Windows by downloading the official installer, running the setup, accepting defaults, and restarting if needed, then verify the installation with go version.
Explore integrated development environments for go: use Visual Studio Code with the Go extension for free setup, or GoLand from JetBrains, with a basic interface and debugging tips.
Install Go on a Linux machine by downloading, extracting, and updating your profile to export the Go path. Verify the installation with go version to confirm successful setup.
Set up the go environment by exploring environment variables and the go env command, and organize projects in a go workspace at home/kali/go with src, bin, and pkg.
Learn to execute system commands in Go using the OS package and its execute subpackage, implement a command-running program for Linux and Windows, and capture stdout and stderr.
Refactor your code to handle multiple command line arguments by introducing an execute function that runs a command with given arguments, prints results, and handles errors.
Explore how to use ifconfig on Linux to view IPs and MAC addresses, and learn how masking or changing a MAC address can hide your identity on a local network.
Change your mac address by bringing the interface down, using ifconfig to set the hardware address (ether) to a new value, and bringing the interface back up.
Learn to build a go program that executes shell commands with sudo privileges, handling password prompts. It takes down the network interface, changes the mac address, and re-enables the interface.
Develop a Go command line tool that uses flags to set a network interface's mac address, build an executable, and run on Linux with bundled dependencies.
Create a basic tcp scanner in go by dialing a target ip and port with net.Dial, then report connection established to enable active network scanning and host mapping.
Extend the port scanner from a single port to scanning hundreds with a for loop. Handle int to string conversion and format addresses to print ports like 22 and 80.
Leverage concurrency in Go to build a faster tcp scanner, using go routines and a wait group to manage port checks and ensure all scans complete.
Improve a concurrent TCP scanner in Go by handling nil errors, closing connections safely, and printing open ports such as 80 and 22 for faster results.
Learn to use nmap for information gathering by checking host status, IP and DNS details, and identifying open ports. Explore a graphical interface and subnets like 192.168.0.0/24.
Learn to build a network scanner in go using an nmap library to identify devices on your local network by scanning a target subnet, ports, and MAC addresses.
Create an nmap-style tool in go to scan hosts and two ports, printing each port's protocol, state, service, and mac address.
Explore how the address resolution protocol maps IP addresses to MAC addresses on a local network, broadcasting who has requests and updating the ARP table with replies.
Learn how arp spoofing enables a man-in-the-middle attack by deceiving devices into updating arp tables with fake gateway information. See how attackers intercept traffic and credentials.
Install arp spoofing tools on Kali Linux by using the terminal, gaining root access, and running apt-get to install the arp spoof package.
Enable ip forwarding to turn a machine into a tunnel between local networks and the internet, then configure sysctl and the ip table to forward packets.
Demonstrate a man-in-the-middle attack by ARP spoofing to impersonate both victim and gateway, rebind MAC addresses, and intercept traffic with Wireshark for analysis.
Learn to spoof devices with an attack machine and capture packets using Wireshark, filtering by IP source to isolate traffic from a Windows machine.
Install the gopacket package and build a Go program to capture network packets, tailoring packet capture to your needs with hands-on coding.
Discover how to find devices on the network using the B gap package in Go, then print device names and their IP addresses and subnet masks.
Install the missing Unix library, run the program to enumerate interfaces, reveal IPv4 and IPv6 addresses and net masks, preparing for device discovery in the next lecture.
Learn to capture packets by locating a network interface and iterating over devices, selecting the capture interface, and handling missing devices with a panic log.
Open a live capture handle with device name, snapshot length, promiscuous mode, and timeout to start capturing packets. Apply filters like dcp transmit on port 443 to capture targeted traffic.
Intercept network traffic by applying a filter on a capture handle and starting a live packet source to decode and print matching packets.
Explore capturing and spoofing packets with Go, observing traffic between victim and attacker machines. Inspect packet headers and plan future payload analysis.
Examine how to extract the application layer from captured packets and search plaintext payloads for user names and passwords, highlighting the risks of unencrypted data in certain protocols.
Demonstrates how credential theft can occur via spoofed login forms over http, capturing usernames and passwords, and explains how ssl stripping can bypass protections on non-secure sites.
Explore malware concepts by building two go programs—victim and attacker—to establish automatic remote access, execute commands, upload and download files, and enable long-term access for learning.
Design and implement a hacker server in Go using the net package to listen for, accept, and log incoming connections from a victim via IP and port.
Write a Go program to connect to a server by IP and port using a dialing method to establish a TCP connection. Log the outcome and handle errors.
Run a server and client that listen for incoming connections and establish a handshake across Windows and Linux. Understand port roles and how connections form the basis for building apps.
Organize a Go server program by creating a core package to manage connections and communication with the victim, using a connect function with IP address and port and proper closing.
Develop a handle-connection package in Go to dial a server using IP and port, returning a connection. Convert IP and port to server address, manage the connection, and report establishment.
The lecture demonstrates reading user input via standard input, constructing a message, and sending it from server to client using a connection in Go, with bytes sent and error handling.
Learn to receive data over a Go network connection by defining a reader, using a delimiter to mark input end, and trimming suffixes before printing.
Learn how to serialize and send complex Go data structures over a network using gob encoding, enabling server to client data transmission beyond simple strings.
Receive gob-encoded data on the victim machine by defining a matching data structure and decoding from the connection into that struct, then print the data.
Demonstrates sending and receiving gob-encoded data across Linux and Windows by capitalizing field names, printing decoded values, and running servers on both platforms.
Explore remote command execution using a Go-based tool: send commands from the hacker system, execute them on a Windows victim, and return results through a looping command interface.
Define an exit condition by checking user input, using a case for input 99, display an exit message, and adjust loop controls to terminate the program.
Implement the victim side main function in Go to read server options over a network, run an input loop, and execute commands for option one or exit on option ninety-nine.
Develop a Go-based server loop that sends user-entered commands to a remote host, decodes responses, handles errors, and stops on a defined condition.
Explore building a Go-based wiretap tool that executes user commands on the victim, handling input in a command loop and supporting Windows and Linux execution.
Learn to build a Go tool that runs a Windows command, manages standard input and output, handles arguments and errors, and encodes results for command execution.
Spot a minor error where a missing backslash kept a subvert program function from executing in Go, highlighting careful debugging to fix the issue.
Execute remote commands via a Go-based tool, switching between Windows and Linux commands, viewing directory contents and IP configuration, and handling command errors through an interactive menu.
In this course we will learn hacking using Go language. Go is an open source programming language created by Google. As one of the fastest growing languages in terms of popularity, its a great time to pick up the language and start using it.
First we start with learning about why we should use go language and what are its advantages. Then we will start diving into what hacking is and what are different types of hacking. We will learn how to keep ourselves secure over LAN by developing a program for changing MAC address. Then we will create a Network Scanner that will help us in scanning devices over our local network and finding out their IP and MAC addresses. During our course, we will explore a lot of aspects of hacking using go language in detail and use important packages for Hacking purposes.
In the later part of our course, we will start developing programs that will help us in hacking. Firstly we will perform a man in the middle attack using ARP spoofing and then we will intercept traffic between users. Then we will create our own backdoor malware that will give us complete control over the victim machine using a power-shell , i.e you will be able to run commands on the remote PC. We will also develop a functionality to steal user files from his machine using our backdoor.