Skip to content

Go Malware Meets IoT: Challenges, Blind Spots, and Botnets

Asher Davila

Examines the challenges of analyzing Go-based IoT malware and demonstrates reversing techniques using the Pumabot surveillance botnet as a case study.

Summary

The Rise of Go in IoT Malware

Go-based malware is increasingly prevalent in IoT environments due to the language's cross-compilation support and architectural flexibility. However, these same attributes complicate analysis and defense, as Go binaries are large, statically compiled, and structured differently from traditional C-based binaries.

Reversing Challenges in Go Binaries

Analysts encounter significant obstacles when analyzing Go runtimes, including complex type systems, non-standard function call conventions, and obscured string tables. Traditional static analysis tools struggle to extract meaningful strings or recover function boundaries without specialized tooling.

Practical Recovery and Analysis Techniques

Decompilation and reverse engineering workflows benefit from dedicated scripts and plugins designed to parse Go internal metadata structures, reconstruct type definitions, and restore original symbol names from stripped binaries.

Case Study: Pumabot Botnet

Pumabot represents a real-world example of Go-based malware targeting IoT surveillance devices and IP cameras. Analyzing Pumabot reveals its infection vectors, persistence mechanisms, command-and-control communication protocols, and the distinctive forensic artifacts left on compromised endpoints.

Related talks

Creator Stage·22 min

  • DEF CON
  • Malware
  • Date: Aug 2024
  • Location: Las Vegas

Mauro Eldritch · Cybelle Oliveira

Introduces mFT, an open-source tool demonstrating how to use blockchain-backed non-fungible tokens as immutable command-and-control infrastructure.

c2blockchainmalware+2