First observed in 2018, LightSpy is a modular malware family that initially targeted iOS devices in Southern Asia before expanding to Android and macOS platforms. It consists of a downloader, a main executable that manages network communications, and functionality-specific modules, typically implemented as .dylib files (iOS, macOS) or .apk files (Android). LightSpy can collect VoIP call recordings, SMS messages, and credential stores, which are then exfiltrated to a command and control (C2) server.[1]
| Domain | ID | Name | Use | |
|---|---|---|---|---|
| Mobile | T1437 | .001 | Application Layer Protocol: Web Protocols |
LightSpy has used both HTTPS and Websockets to communicate with the C2.[2][3][4] |
| Mobile | T1532 | Archive Collected Data |
LightSpy collects and compresses data to be exfiltrated using SSZipArchive.[4][3] |
|
| Mobile | T1429 | Audio Capture |
LightSpy has captured environment audio, phone calls and Voice over IP (VoIP) calls.[5][1][2][3][4] |
|
| Mobile | T1398 | Boot or Logon Initialization Scripts |
LightSpy has established auto-start execution during the system boot process.[3] |
|
| Mobile | T1623 | Command and Scripting Interpreter |
LightSpy has plugins for executing shell commands either from the C2 server or a library file called |
|
| Mobile | T1634 | .001 | Credentials from Password Store: Keychain |
LightSpy has accessed the device’s KeyChain data.[1][3][6][4] |
| Mobile | T1662 | Data Destruction |
LightSpy has deleted media files and messenger-related files on the device.[3] Additionally, LightSpy has used the AppDelete plugin to remove multiple messaging applications, such as WeChat, QQ, Telegram, Line and Whatsapp.[4] |
|
| Mobile | T1533 | Data from Local System |
LightSpy has collected and exfiltrated files from messaging applications, such as Telegram, QQ, WeChat, and Whatsapp, and browser history from Chrome and Safari.[1][2][3][6][4] |
|
| Mobile | T1456 | Drive-By Compromise |
LightSpy gains initial execution when a victim visits a compromised or adversary-controlled website, including those mimicking legitimate sources such as a Hong Kong newspaper. Upon loading |
|
| Mobile | T1642 | Endpoint Denial of Service |
LightSpy has used the DeleteSpring plugin to render the device’s user interface inoperable by disabling SpringBoard, which is iOS's home screen manager.[4] LightSpy has used the BootDestroy plugin to prevent the victim device from booting by modifying the NVRAM parameter |
|
| Mobile | T1646 | Exfiltration Over C2 Channel | ||
| Mobile | T1658 | Exploitation for Client Execution |
LightSpy has compromised iPhones running iOS 12.1 and 12.2 without any user interaction.[6] |
|
| Mobile | T1404 | Exploitation for Privilege Escalation |
LightSpy uses the embedded |
|
| Mobile | T1544 | Ingress Tool Transfer |
LightSpy has retrieved files from the C2 server.[1][3] Examples of files from the C2 are |
|
| Mobile | T1430 | Location Tracking |
LightSpy has accessed the device’s GPS location.[1][2][6][4] |
|
| Mobile | T1655 | Masquerading |
LightSpy has masqueraded a Mach-O executable as a png file.[3][4] |
|
| Mobile | T1575 | Native API |
LightSpy's main executable and modules use native libraries to execute targeted functionality.[2][1][4][3] |
|
| Mobile | T1423 | Network Service Scanning |
LightSpy uses the |
|
| Mobile | T1509 | Non-Standard Port |
LightSpy has communicated with the C2 using ports 52202, 51200, 43201, 43202, 43203, and 21202.[2] |
|
| Mobile | T1406 | Obfuscated Files or Information |
Using an XOR-chain algorithm, LightSpy decrypts an embedded configuration blob containing URLs for jailbreak components and next-stage payloads. It also decrypts modules in memory and on disk using AES-ECB with the hardcoded key |
|
| Mobile | T1660 | Phishing |
LightSpy has delivered malicious links through Telegram channels and Instagram posts.[5][6] |
|
| Mobile | T1424 | Process Discovery | ||
| Mobile | T1631 | Process Injection |
LightSpy injects libcynject.dylib into the SpringBoard process to enable audio/video recording.[4] |
|
| Mobile | T1636 | .002 | Protected User Data: Call Log | |
| .003 | Protected User Data: Contact List |
LightSpy has accessed the device’s contact list.[1][2][3][6][4] |
||
| .004 | Protected User Data: SMS Messages | |||
| Mobile | T1513 | Screen Capture | ||
| Mobile | T1582 | SMS Control | ||
| Mobile | T1418 | Software Discovery |
LightSpy has accessed a list of installed applications.[1][2][3][4] |
|
| Mobile | T1409 | Stored Application Data |
LightSpy has collected payment history from WeChat Pay.[1][2][4] |
|
| Mobile | T1426 | System Information Discovery |
LightSpy collects device information, including the phone number, IMEI, CPU details, screen specifications, and memory information.[4][3][2][1] |
|
| Mobile | T1422 | System Network Configuration Discovery |
LightSpy has collected device information such as IMEI, phone number, MAC address and IP address.[4] |
|
| .002 | Wi-Fi Discovery |
LightSpy uses the WifiList (or |
||
| Mobile | T1421 | System Network Connections Discovery |
LightSpy has collected a list of cellular networks and connected Wi-Fi history using a LAN scanner based on MMLanScan.[5][1][2][3][6] |
|
| Mobile | T1512 | Video Capture |
LightSpy has the ability to take one picture, continuous pictures or event-related pictures using the device’s camera.[5][1][2][3][4] For iOS devices, the default file type for pictures is in High Efficiency Image Format (HEIC); for Android devices, the default file type for pictures is in JPEG format. |
|