Penetration Testing with Golang (W54)

(2 customer reviews)


21 items sold


Get the access to all our courses via Subscription


SKU: N/A Category:

In this course, we’ll take you on a journey to using Golang for security purposes such as OSINT technicals, scanning, reconnaissance, interacting with APIs and many more techniques that are essential for penetration testers and hackers. Everything is different because it is Golang! Golang is used in a wide range of security projects.

Who is this course for? 

This course is for you if you are a Network Engineer, Hacker, Penetration Tester, Network Security, System Administrator and you are looking for a source to start penetration testing with Golang.

Why take it NOW? 

Because the Golang is becoming more and more popular and its use in the field of security. So that in the near future most projects and security tools will be written in Golang.

Why this course? 

It is a hands-on and practical course that avoids theoretical concepts. You can take this course if you want to level-up your knowledge in the penetration testing field and programming. This course is for you if you would like to write your own security tool with Golang.

Course benefits:

What skills will you gain?

  • Concurrency programming
  • Write your own security tools
  • Golang network modules
  • Networking with Go
  • Socket Programming and using it for penetration testing
  • Interacting with search engines and APIs

What will you learn about?

  • net(lib)
  • GoQuery(lib)
  • html(lib)
  • HTML Scraping and Escaping
  • Goroutine and concurrency technicals in Go
  • Bruteforce Attacks
  • Information gathering and Scanning phases

Throughout the course: 

  • Go
  • GoQuery
  • GoPacket
  • And many Go packages

Tools to be taught in specific modules: 

  • Installation and Introduction:
    • Go compiler
    • Go syntax: 
    • Golang Pure
  • Enumeration and Scanning: 
    • Golang Pure
  • Packet Capturing:
    • Gopacket  
    • Libpcap
  • Brute Force:
    • pq
    • go-sql-driver/mysql
    • mgo.v2
  • OSINT:
    • Google
    • Shodan API
    • Goquery
  • Web Scraping:
    • Goquery
    • Regexps
  • Steganography:
    • Hexdump

Course general information: 

DURATION: 10 hours

CPE POINTS: On completion you get a certificate granting you 10 CPE points. 

Course launch date: November 17th 2020

Course format: 

  • Self-paced
  • Pre-recorded
  • Accessible even after you finish the course
  • No preset deadlines
  • Materials are video, labs, and text
  • All videos captioned

Estimated times to finish the course modules:

  • Installation and Introduction, 30-50m
  • Go syntax, 80m
  • Enumeration and Scanning, 30-40m
  • Packet Capturing, 40m
  • Brute Force, 30-40m
  • OSINT, 60m
  • Web Scraping, 60m
  • Steganography, 60m
  • TOTAL: About 400m, 6.30h

What will you need to follow along with the instructor?

The course can be implemented in any operating system. The only difference is in the installation of Golang.

What should you know before you join to take full advantage of the materials?

  • Bash (beginner)
  • Programming languages and their concepts (intermediate)
  • Networking (beginner)
  • Familiarity with the steps of penetration testing (CEH level)

Your instructor: Saeed Dehqan

Saeed is currently a project leader working with OWASP. At OWASP, he is a security researcher and project leader.
He has extensive experience in security areas such as network security, secure coding, server security, human resource vulnerabilities, DevOps, and more. He has 4 years of experience in research and works in the cybersecurity field with some companies. In programming, he works with several programming languages and he did several projects in the security field. Also, he works with and as an author and on the board of reviewers.


Module 1

Installation and Introduction

In this module, we will cover setting up the Golang development environment on Linux,  Go commands, Cross-compiling and IDE.

  • Installation of the Golang
  • Installation of the IDE
  • Go commands
  • Compiling

Module 2

Go syntax

In this module, we will cover the syntax and fundamentals of Golang. This is a quick review and not in-depth. It provides the foundation necessary for the following chapters. In the following chapters, we'll see many examples that are enough to understand the Go syntax.

  • Data types
  • Slice and Maps
  • Pointers, Struct and Interfaces
  • Control Structures
  • Concurrency
  • Error Handling
  • Json Data Type


  • Encrypt and decrypt of a message with a key using xor gate

Module 3

Enumeration and Scanning

Scanning and enumeration are critical steps to a penetration test. In this module, we’ll be using Go to enumerate and gather data about the network and scan ports, services and banner grabbing. The most common tool to scan the ports and banner grabbing is Nmap but in this module, we’ll write our own tool to scan the hosts and detect the version of services that are active on the host.

  • Send HTTP request and receive response
  • Detect the services
  • Banner grabbing
  • Concurrency port scanning
  • Finding named hosts
  • TCP Server/client
  • IP to hostname
  • Hostname to IP
  • MX records

Module 4

Packet Capturing

In this module, we'll be working with gopacket and libpcap to capture the network traffic, reading and writing from the pcap files and detecting network devices.

  • Network Packet Capturing
  • Gopacket
  • Libpcap
  • Working with pcap files

Module 5

Brute Force

In this module, we'll introduce the brute force or exhaustive keys attacks and learn how to write scripts that do a powerful brute force attack.

  • HTTP basic authentication
  • SSH password authentication
  • HTML login forms
  • Database brute force attacks

Module 6


In the first part of this module, we talk about OSINT. Then we'll learn how to implement OSINT techniques in practice and how to gather data from search engines and how to interact with the APIs.

  • Finding Linkedin, Facebook and Twitter accounts and posts
  • Gathering email addresses from a company
  • Gathering hostnames
  • Interacting with search engines
  • Shodan API


  • OSINT: Add another search engine to the OSINT project

Module 7

Web Crawling

In this module, we'll write our own concurrency web scraper and crawler that crawls web pages and extracts URLs and entry points (forms, get parameters) and uses them for fuzzing attacks.

  • Parsing HTML pages
  • Extract tags and attributes
  • Depth-first crawlers (DFS)
  • Breadth-first crawlers (BFS)


  • Web Scraping: Extract CSS and javascript files from the crawled contents

Module 8


Steganography is the concealment of a message or file within another file. In this module, we will introduce hiding arbitrary data within a PNG image. This technique can be useful for exfiltrating information, creating obfuscated C2 messages, and bypassing detective or preventive controls.

  • Hiding data in images


If you have any questions, please contact our eLearning Manager Marta at [email protected].

2 reviews for Penetration Testing with Golang (W54)

  1. Carlos Azúa (verified owner)


    The scripts created were very useful also the techniques presented. The only regret is I wanted more explanation on go usage for every code and not looking for typing in the screen (for that, we can check directly the github repo)

  2. Traiano Giuseppe Welcome (verified owner)

    I highly recommend this course as a major step in mastering golang for offensive security and for getting a good introduction into advanced hacking techniques.

Add a review

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© HAKIN9 MEDIA SP. Z O.O. SP. K. 2013