{
  "family": "msilperseus",
  "sample_count": 596,
  "category": "trojan_generic",
  "description": "Trojan:MSIL/Perseus is a sophisticated Remote Access Trojan (RAT) and credential stealer compiled entirely in the .NET framework, designed for deep endpoint surveillance and data exfiltration.<br><br><b>What is MSILPerseus?</b><br>For the victim, Perseus operates silently, granting a remote attacker full access to their file system, webcam, and keystrokes. For incident responders, Perseus is a modern, modular .NET threat. Because it relies on the MSIL (Microsoft Intermediate Language) architecture, it is frequently packed with commercial protectors (like ConfuserEx) to heavily obfuscate its code, making static analysis and reverse engineering significantly more difficult than traditional C++ RATs.<br><br><b>Infection Vectors & Threat Hunting</b><br>Perseus is typically distributed via weaponized spam campaigns containing malicious Office documents or dropped by initial access brokers. Upon execution, the .NET payload drops a copy of itself into the <code>%LocalAppData%</code> directory and establishes persistence via a scheduled task or Registry Run key. It utilizes dynamic API resolution to evade EDR hooks and frequently injects its core module into legitimate .NET processes (like <code>RegAsm.exe</code> or <code>MSBuild.exe</code>) to mask its network activity.<br><br><b>Forensic Analysis & Impact</b><br>The impact of Perseus is total system compromise. It actively hunts for and steals cryptocurrency wallets, browser cookies, and saved FTP credentials. Incident responders should monitor for anomalous outbound TCP traffic to dynamic DNS providers originating from native Windows binaries. Memory forensics is critical; analysts must dump the injected process memory to extract the un-obfuscated .NET assembly, which can then be decompiled (using dnSpy) to reveal the C2 configuration and encryption keys.",
  "cta": "Published by the SystemHelpdesk team.",
  "aliases": [],
  "enrichment_level": "expert-seo",
  "faq": [],
  "faq_count": 0,
  "mitre_attack": [
    "T1555",
    "T1055",
    "T1056.001",
    "T1027.002",
    "T1571"
  ],
  "cisa_advisory": null,
  "last_updated": "2026-06-09",
  "mitre_attack_detail": [
    {
      "id": "T1055",
      "name": "Process Injection",
      "tactic": "Defense Evasion"
    },
    {
      "id": "T1056.001",
      "name": "Input Capture: Keylogging",
      "tactic": "Collection"
    },
    {
      "id": "T1555",
      "name": "Credentials from Password Stores",
      "tactic": "Credential Access"
    },
    {
      "id": "T1027.002",
      "name": "Obfuscated Files or Information: Software Packing",
      "tactic": "Defense Evasion"
    },
    {
      "id": "T1571",
      "name": "Non-Standard Port",
      "tactic": "Command and Control"
    }
  ],
  "containment_steps": [
    "Immediately isolate the endpoint from the network to sever the attacker's interactive, remote-control session.",
    "Capture a full RAM image of the endpoint; memory forensics is critical for extracting the un-obfuscated .NET Perseus configuration.",
    "Decompile the extracted .NET payload to identify the specific C2 IP address/domain and implement immediate blocks at the perimeter firewall.",
    "Assume total endpoint compromise; perform a clean OS rebuild and force password resets for all accounts that accessed the machine."
  ],
  "what_to_avoid": [
    "Do not leave the machine connected to the network during triage; the attacker has live access and will likely destroy evidence or deploy ransomware.",
    "Avoid relying solely on static file analysis, as the heavy .NET obfuscation (ConfuserEx) will yield minimal intelligence without memory dumping."
  ],
  "target_industries": [
    "Global / Opportunistic"
  ],
  "motivation": "Opportunistic",
  "threat_actors": [
    "Unknown / Cybercriminal"
  ],
  "target_geographies": [
    "Global"
  ]
}