IntermediateOffensiveToolingNetworking

Black Hat Go

Go Programming For Hackers and Pentesters

4 / 5

Tom Steele, Chris Patten, and Dan Kottmann show how to use Go's networking primitives, concurrency model, and cross-compilation to write offensive tooling that runs almost anywhere.

Buy on Amazon

As an Amazon Associate we earn from qualifying purchases. The link above is sponsored.

Published
2020
Publisher
No Starch Press
Pages
368
Language
English

Read this if

Offensive practitioners who already know Python (or Bash) and want a compiled-language alternative for tools that need to run as a single binary on locked-down endpoints. Go's cross-compilation and tiny runtime make it the right choice for many implant-style tools.

Skip this if

Beginners with no programming background. The book assumes Go familiarity at the syntax level; for the language itself, read The Go Programming Language (Donovan/Kernighan) first.

Key takeaways

  • Go binaries cross-compile to Windows, Linux, macOS, and ARM with no toolchain pain; for offensive tools that need to land on a target, Go saves hours.
  • Concurrency in Go is simple enough that scanners, brute forcers, and watchdog tools become trivial to write; the book's networking chapters lean on this.
  • Modern offensive tooling (Cobalt Strike alternatives, Mythic agents, Sliver) is increasingly Go-native; reading this book is reading the language those projects share.

Notes

Pair with Black Hat Python (Seitz/Arnold) for the Python complement and with the Sliver / Mythic / Havoc source code for the modern tooling examples. The book's chapters on networking, command-and-control patterns, and Windows-specific syscalls are the practical core. Go's standard library does most of the work; the book teaches you how to leverage it.