Adversaries may communicate using application layer protocols associated with web protocols traffic to avoid detection/network filtering by blending in with existing traffic. Commands to remote mobile devices, and often the results of those commands, will be embedded within the protocol traffic between the mobile client and server.
Web protocols such as HTTP and HTTPS are used for web traffic as well as well as notification services native to mobile messaging services such as Google Cloud Messaging (GCM) and newly, Firebase Cloud Messaging (FCM), (GCM/FCM: two-way communication) and Apple Push Notification Service (APNS; one-way server-to-device). Such notification services leverage HTTP/S via the respective API and are commonly abused on Android and iOS respectively in order blend in with routine device traffic making it difficult for enterprises to inspect.
ID | Name | Description |
---|---|---|
S1061 | AbstractEmu |
AbstractEmu can use HTTP to communicate with the C2 server.[1] |
S1095 | AhRat | |
S0525 | Android/AdDisplay.Ashas |
Android/AdDisplay.Ashas has communicated with the C2 server using HTTP.[3] |
S0304 | Android/Chuli.A |
Android/Chuli.A used HTTP uploads to a URL as a command and control mechanism.[4] |
S0540 | Asacub |
Asacub has communicated with the C2 using HTTP POST requests.[5] |
S1079 | BOULDSPY |
BOULDSPY uses unencrypted HTTP traffic between the victim and C2 infrastructure.[6] |
S1094 | BRATA |
BRATA can use both HTTP and WebSockets to communicate with the C2 server.[7] |
S0432 | Bread |
Bread communicates with the C2 server using HTTP requests.[8] |
C0033 | C0033 |
During C0033, PROMETHIUM used StrongPity to communicate with the C2 server using HTTPS.[9] |
S0480 | Cerberus | |
S1083 | Chameleon |
Chameleon can use HTTP to communicate with the C2 server.[11] |
S0555 | CHEMISTGAMES |
CHEMISTGAMES has used HTTPS for C2 communication.[12] |
S0426 | Concipit1248 |
Concipit1248 communicates with the C2 server using HTTP requests.[13] |
S0425 | Corona Updates |
Corona Updates communicates with the C2 server using HTTP requests.[13] |
G0070 | Dark Caracal |
Dark Caracal controls implants using standard HTTP communication.[14] |
S0479 | DEFENSOR ID |
DEFENSOR ID has used Firebase Cloud Messaging for C2.[15] |
S0478 | EventBot | |
S0522 | Exobot | |
S0405 | Exodus |
Exodus One checks in with the command and control server using HTTP POST requests.[18] |
S0509 | FakeSpy | |
S1067 | FluBot |
FluBot can use HTTP POST requests on port 80 for communicating with its C2 server.[20] |
S1093 | FlyTrap | |
S0535 | Golden Cup |
Golden Cup has communicated with the C2 using MQTT and HTTP.[22] |
S0551 | GoldenEagle |
GoldenEagle has used HTTP POST requests for C2.[23] |
S0536 | GPlayed |
GPlayed has communicated with the C2 using HTTP requests or WebSockets as a backup.[24] |
S0406 | Gustuff |
Gustuff communicates with the command and control server using HTTP requests.[25] |
S1077 | Hornbill |
Hornbill can use HTTP and HTTP POST to communicate information to the C2.[26] |
S0463 | INSOMNIA |
INSOMNIA communicates with the C2 server using HTTPS requests.[27] |
S0539 | Red Alert 2.0 |
Red Alert 2.0 has communicated with the C2 using HTTP.[28] |
S0326 | RedDrop | |
S0403 | Riltok |
Riltok communicates with the command and control server using HTTP requests.[30] |
S0411 | Rotexy |
Rotexy can communicate with the command and control server using JSON payloads sent in HTTP POST request bodies. It can also communicate by using JSON messages sent through Google Cloud Messaging.[31] |
S0313 | RuMMS | |
S1062 | S.O.V.A. |
S.O.V.A. can use the open-source project RetroFit for C2 communication.[33] |
S1055 | SharkBot |
SharkBot can use HTTP to send C2 messages to infected devices.[34] |
S0549 | SilkBean | |
S0327 | Skygofree |
Skygofree can be controlled via HTTP, XMPP, FirebaseCloudMessaging, or GoogleCloudMessaging in older versions.[35] |
S0427 | TrickMo |
TrickMo communicates with the C2 by sending JSON objects over unencrypted HTTP requests.[36] |
S0307 | Trojan-SMS.AndroidOS.Agent.ao |
Trojan-SMS.AndroidOS.Agent.ao uses Google Cloud Messaging (GCM) for command and control.[37] |
S0306 | Trojan-SMS.AndroidOS.FakeInst.a |
Trojan-SMS.AndroidOS.FakeInst.a uses Google Cloud Messaging (GCM) for command and control.[37] |
S0308 | Trojan-SMS.AndroidOS.OpFake.a |
Trojan-SMS.AndroidOS.OpFake.a uses Google Cloud Messaging (GCM) for command and control.[37] |
S0418 | ViceLeaker |
ViceLeaker uses HTTP requests for C2 communication.[38][39] |
S0311 | YiSpecter |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
Abuse of standard application protocols can be difficult to detect as many legitimate mobile applications leverage such protocols for language-specific APIs. Enterprises may be better served focusing on detection at other stages of adversarial behavior.