Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
MalwareUsed by 1 actorExploits 4 CVEs

LightSpy

LightSpy is a modular mobile spyware/backdoor family targeting iOS and macOS, with reporting also noting shared infrastructure and exploit URL patterns across Android, macOS, and iOS campaigns. It has been described as a modular backdoor that allows remote command execution on infected devices and extensive surveillance and data theft. Documented capabilities include collecting device information such as phone number, IMEI, CPU details, screen specifications, memory information, MAC address, and IP address; accessing SMS messages, sending and deleting SMS messages; stealing contacts and call logs; collecting and exfiltrating files from Telegram, QQ, WeChat, and WhatsApp; and stealing browser history from Chrome and Safari. Additional reported iOS capabilities include location tracking, identifying Wi-Fi networks the victim has connected to, scanning nearby Wi-Fi networks via Apple APIs, reading /Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist, scanning the local network, uploading detected IP address data, and stealing data from Apple Keychain. ThreatFabric reported that LightSpy exfiltrates module data as obfuscated JSON blobs to hardcoded URL paths aligned to module names and uses both HTTPS and WebSockets for C2 and exfiltration. A January watering-hole campaign targeting Hong Kong residents used cloned local news sites and iframe/WebKit exploit delivery to infect iPhones; reporting states infection could occur by visiting a malicious page, and similarities were noted with a 2020 Hong Kong-focused campaign. ThreatFabric’s May 2024 reporting on LightSpy for macOS and iOS found newer iOS samples using Safari/WebKit and privilege-escalation exploits including CVE-2020-9802 and CVE-2020-3837, with references to CVE-2020-9870 and CVE-2020-9910. The newer iOS variant expanded from 12 to as many as 28 plugins, including destructive plugins capable of freezing devices or interfering with boot, such as Bootdestroy and DeleteKernelFile. Reported infrastructure included active C2 servers at 103.43.17[.]99, 103.27.109[.]217, 43.248.136[.]110, 222.219.183[.]84, and 103.27.109[.]28. ThreatFabric assessed the operators as likely China-based based on China-specific coordinate handling in the location plugin, Chinese phone numbers among observed victims, and development artifacts. Reported targeting and victimology in the provided content center on Hong Kong residents and at least one apparent real target in China.

Share:
For your environment

Hunt this family in your stack

Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.

EXPLOITED CVES

Vulnerabilities exploited

4 CVEs Mallory has correlated with this family across public research and vendor advisories. Each row links to the full Mallory page for that vulnerability.

4 CVES
CVE-2020-9910Apple Pointer Authentication bypassExploited in the wild

This time it was CVE-2020-9802, which was fixed in iOS 13.5, while two of the mitigation bypasses, CVE-2020-9870 and CVE-2020-9910, were fixed in iOS 13.6. | In May 2024, ThreatFabric published a report about LightSpy for macOS. During that investigation, we discovered that the threat actor was using the same server for both macOS and iOS campaigns. Thanks to this, we were also able to obtain the most recent samples of LightSpy for iOS.

via threatfabricthreatfabric.com
CVE-2020-9802JavaScriptCore JIT incorrect CSE leading to out-of-bounds accessExploited in the wild

They utilized the publicly available Safari exploit CVE-2020-9802 for initial access... This time it was CVE-2020-9802, which was fixed in iOS 13.5 | In May 2024, ThreatFabric published a report about LightSpy for macOS. During that investigation, we discovered that the threat actor was using the same server for both macOS and iOS campaigns. Thanks to this, we were also able to obtain the most recent samples of LightSpy for iOS.

via threatfabricthreatfabric.com
CVE-2020-3837Kernel Privilege Escalation via Memory Corruption in Apple OSesExploited in the wild

They utilized the publicly available Safari exploit CVE-2020-9802 for initial access and CVE-2020-3837 for privilege escalation... The threat actor created "20012001330.png" to trigger vulnerability CVE-2020-3837 using a “time_waste” exploit and a corresponding jailbreak kit. | In May 2024, ThreatFabric published a report about LightSpy for macOS. During that investigation, we discovered that the threat actor was using the same server for both macOS and iOS campaigns. Thanks to this, we were also able to obtain the most recent samples of LightSpy for iOS.

via threatfabricthreatfabric.com
CVE-2020-9870Pointer Authentication Code bypass in Apple operating systemsExploited in the wild

This time it was CVE-2020-9802, which was fixed in iOS 13.5, while two of the mitigation bypasses, CVE-2020-9870 and CVE-2020-9910, were fixed in iOS 13.6. | In May 2024, ThreatFabric published a report about LightSpy for macOS. During that investigation, we discovered that the threat actor was using the same server for both macOS and iOS campaigns. Thanks to this, we were also able to obtain the most recent samples of LightSpy for iOS.

via threatfabricthreatfabric.com
THREAT ACTORS

Groups observed using it

1 distinct threat actor attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.

View more details
TwoSail Junk

“The technical details around the functionality of the iOS implant, called LightSpy… reveal a low-to-mid capable actor. However, the iOS implant is a modular and exhaustively functional iOS surveillance framework.”

via securelistsecurelist.com
MITRE ATT&CK

Techniques & procedures

35 distinct techniques documented for this family, organized by ATT&CK tactic.

Initial Access

3 techniques
T1189Drive-by CompromiseEvidence2

experts detected a large-scale watering-hole attack aimed at residents of Hong Kong... The malware landed on victims’ smartphones when they visited one of several websites disguised as local news resources | All it took for the iPhone to get infected was one visit to a malicious page. There was no need even to tap anything.

T1190Exploit Public-Facing ApplicationEvidence1

The sites loaded a whole bunch of exploits onto victims’ smartphones, resulting in the installation of LightSpy.

T1566.002Spearphishing LinkEvidence1

Links to the fake sites were distributed through forums popular with Hong Kongers.

Execution

5 techniques
T1059Command and Scripting InterpreterEvidence1

LightSpy malware is a modular backdoor that lets an attacker remotely execute commands on the infected device

T1059.004Unix ShellEvidence1

Bootdestroy plugin... will spawn the shell and execute the following shell command: /usr/sbin/nvram auto-boot=false .

T1106Native APIEvidence1

FrameworkLoader will call two functions: _inject and trustBin... copied from the 'jelbrek.m' file... This file will try to inject libcynject.dylib into SpringBoard process.

T1203Exploitation for Client ExecutionEvidence1

They utilized the publicly available Safari exploit CVE-2020-9802 for initial access... a WebKit vulnerability was used as an initial attack vector.

T1574Hijack Execution FlowEvidence1

Since the Core is a shared library file, the FrameworkLoader will execute it using 'dlopen' system function...

Persistence

1 technique
T1547Boot or Logon Autostart ExecutionEvidence1

b.plist, is a plist file that indicates that FrameworkLoader should start during system boot process.

Privilege Escalation

2 techniques
T1068Exploitation for Privilege EscalationEvidence1

They utilized the publicly available Safari exploit CVE-2020-9802 for initial access and CVE-2020-3837 for privilege escalation.

T1547Boot or Logon Autostart ExecutionEvidence1

b.plist, is a plist file that indicates that FrameworkLoader should start during system boot process.

Stealth

5 techniques
T1027Obfuscated Files or InformationEvidence2

The content repeatedly describes payloads, strings, configuration files, scripts, URLs, and binaries being obfuscated or encoded using Base64, XOR, RC4, AES, RSA, hex encoding, custom algorithms, and other methods across many malware families and threat actors.

T1027.013Encrypted/Encoded FileEvidence1

Examples throughout the content include 'encrypted payloads decrypted and executed in memory,' 'encrypts its configuration file,' 'AES-encrypted resource,' 'RC4 encrypted embedded scripts,' and 'payload includes an encrypted main component.'

T1070.004File DeletionEvidence1

AppDelete... Can delete messenger-related victim files... BrowserDelete... can wipe browser history... ContactDelete... can delete specified contacts... MediaDelete... deleting media files... SMSDelete... deletes specified SMS message

T1140Deobfuscate/Decode Files or InformationEvidence1

To decrypt the URL configuration, the threat actor used the same XOR-chain algorithm... FrameworkLoader... will decrypt the configuration blob from its own body, this time using AES ECB cipher...

T1574Hijack Execution FlowEvidence1

Since the Core is a shared library file, the FrameworkLoader will execute it using 'dlopen' system function...

Credential Access

2 techniques
T1555Credentials from Password StoresEvidence1

the backdoor has modules for stealing information from Keychain (iOS’s password and encryption key storage)

T1649Steal or Forge Authentication CertificatesEvidence1

p12 – signing certificate file which will be used to whitelist test file

Discovery

7 techniques
T1016System Network Configuration DiscoveryEvidence1

Royal can scan the network interfaces of targeted systems. LightSpy reads the host's Wi‑Fi connection history and utilizes Apple's CWWiFiClient API to scan for nearby Wi‑Fi networks and obtain SSID, security type, and RSSI values.

T1033System Owner/User DiscoveryEvidence1

get its contact list and call history

T1046Network Service DiscoveryEvidence2

The content repeatedly describes threat actors and malware performing network scanning, port scanning, service enumeration, OS fingerprinting, and identifying open ports/services across victim environments.

T1057Process DiscoveryEvidence2

The content repeatedly describes malware and threat actors obtaining lists of running processes, using utilities such as tasklist, ps, WMI, Get-Process, CreateToolhelp32Snapshot, EnumProcesses, and similar APIs/commands to enumerate active processes on victim systems.

T1082System Information DiscoveryEvidence3

AbstractEmu can collect device IP address and SIM information; Android/SpyAgent has collected device network information, such as the IMEI and the phone number; ANDROIDOS_ANSERVER.A gathers the device IMEI and IMSI; many listed mobile malware families collect IMEI, IMSI, ICCID, MEID, serial number, phone number, MAC address, IP address, carrier, MCC/MNC, and related device/network identifiers.

T1083File and Directory DiscoveryEvidence1

SoftInfo 2.0.0 The plugin exfiltrates the list of installed apps and running processes

T1614System Location DiscoveryEvidence1

Location 2.0.0 Location exfiltration plugin

Collection

6 techniques
T1005Data from Local SystemEvidence3

AbstractEmu can collect files from or inspect the device’s filesystem. AhRat can find and exfiltrate files with certain extensions, such as .jpg, .mp4, .html, .docx, and .pdf. BOULDSPY can access browser history and bookmarks, and can list all files and folders on the device.

T1113Screen CaptureEvidence1

Screen_cap 2.0.0 Screen capture plugin

T1123Audio CaptureEvidence1

EnvironmentalRecording 1.0.0 Sound recording plugin: environment, calls

T1125Video CaptureEvidence1

cameramodule 1.0.0 Takes camera shots. Can do a one-shot or take several shots for a specified time interval

T1213Data from Information RepositoriesEvidence1

as well as data from the WeChat, QQ, and Telegram messaging apps

T1560Archive Collected DataEvidence1

SSZipArchive... to extract decrypted plugins Zip archives, resources.zip file, and to compress exfiltrated data.

Command and Control

3 techniques
T1071Application Layer ProtocolEvidence2

Libwebsockets, for C2 communication... all communication with the control server will be done using only the Core... via Web socket.

T1071.001Web ProtocolsEvidence5

The content repeatedly describes threat actors, malware, and campaigns using HTTP and/or HTTPS for command and control, including examples such as BlackEnergy communicating with C2 over HTTP POST requests and many other families using HTTP/S for C2. | Examples include 'Drovorub ... initiated communication with C2 servers with an HTTP Upgrade request' and 'COATHANGER uses an HTTP GET request to initialize a follow-on TLS tunnel for command and control.'

T1105Ingress Tool TransferEvidence1

In case of successful exploitation, index.html will drop in the system a file with a '.png' extension... '20012001330.png' will download file 'aaa13'... FrameworkLoader is responsible for downloading the LightSpy Core and related plugins.

Exfiltration

1 technique
T1041Exfiltration Over C2 ChannelEvidence3

ADVSTORESHELL exfiltrates data over the same channel used for C2... Agrius exfiltrated staged data using tools such as Putty and WinSCP, communicating with command and control servers... numerous malware and groups sent victim data, files, credentials, or host information over existing C2 channels.

Impact

2 techniques
T1529System Shutdown/RebootEvidence1

Bootdestroy plugin... preventing the system to boot up... execute /usr/sbin/nvram auto-boot=false

T1565Data ManipulationEvidence1

One particular campaign included plugins that could disrupt the operating system’s stability, with capabilities to freeze the device or even prevent it from booting up.

INDICATORS OF COMPROMISE

IOCs tracked for this family

121 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.

View more in app
Network
5 tracked

IPs, domains, and DNS infrastructure linked to this family.

Hashes
110 tracked

File hashes (MD5, SHA-1, SHA-256) from samples and reports.

Other
6 tracked

Other indicator types observed in public reporting.

TypeValueLatest sighting
hash.md5●●●●●●●●●●●●View more in app12 days ago
ip.v4●●●●●●●●●●●●View more in app2 years ago
hash.sha256●●●●●●●●●●●●View more in app6 years ago
hash.sha256●●●●●●●●●●●●View more in app6 years ago
hash.sha256●●●●●●●●●●●●View more in app6 years ago
hash.sha256●●●●●●●●●●●●View more in app6 years ago
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets match these IOCs, which detections are missing, which campaigns to expect next, and what to do in the next 30 minutes.
IOC matching121

Match every observed IP, domain, and hash against your live telemetry.

Threat actor attribution1

Named campaigns wielding this family, with evidence pinned to each claim.

Exploited vulnerabilities4

CVEs this family uses for access and lateral movement.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

MITRE ATT&CK mapping35

Every documented technique, ranked by evidence weight.

Researcher chatter

Reddit, Mastodon, and CTI community discussion around this family.