yankywilson/ghost-cring-defender-toolkit

GitHub: yankywilson/ghost-cring-defender-toolkit

Stars: 0 | Forks: 0

# Ghost (Cring) Ransomware — Defender Toolkit [![Advisory](https://img.shields.io/badge/CISA-AA25--050A-blue)](https://www.cisa.gov/news-events/cybersecurity-advisories/aa25-050a) [![MITRE ATT&CK](https://img.shields.io/badge/MITRE%20ATT%26CK-v16.1-red)]() [![TLP](https://img.shields.io/badge/TLP-CLEAR-green)]() [![License](https://img.shields.io/badge/license-MIT-lightgrey)]() ## What this is A defender-focused companion to a binary-level case study of one ransomware sample listed in **CISA / FBI / MS-ISAC joint advisory AA25-050A** (#StopRansomware: Ghost (Cring) Ransomware). The advisory provided MD5-only IOCs and family-level TTPs. This repository extracts what binary analysis adds on top: behavioral signatures, hunt-quality artifacts, and operational hardening that the advisory does not surface. **Sample under analysis:** | Field | Value | |---|---| | Filename per advisory | `Cring.exe` | | MD5 | `c5d712f82d5d37bb284acd4468ab3533` | | **SHA-256** | `f7d270ca0f2b4d21830787431f881cd004b2eb102cc3048c6b4d69cb775511c8` | | SHA-1 | `3426e8dcb104d9b01874498fb44c6e460228a9a0` | | File type | PE32, .NET Framework 4.0, MSIL/C# | | Size | 17,408 bytes | | First public sighting | 8 April 2021 (MalwareBazaar) | | Internal name | `Crypt3r` | | Source advisory | [AA25-050A](https://www.cisa.gov/news-events/cybersecurity-advisories/aa25-050a), 19 February 2025 | ## ⚠️ Scope and currency caveat — read this first **Treat this toolkit as:** - ✅ **Solid** — for historical Ghost / Cring / Crypt3r incidents and any environments still seeing this exact payload - ✅ **Useful** — as a pattern library for the family; the AES-CBC + RSA-OAEP hybrid architecture, the LOLBin-driven service kill chain, the .NET runtime dependency, and the network-drive targeting profile all generalise across the family - ✅ **Honest** — every detection rule is annotated with which artifact it keys on so you can decide whether it survives variant evolution - ⚠️ **Not current** — for what active Ghost operators deployed last week; for that, ingest the latest CISA STIX bundle and supplement with these patterns Generalisable findings versus sample-specific findings are tagged throughout. ## Repository layout ghost-cring-defender-toolkit/ ├── README.md ← you are here ├── docs/ │ ├── THREAT-PROFILE.md ← Ghost family characterisation │ ├── BINARY-ANATOMY.md ← what the sample does, in detail │ ├── ADVISORY-GAP-NOTES.md ← what AA25-050A omits │ └── REFERENCES.md ← external sources ├── detection/ │ ├── yara/ ← static signatures │ ├── sigma/ ← platform-neutral behavioral rules │ ├── splunk/ ← SPL searches │ ├── sentinel/ ← KQL queries for Microsoft Sentinel / Defender XDR │ ├── elastic/ ← EQL / ES|QL queries │ └── crowdstrike/ ← CrowdStrike Falcon search queries ├── intel/ │ ├── stix/ ← STIX 2.1 JSON IOC bundle │ ├── iocs/ ← flat-file IOC lists (one per type) │ └── ATTRIBUTION-NOTES.md ← what binary artifacts reveal ├── hunting/ │ ├── HUNT-HYPOTHESES.md ← named hunts with rationale │ ├── kql-hunts.md ← KQL hunt queries with explanations │ └── splunk-hunts.md ← SPL hunt queries with explanations ├── hardening/ │ ├── PREVENTION-CHECKLIST.md ← prioritised hardening steps │ ├── BACKUP-STRATEGY.md ← ransomware-resilient backup design │ └── windows-hardening.md ← Windows-specific controls ├── playbooks/ │ ├── IR-PLAYBOOK.md ← we just got hit │ ├── HUNT-PLAYBOOK.md ← we suspect we're compromised │ └── tabletop-scenario.md ← red-team exercise script ├── network/ │ ├── firewall-rules.md ← suggested egress controls │ └── proxy-blocklists.md ← email service blocking guidance └── mitre/ └── attack-navigator-layer.json ← MITRE ATT&CK Navigator layer ## Quick start by role | You are a… | Start here | |---|---| | **SOC analyst** with a fresh alert | [`playbooks/HUNT-PLAYBOOK.md`](playbooks/HUNT-PLAYBOOK.md) | | **IR responder** with a confirmed incident | [`playbooks/IR-PLAYBOOK.md`](playbooks/IR-PLAYBOOK.md) | | **Threat hunter** building proactive queries | [`hunting/HUNT-HYPOTHESES.md`](hunting/HUNT-HYPOTHESES.md) | | **Detection engineer** writing new rules | [`detection/sigma/`](detection/sigma/) and the per-platform folders | | **Security architect** planning prevention | [`hardening/PREVENTION-CHECKLIST.md`](hardening/PREVENTION-CHECKLIST.md) | | **CTI analyst** ingesting indicators | [`intel/stix/aa25-050a-cring-extended.json`](intel/stix/) | | **Tabletop exercise lead** | [`playbooks/tabletop-scenario.md`](playbooks/tabletop-scenario.md) | | **Reading this for portfolio review** | [`docs/ADVISORY-GAP-NOTES.md`](docs/ADVISORY-GAP-NOTES.md) ← the analytical contribution | ## What the AA25-050A advisory gave us — and what it didn't The advisory provided: - 14 MD5 hashes (Table 2) - 33 ransom email addresses (Table 3) - 11 third-party tools used by the actor (Table 1) - A full MITRE ATT&CK mapping (Tables 4–13) - A list of six initial-access CVEs - The verbatim Defender-disable PowerShell command line — a high-fidelity detection rule - The base64 prefix of the encoded PowerShell Beacon loader The advisory **did not** provide for this MD5: - SHA-256, SHA-1, SSDEEP, or imphash (these exist in the STIX bundle for this sample, but not in the PDF) - The ransom email associated with this sample (`qkhooks0708@protonmail.com`) - The dropped batch artifact names and hashes (`kill.bat` MD5 `fe0ccc3a...`, `killme.bat`) - The targeted file-extension list (22 patterns recoverable statically) - The embedded RSA public-key blob (a per-operator hunt anchor) - The .NET Framework 4.0 runtime dependency - Build-environment artifacts: leaked PDB path, assembly GUID, default VS template residue - The required `cc` command-line execution gate - The specific service kill list and process termination targets This repo fills those gaps for the sample at hand. See [`docs/ADVISORY-GAP-NOTES.md`](docs/ADVISORY-GAP-NOTES.md) for the full breakdown. ## Decryption advisory — important **Files encrypted by this binary cannot be decrypted without the operator's RSA private key.** The binary implements hybrid encryption correctly: AES-CBC with a per-file random 256-bit key and 128-bit IV, wrapped with RSA-OAEP using a 2048-bit embedded public key. There is no: - Hardcoded AES key - Weak random number generator - Key reuse across files - Implementation flaw that yields plaintext recovery The only paths to recovery are: 1. **Restore from clean offline backups** — see [`hardening/BACKUP-STRATEGY.md`](hardening/BACKUP-STRATEGY.md) 2. **Volume Shadow Copy recovery** — this sample, unusually, does NOT delete VSS (advisory claims T1490 at the family level, but this specific MD5 doesn't enact it). Check `vssadmin list shadows` before assuming shadow copies are gone. 3. **Negotiation channels** — out of scope for this repository; consult law enforcement and your incident-response retainer Do not run any tool claiming to decrypt `.cring` files without operator private-key access. Such tools do not exist. ## Attribution and limitations - All analysis was performed in an isolated FLARE-VM Windows 11 sandbox with no network egress. - The sample is .NET; dnSpy decompilation produced near-source C# from which the findings below are derived. - Findings are categorised in each file as **Sample-specific**, **Family-general**, or **Methodological**. - Cryptographic claims (algorithm, mode, padding) are derived from static decompilation, not from a chosen-plaintext attack. - This work does not address or refute AA25-050A's actor-attribution claims (China-located actors, 70+ countries impacted). Those rest on FBI investigative data not accessible to outside analysts. ## License MIT for all documentation and detection logic. The advisory text itself remains TLP:CLEAR per CISA's distribution terms. ## Acknowledgments - CISA, FBI, MS-ISAC for AA25-050A - abuse.ch MalwareBazaar for sample availability - recordedfuture.com Triage for the public sandbox corpus - The dnSpy, CAPA, FLARE-VM, PEStudio, and Detect It Easy maintainers - The original Cring family disclosure by Amigo_A (BleepingComputer, January 2021) and the Sophos Labs writeup of the same period *Built as a companion artifact to a multi-case academic study on advisory-reality discrepancies in published cybersecurity advisories. Constructive critique, defender first.*