Black Hat Go: Go Programming For Hackers and Pentesters

  • 6h
  • Chris Patten, Dan Kottmann, Tom Steele
  • No Starch Press
  • 2020

Like the best-selling Black Hat Python, Black Hat Go explores the darker side of the popular Go programming language. This collection of short scripts will help you test your systems, build and automate tools to fit your needs, and improve your offensive security skillset.

Black Hat Go explores the darker side of Go, the popular programming language revered by hackers for its simplicity, efficiency, and reliability. It provides an arsenal of practical tactics from the perspective of security practitioners and hackers to help you test your systems, build and automate tools to fit your needs, and improve your offensive security skillset, all using the power of Go.

You'll begin your journey with a basic overview of Go's syntax and philosophy and then start to explore examples that you can leverage for tool development, including common network protocols like HTTP, DNS, and SMB. You'll then dig into various tactics and problems that penetration testers encounter, addressing things like data pilfering, packet sniffing, and exploit development. You'll create dynamic, pluggable tools before diving into cryptography, attacking Microsoft Windows, and implementing steganography.

You'll learn how to:

  • Make performant tools that can be used for your own security projects
  • Create usable tools that interact with remote APIs
  • Scrape arbitrary HTML data
  • Use Go's standard package, net/http, for building HTTP servers
  • Write your own DNS server and proxy
  • Use DNS tunneling to establish a C2 channel out of a restrictive network
  • Create a vulnerability fuzzer to discover an application's security weaknesses
  • Use plug-ins and extensions to future-proof productsBuild an RC2 symmetric-key brute-forcer
  • Implant data within a Portable Network Graphics (PNG) image.

Are you ready to add to your arsenal of security tools? Then let's Go!

About the Authors

Tom Steele, Dan Kottmann, and Chris Patten share over 30 years in penetration testing and offensive security experience, and have delivered multiple Go training and development sessions.

In this Book

  • Foreword
  • Introduction
  • Go Fundamentals
  • TCP, Scanners, and Proxies
  • HTTP Clients and Remote Interaction with Tools
  • HTTP Servers, Routing, and Middleware
  • Exploiting DNS
  • Interacting with SMB and NTLM
  • Abusing Databases and Filesystems
  • Raw Packet Processing
  • Writing and Porting Exploit Code
  • Go Plugins and Extendable Tools
  • Implementing and Attacking Cryptography
  • Windows System Interaction and Analysis
  • Hiding Data with Steganography
  • Building a Command-and-Control Rat


Rating 5.0 of 1 users Rating 5.0 of 1 users (1)
Rating 4.8 of 4 users Rating 4.8 of 4 users (4)