New Turtle Ransomware Spotted Targeting macOS
Researchers uncovered a cross-platform Go ransomware dubbed 'Turtle' that encrypts macOS files with AES using a hardcoded key, making decryption trivial.
Sourceobjective-see.org — open the original
What to check
- Applies to
- Whether this concerns you is not assessed; the names the report mentions are listed below.
Objective-See analyzed a new ransomware sample, internally dubbed "Turtle" (also referred to as "TURTLERANS" or "TurmiRansom" in its own strings), after a researcher flagged a suspicious VirusTotal upload. The malware was found bundled in a zip archive alongside compiled variants for Windows, Linux, and macOS (both Intel and Apple Silicon), suggesting a Windows-first development pattern later ported to macOS. The macOS binary is only ad-hoc signed and not notarized, meaning Gatekeeper would block execution absent explicit user approval or an exploit chain.
Written in Go, the malware walks the working directory and encrypts files matching .doc, .docx, and .txt extensions using AES in CTR mode, renaming encrypted files with a ".TURTLERANSv0" suffix. Analysis revealed embedded Chinese-language strings ("加密文件" — "encrypt files") and a hardcoded, non-random AES key ("wugui123wugui123" — "wugui" meaning turtle in Chinese) with a static zero IV, allowing the researcher to trivially write a Python decryptor and fully recover encrypted content.
While the sample poses minimal real-world risk to macOS users today — given the poor cryptographic implementation, lack of notarization, and narrow file-extension targeting — it reinforces a broader trend of ransomware authors extending targeting to macOS. The author also demonstrated that legacy heuristic-based tools like Objective-See's open-source "RansomWhere?" (monitoring rapid file I/O and encryption behavior) were able to generically detect and block the malware without prior signature knowledge.
Mentioned in this report
Detection guidance
1 detection for this report is in the app — an indicator rule with Sigma, Splunk SPL, Elastic, Microsoft Defender XDR KQL, and YARA. Free account, no card.
Source reporting: https://objective-see.org/blog/blog_0x76.html
Free public brief. The indicators and the detections with Splunk SPL already written (plus Elastic and KQL where they apply) are in the app with a free account, no card. Slack alerts on the vendors you run come with the paid plans, and a new account gets three days of them.
What this brief leaves out
This page is the free tier: the write-up, the severity, the names. In the app the same report carries its extracted indicators, its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply), and live profiles of the malware it names. The paid plans add the security research and news reporting the free tier leaves out.
It sits in a corpus of 16,433 reports from 149 sources, 661 of them written in the last seven days, and it grows through the day.
A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Slack alerts are a paid-plan feature: name the vendors you run and Slack hears about the reports that touch them, not the rest of the week's. Nothing is charged unless you subscribe.
Create a free account What it costs