An adversary can leverage a device’s cameras to gather information by capturing video recordings. Images may also be captured, potentially in specified intervals, in lieu of video files.
Malware or scripts may interact with the device cameras through an available API provided by the operating system. Video or image files may be written to disk and exfiltrated later. This technique differs from Screen Capture due to use of the device’s cameras for video recording rather than capturing the victim’s screen.
In Android, an application must hold the android.permission.CAMERA permission to access the cameras. In iOS, applications must include the NSCameraUsageDescription key in the Info.plist file. In both cases, the user must grant permission to the requesting application to use the camera. If the device has been rooted or jailbroken, an adversary may be able to access the camera without knowledge of the user.
| ID | Name | Description |
|---|---|---|
| S1061 | AbstractEmu |
AbstractEmu can grant itself camera permissions.[1] |
| S0292 | AndroRAT |
AndroRAT can take photos and videos using the device cameras.[2] |
| S1079 | BOULDSPY | |
| S0655 | BusyGasper |
BusyGasper can record from the device’s camera.[4] |
| S0426 | Concipit1248 |
Concipit1248 requests permissions to use the device camera.[5] |
| S0425 | Corona Updates |
Corona Updates can take pictures using the camera and can record MP4 files.[5] |
| S9004 | Crocodilus |
Crocodilus has the ability to start and stop image streaming from the device’s front camera.[6] |
| S1243 | DCHSpy |
DCHSpy has captured photos from the device by taking control of the camera.[7] |
| S0301 | Dendroid | |
| S0505 | Desert Scorpion |
Desert Scorpion can record videos.[9] |
| S9005 | DocSwap |
DocSwap has the ability to start and stop camera recording.[10][11] |
| S0320 | DroidJack | |
| S1092 | Escobar | |
| S0405 | Exodus | |
| S1080 | Fakecalls | |
| S0408 | FlexiSpy | |
| S0535 | Golden Cup |
Golden Cup can take pictures with the camera.[17] |
| S0551 | GoldenEagle |
GoldenEagle has taken photos with the device camera.[18] |
| S0421 | GolfSpy | |
| S0544 | HenBox | |
| S1128 | HilalRAT | |
| S1077 | Hornbill | |
| S1185 | LightSpy |
LightSpy has the ability to take one picture, continuous pictures or event-related pictures using the device’s camera.[23][24][25][26][27] 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. |
| S0407 | Monokle | |
| S0399 | Pallas |
Pallas can take pictures with both the front and rear-facing cameras.[29] |
| S0316 | Pegasus for Android |
Pegasus for Android has the ability to take pictures using the device camera.[30] |
| S1126 | Phenakite | |
| S1241 | RatMilad |
RatMilad has taken photos and videos using the device’s camera.[32] |
| S0295 | RCSAndroid |
RCSAndroid can capture photos using the front and back cameras.[33] |
| S0549 | SilkBean | |
| S0327 | Skygofree |
Skygofree can record video or capture photos when an infected device is in a specified location.[34] |
| S1195 | SpyC23 | |
| S0324 | SpyDealer |
SpyDealer can record video and take photos via front and rear cameras.[38] |
| S0328 | Stealth Mango |
Stealth Mango can record and take pictures using the front and back cameras.[39] |
| S1082 | Sunbird | |
| S1069 | TangleBot | |
| S0558 | Tiktok Pro |
Tiktok Pro can capture photos and videos from the device’s camera.[41] |
| S9006 | VajraSpy |
VajraSpy has captured pictures using the device’s camera by requesting for |
| S0418 | ViceLeaker |
ViceLeaker can take photos from both the front and back cameras.[44] |
| S0506 | ViperRAT | |
| G0112 | Windshift |
Windshift has included video recording in the malicious apps deployed as part of Operation BULL.[46] |
| S0489 | WolfRAT |
| ID | Mitigation | Description |
|---|---|---|
| M1006 | Use Recent OS Version |
Android 9 and above restricts access to the mic, camera, and other device sensors from applications running in the background. iOS 14 and Android 12 introduced a visual indicator on the status bar (green dot) when an application is accessing the device’s camera.[48] |
| ID | Name | Analytic ID | Analytic Description |
|---|---|---|---|
| DET0695 | Detection of Video Capture | AN1808 |
The defender correlates Android camera access by an app identity with app and device context showing that the capture is inconsistent with expected user-driven recording behavior. The strongest Android evidence is camera resource access followed by sustained capture duration, video or image artifact creation, buffer or cache growth, and optional outbound transfer, especially when the app is backgrounded, operating as a foreground service without visible user initiation, active while the device is locked, or capturing without recent user interaction. The detection is strengthened when the app is unmanaged, recently granted camera access, or not approved to record video. |
| AN1809 |
The defender correlates managed-app or supervised-device camera access with app and device context showing that the capture is inconsistent with expected user-driven recording behavior. The strongest iOS evidence is camera access or camera-adjacent capture activity followed by app-state evidence such as background or low-interaction operation, optional media artifact creation, and optional post-capture network transfer. Because direct low-level runtime visibility is weaker than Android for many enterprises, the primary iOS analytic should anchor on managed app context, device state, and downstream effects around camera use, with local subsystem telemetry treated as enrichment rather than sole proof. |