N4D Mesh Controller: New infrastructure, a UPX-packed agent labeled “go-titan,” and how to hunt for it

N4D Mesh Controller: New infrastructure, a UPX-packed agent labeled “go-titan,” and how to hunt for it
N4D Mesh Controller is an active Linux malware campaign that exploits exposed MCP servers and other internet-facing services to steal credentials, move laterally, persist, and maintain command-and-control. Datadog Security Research confirmed a newer loader-to-agent chain, rotated infrastructure, and direct runtime evidence that the 33.8-go-titan agent enumerates MCP tools, invokes execute_command, and reports results back to its controller. #N4D #MCP #33.8-go-titan #cdnorigin.net #209.99.186.235

Keypoints

  • N4D targets publicly reachable Model Context Protocol (MCP) servers and other exposed services as initial access points.
  • The campaign automates MCP discovery by requesting tools/list, classifying tools, and invoking dangerous capabilities such as execute_command.
  • Datadog observed a newer loader contacting 209.99.186.235 and retrieving a second-stage agent identifying as 33.8-go-titan.
  • The malware includes broad exploitation paths for databases, containers, Kubernetes, Jenkins, Ray, LightLLM, and other infrastructure.
  • Persistence methods include hidden cron jobs, shell profile modification, systemd units, SSH key installation, and execution from temporary or memory-backed directories.
  • The agent also uses controller APIs with custom headers and can launch Cloudflare Quick Tunnels as an additional channel.
  • Runtime analysis showed the agent making thousands of connection attempts across hundreds of destination IPs, confirming broad multi-service scanning.

MITRE Techniques

  • [T1190] Exploit Public-Facing Application – Used against exposed MCP servers and other internet-facing services as entry points into the environment (‘turns exposed Model Context Protocol (MCP) servers…into entry points’).
  • [T1105] Ingress Tool Transfer – Retrieves architecture-specific agents and loaders with curl/wget from remote infrastructure (‘download an architecture-specific agent from cdnorigin.net, 209.99.186.73, or…209.99.186.235’).
  • [T1059.004] Unix Shell – Shell scripts and watchdogs use shell interpreters, setsid, and command execution during delivery and persistence (‘shell scripts and loaders use curl or wget’).
  • [T1053.003] Cron – Establishes persistence through hidden cron entries and cron.d files (‘hidden cron entries’, ‘/etc/cron.d/.sys-health’).
  • [T1543.002] Systemd Service – Installs a systemd unit for persistence (‘/etc/systemd/system/sys-resource.service’).
  • [T1098.004] SSH Authorized Keys – Adds an SSH public key to maintain access (‘installed into /root/.ssh/authorized_keys’).
  • [T1055] Process Injection – Not directly shown as injection, but the agent executes from memory-backed locations and disguises processes to blend in (‘execution from memory-backed directories’, ‘process names that mimic Linux kernel workers’).
  • [T1036] Masquerading – Uses kernel-worker-style names and hidden dotfiles to conceal malicious activity (‘process names that mimic Linux kernel workers’).
  • [T1021] Remote Services – Expands laterally to services such as SSH, databases, Docker, Kubernetes, and application servers (‘targeting SSH, databases, container APIs, Kubernetes’).
  • [T1219] Remote Access Software – Uses controller APIs and tasking channels for remote control (‘/api/register, /api/beacon, /api/task/, /api/result/, /api/pty’).
  • [T1562.001] Disable or Modify Tools – Restricts or alters host visibility by removing or changing startup and watchdog artifacts (‘watchdog scripts’, ‘shell-profile modification’).
  • [T1041] Exfiltration Over C2 Channel – Sends intelligence and tool results back to the controller (‘reports the result to its controller’, ‘sent health and host intelligence’).
  • [T1132.001] Standard Encoding – Uses custom header-based authentication and structured API communication (‘authenticated with custom X-Mesh-Auth and X-Operator-Key headers’).
  • [T1595] Active Scanning – Performs broad scanning across many IPs and ports (‘22,831 connection attempts across 742 destination IPs’).
  • [T1021.001] Remote Services: Remote Desktop Protocol – Not explicitly mentioned; omitted from listing because not supported by the article.

Indicators of Compromise

  • [IPv4] Controller / payload delivery infrastructure – 209.99.186.235, 209.99.186.73, and other observed operator IPs
  • [Domain] Delivery and C2 domain – cdnorigin.net, *.trycloudflare.com
  • [HTTP paths] Loader and controller API endpoints – /api/agent/full?arch=amd64, /api/agent/binary?arch=amd64, /api/register, /api/result/
  • [HTTP headers] Agent authentication headers – X-Mesh-Auth, X-Operator-Key
  • [File names / paths] Persistence and staging artifacts – /etc/cron.d/.sys-health, /etc/profile.d/sys_alias.sh, /tmp/.n4d_autodeploy_debug, /usr/local/bin/.sys-health-monitor
  • [File names / paths] Temporary execution locations – /dev/shm/.n4d, /tmp/.agent, /var/tmp/.wd
  • [SSH public key] Installed persistence key – AAAAC3NzaC1lZDI1NTE5AAAAIJKH4g/SD6c00i5PzlWWkwXJwIHEac+nlAjg6WeOHUq3
  • [SHA-256] Retrieved or unpacked samples – fc4109f5dd1d30b65dd60e57dc639ac1d313bfa5241e36e61fbc4aabc1cda482, c422621ef824b627d74906f8d75ed8f990f4d6c708a0d263f219f9d9dd435174, and other hashes mentioned in the article


Read more: https://securitylabs.datadoghq.com/articles/n4d-mesh-controller-go-titan-new-infrastructure-hunting/