logo

Malware Development Pt. 1: Dynamic Module Loading in Go

ID: a55911be-db93-595c-92c3-873c8821d7c5

STIX ID: report--a55911be-db93-595c-92c3-873c8821d7c5

Feed Name: SpecterOps Blog

Date Published: 2020-08-31

Date Updated: 2026-04-30

Author: Dwight Hohnstein

...
...

This article presents a Go-based proof of concept for a lightweight, modular agent that loads functionality on demand as shared libraries and enables two-way communication via a shared datagram specification and CGo function-pointer bridges. It explains in-memory loading on Linux using memfd_create with dlopen/dlsym, outlines module and application interfaces (main and callback exports), and provides wrapper packages for managing RAM-backed libraries. The approach aims to limit exposed capabilities, improve maintainability and versioning, support cross-language modules, and includes links to the application core and shared library POCs.

Your team is not currently subscribed to this feed. You must subscribe to it in order to see this post.