
What mindset to have when taking the course ?
Introduce the users to the environment used in this course
This is not a tutorial about installing VirtualBox, there is plenty out there already ;-)
Brief introduction on where to find legitimate Go installation guide
This is not a tutorial about installing Go.
Some well known malicious opensource project will be tested on machine with windows defender and without. These includes Rubeus.exe, msfvenom etc.
VirusTotal will be introduced
An example of a simple helloworld program will be written in Go
The Go code will be compiled to helloworld.exe and tested in a windows environment
Windows API will be introduced
DLL Chained concept is presented
A first method to call the windows API in Go is shown
A Go program that creates a MessageBox is created
A second method to call the windows API in Go is shown
A Go program that creates a MessageBox is recreated
A third method to call the windows API in Go is discussed
Shellcodes are introduced
A demo of msfvenom is made
Loaders are briefly introduced
The big steps to bypass Windows Defender are shown
A "prepare" binary is created
Xoring is introducted
The loader code is started by a Xor decryption
Explore allocating memory in a Go process using VirtualAlloc, choosing reserve and commit memory with read-write protection, and preparing to load shellcode in a following step.
Explore alternative memory allocation methods for Windows processes, including virtualallocex and createfilemapping with mapviewoffile, to support loader development in Go.
Explore copying shellcode into a process memory in Go, using unsafe pointers and byte slices, with a focus on memory allocation and handling in malware development.
Explore allocating memory with virtualalloc, then using virtualprotect to make it executable for shellcode on Windows, implementing a two-step protection change with logging.
Learn to create a thread in the current process using the Windows API, load kernel32.dll, and execute shellcode by its start address, then wait for the thread to finish.
Explore alternative thread-launching methods in Go malware development, such as creating a remote thread and queuing a user APC for self or remote shellcode injection.
Loader is tested against Windows Defender
Loader is tested with Reverse TCP shellcode of msfvenom
Threat intelligence notes explain Windows Defender bypasses, static analysis, and VirusTotal IOCs sharing. Red and blue teams strengthen defenses against memory scans and evolving detection methods.
This course is designed to provide a comprehensive foundation for anyone interested in learning malware development. The primary objective is clear yet impactful: bypassing Windows Defender by creating a fully functional shellcode loader using the Go programming language. By the end of this course, you will have the essential knowledge and skills to build on, setting the stage for further exploration into offensive security and advanced malware techniques.
We begin by exploring the Windows API, a critical toolkit for low-level interaction with the Windows operating system. You’ll learn how to use these APIs to execute shellcode, allocate memory, and create loaders. Each step is broken down into practical, hands-on lessons that demonstrate how simple Go code can evolve into a powerful executable capable of manipulating and navigating the Windows environment.
In addition to technical insights, this course emphasizes practical learning through demonstrations and exercises, ensuring a solid grasp of the material. From understanding memory allocation to mastering thread creation, you’ll gain invaluable skills for creating efficient and effective programs.
Join our supportive Discord Group, where you can ask questions, collaborate, and stay connected with both peers and experts. The Discord link is provided in the first lecture attachment and will be sent to you again when you buy this course.