Résumé
- L'Acronis Threat Research Unit (TRU) a identifié une campagne ciblée distribuant une version infectée par un cheval de Troie de l'application Android d'alerte aux roquettes Red Alert aux utilisateurs israéliens, via des SMS imitant les communications officielles du Commandement du front intérieur.
- L'application malveillante conserve toutes les fonctionnalités d'alerte de tir de roquette, ce qui lui permet de sembler légitime tout en exécutant du code malveillant en arrière-plan.
- L’acteur malveillant a utilisé des techniques d’usurpation de certificats et de manipulation de l’exécution pour contourner les contrôles de sécurité d’Android et faire croire que l’application était légitimement signée.
- Une fois installé, le malware surveille les autorisations accordées et commence à collecter des données sensibles, notamment les SMS, les contacts, les données de localisation, les comptes du terminal et les applications installées.
- Les données volées sont stockées localement et transmises en continu à un serveur de commande et de contrôle (C2) à distance contrôlé par les attaquants.
- Cette campagne montre comment des services d'urgence de confiance peuvent être utilisés comme des armes en période de tensions géopolitiques, combinant l'ingénierie sociale et l'espionnage mobile pour abuser de la confiance des utilisateurs et maximiser l'impact.
Introduction
L'Acronis Threat Research Unit (TRU) surveille activement les campagnes de malwares et les activités liées aux menaces qui exploitent les récents développements géopolitiques au Moyen-Orient pour infecter les utilisateurs. Au cours de notre enquête, la TRU a identifié une campagne ciblée distribuant une version infectée par un cheval de Troie de l'application Android d'alerte aux roquettes Red Alert aux utilisateurs israéliens, via des SMS imitant les communications officielles du Commandement du front intérieur, visant des individus israéliens.
Cette activité s'est distinguée par l'utilisation d'un leurre sur le thème de l'urgence, découvert par nos chercheurs le 1er mars lors d'une recherche de menaces malveillantes, et signalé par de nombreux citoyens israéliens sur les réseaux sociaux.
L'application infectée par un cheval de Troie imite l'application légitime Red Alert — Israel (צבע אדום), utilisée par des millions de citoyens israéliens pour recevoir des alertes en temps réel en cas de tirs de roquettes et de missiles. Cela en fait un vecteur d'ingénierie sociale particulièrement efficace. En période de conflit actif, l'urgence d'installer ou de mettre à jour une telle application l'emporte sur la prudence que les utilisateurs pourraient autrement exercer, surtout lorsque le message livré semble provenir du Commandement du Front intérieur (פיקוד העורף).
Ce rapport présente une analyse détaillée de l'ensemble de la chaîne d'infection, depuis l'envoi initial du SMS jusqu'à l'exécution de la distribution et le déploiement de la charge active du logiciel espion intégré.
Contexte et arrière-plan
De nombreux acteurs malveillants régionaux, allant des groupes de cyberactivistes aux opérateurs alignés sur des États-nations, ont ciblé des individus et des organisations au-delà des frontières nationales. Leurs activités ont notamment inclus des attaques par déni de service distribué (DDoS), des tentatives d'intrusion dans des infrastructures critiques et d'autres opérations perturbatrices. Des groupes tels que Handala et d'autres acteurs affiliés au VEVAK se sont particulièrement distingués ces dernières années.
Sur le plan opérationnel, nous avons, en suivant ce groupe d'activités, découvert de nombreux témoignages de personnes affirmant avoir reçu des messages contenant des liens raccourcis pour télécharger et installer un logiciel principalement utilisé comme mécanisme d'alerte en cas de frappes de roquettes.
Une attaque similaire, attribuée au groupe de cyberactivistes AnonGhost en 2023, présente des similitudes frappantes, bien que l'attaque que nous avons analysée semble contenir une nouvelle infrastructure et du code dans certaines parties.
Chaîne d'infection

Détails techniques
Analyse initiale et mécanisme de livraison
Notre enquête a débuté après l'identification d'une campagne de hameçonnage par SMS (smishing) ciblant des citoyens israéliens. La campagne a utilisé des SMS se faisant passer pour le service officiel d'alerte aux roquettes « Oref Alert », invitant les destinataires à installer une version mise à jour de l'application en raison d'un prétendu dysfonctionnement des alertes. Les messages, envoyés à partir d'identifiants d'expéditeur falsifiés, contenaient un lien raccourci bit.ly qui redirigeait les victimes vers le téléchargement d'un fichier APK infecté par un cheval de Troie, se faisant passer pour l'application Red Alert légitime.

L'utilisation de services de raccourcissement de liens, associée à l'urgence de mettre à jour une application existante liée à la sécurité publique, nous a incités à analyser l'application malveillante, ses capacités et l'infrastructure utilisée pour contrôler le malware et exfiltrer les données et les informations d'identification collectées.
Chronologie
Aperçu de l'échantillon et métadonnées
Nom de l'appli : RedAlert.apk
Nom du paquet : com.red.alertx
Hachage SHA256 : 83651b0589665b112687f0858bfe2832ca317ba75e700c91ac34025ee6578b72

Nous avons, en examinant le fichier AndroidManifest.xml, constaté que l'application implique un total de 20 autorisations. Parmi celles-ci, six sont utilisées de manière que nous considérons sensible à la sécurité du fait de leur potentiel d'abus. Le spyware exploite ces autorisations pour collecter et exfiltrer les données des utilisateurs.

La combinaison des autorisations de superposition et de l'accès aux SMS est fréquemment observée dans les chevaux de Troie bancaires Android et les campagnes de logiciels espions, permettant aux attaquants d'exfiltrer des messages sensibles tels que les mots de passe à usage unique (One-time password, OTP).
Architecture à double phase

Nous avons initialement, en analysant le code et en renommant les classes et méthodes qui contenaient des identifiants obfusqués, identifié que l'application ne fonctionnait pas seulement comme un logiciel espion, mais aussi comme un chargeur. Nous avons donc renommé la classe en IPackageManagerSignatureProxyLoader, qui intercepte l'IPackageManager du système à l'aide d'un proxy dynamique. Il accède à ActivityThread par réflexion et remplace le champ sPackageManager d'origine par son propre objet proxy. Cela permet à l'appli d'intercepter les appels système tels que getPackageInfo() et de modifier les données renvoyées. Lorsque le système demande la signature de l'application, le chargeur la remplace par une signature falsifiée, permettant ainsi au paquet malveillant (com.red.alertx) de se faire passer pour l'application légitime.
Le certificat utilisé pour l'usurpation est codé en dur au format Base64. La chaîne Base64 est décodée et convertie en un objet Signature[] dans IPackageManagerSignatureProxyLoader et dans la classe séparée FakeSignatureProvider. Le FakeSignatureProvider cible spécifiquement les versions Android les plus récentes en remplaçant des méthodes telles que getApkContentsSigners() et getSigningCertificateHistory() de l'API SigningInfo. Cela confirme que le malware prend en charge les mécanismes de vérification de signature Android, quelle que soit leur ancienneté. De plus, le chargeur usurpe également la source de l'installateur en forçant getInstallerPackageName() à renvoyer com.android.vending, donnant ainsi l'impression que l'application a été installée depuis Google Play.
La deuxième phase du code consiste à charger l'application originale et légitime depuis le dossier des ressources. Le fichier nommé umgdn est extrait et écrit dans le répertoire privé de l'application, sous /data/user/0/com.red.alertx/files/. Après avoir écrit le fichier, le chargeur modifie des champs internes du runtime Android tels que mAppDir, sourceDir et publicSourceDir dans ActivityThread. Cela oblige le système Android à exécuter l'application légitime extraite, plutôt que le paquet de distribution visible. L'application continue ainsi de fonctionner normalement et d'afficher de vraies alertes, tandis que le composant logiciel espion caché s'exécute silencieusement en arrière-plan.
Fonctionnalités

La fonctionnalité initiale de ce composant logiciel espion est activée dès que l'utilisateur autorise l'envoi de SMS. Comme le montre l'extrait de code, la méthode onSmsPermissionGranted() substituée appelle une fonction qui interroge Telephony.Sms.CONTENT_URI, ce qui donne accès à l'intégralité de la base de données SMS du dispositif.

La fonctionnalité suivante de ce malware est d'accéder à la liste de contacts du terminal immédiatement après l'autorisation d'accès aux contacts. Comme observé dans la méthode onContactsPermissionGranted() remplacée, le logiciel espion interroge ContactsContract.Contacts.CONTENT_URI, qui permet d'accéder aux contacts stockés sur le terminal. Cela confirme que le malware surveille activement les autorisations et déclenche immédiatement les routines de collecte de données.
Une analyse plus poussée révèle que le processus de collecte de contacts ne se limite pas aux noms simples. Le logiciel espion effectue plusieurs requêtes auprès de fournisseurs de contenu pour extraire les numéros de téléphone et les adresses e-mail associés, généralement via les URI de contenu CommonDataKinds.Phone et CommonDataKinds.Email. Cela permet au malware de constituer un ensemble de données structuré contenant les noms des contacts, les numéros de téléphone, les adresses e-mail et éventuellement des métadonnées supplémentaires liées à chaque entrée.

Le malware accède également aux informations GPS et de localisation du terminal, et les utilise pour déterminer le moment où certaines actions doivent être exécutées. Dans la méthode Maynt(), il récupère la position actuelle du terminal grâce à une fonction d'aide qui appelle en interne le composant de gestion de la localisation de l'application. Il récupère ensuite un autre ensemble de coordonnées qui représentent probablement une zone cible prédéfinie, comme une ville spécifique ou une zone d'alerte. Le malware calcule la distance entre la position GPS actuelle de la victime et cette cible en utilisant l'API de localisation d'Android. Si le terminal se trouve dans un rayon configuré, la fonction permet de poursuivre les opérations. Cela signifie que le logiciel espion ne se contente pas de collecter des données de localisation, mais utilise activement les informations GPS du terminal pour déclencher des comportements en fonction de l'emplacement de la victime.

Ensuite, en examinant les autres fonctionnalités, le malware implémente également une fonctionnalité d'extraction de compte à l'aide d'AccountManager d'Android. Dans la méthode Shatters(), le logiciel espion résout et appelle dynamiquement une méthode interne de la classe AccountManager grâce à la réflexion Java. Plutôt que de directement appeler getAccounts(), il récupère le nom de la méthode à l'exécution et l'exécute de manière programmatique. Cette technique est utilisée pour dissimuler les comportements malveillants, ce qui complique les efforts d'analyse statique. Le résultat renvoyé est converti en un tableau d'objets Account[], confirmant que le malware récupère la liste complète des comptes enregistrés sur le terminal. Ces comptes incluent généralement les comptes Google, les comptes de messagerie, les services de messagerie instantanée et d'autres applications intégrées au système de comptes Android.

Une autre capacité importante de ce malware est de répertorier toutes les applications installées sur le terminal infecté. Dans la méthode Unflush(), le logiciel espion récupère le PackageManager du système et demande la liste complète des applications installées à l'aide d'un indicateur de métadonnées. Il parcourt ensuite chaque entrée ApplicationInfo et construit un objet JSON structuré pour chaque application. Ces entrées sont rassemblées dans un tableau et transmises au serveur distant par lots de 200 applications, les entrées restantes étant envoyées une fois la boucle terminée. Ce comportement confirme que le malware effectue une reconnaissance systématique des logiciels installés sur le terminal, permettant à l'attaquant de profiler l'environnement numérique de la victime, d'identifier les outils de sécurité, les applications financières, les plateformes de messagerie et d'autres cibles de grande valeur.
Obfuscation et anti-analyse
Lors de l'analyse, nous avons constaté que l'application est obfusquée et encodée à plusieurs reprises afin de résister à l'analyse statique et à la rétro-ingénierie. La plupart des chaînes de caractères sont encodées en Base64, puis décryptées à l'exécution à l'aide d'une clé XOR unique de 32 octets pour chaque chaîne de caractères dans le code, empêchant ainsi les analystes d'extraire facilement des constantes significatives telles que des URL ou des actions d'intention. Les noms de méthodes et de classes ont par ailleurs été renommés de manière agressive en identifiants aléatoires, et des fonctions d'encapsulation triviales sont insérées pour masquer le flux de contrôle réel.
Infrastructure de commande et de contrôle
L'infrastructure de commande et de contrôle (C2) est intégrée directement dans l'application et protégée par une obfuscation de chaînes de caractères en plusieurs couches. L'URL est stockée au format Base64 et chiffrée à l'aide d'une clé XOR de 32 octets, décodée à l'exécution. Une fois déchiffrée, le point de terminaison se résout en hxxps://api[.]ra-backup[.]com/analytics/submit[.]php, confirmant ainsi que toutes les données collectées sont envoyées au serveur de commande et de contrôle.
Pivotement de l'infrastructure
En examinant le domaine C2, on constate qu'il a été enregistré via Namecheap et créé mi-2025, ce qui en fait une infrastructure relativement récente. Il s'agit d'un modèle courant pour les domaines C2 jetables créés pour des campagnes spécifiques. Le sous-domaine api[.]ra-backup[.]com héberge le terminal d'exfiltration à l'adresse /analytics/submit.php, qui renvoie actuellement une erreur 404. Cela suggère que le serveur de commande et de contrôle est soit protégé par des en-têtes de requête spécifiques, soit désactivé.
Attribution
Sur la base des preuves disponibles, nous estimons que cette campagne pourrait être liée à Arid Viper (également connu sous le nom d'APT-C-23). Cette évaluation est étayée par plusieurs indicateurs, notamment l'utilisation d'une application Android infectée par un cheval de Troie, la focalisation sur des cibles israéliennes et la présence de fonctionnalités de logiciels espions correspondant aux capacités précédemment attribuées à ce groupe.
Bien que ces indicateurs ne soient pas propres à Arid Viper et aient été observés dans d'autres campagnes de surveillance Android, la convergence des modèles de ciblage, des caractéristiques des outils et du comportement opérationnel suggère un lien possible avec cet acteur malveillant.
Conclusion
Cette campagne montre comment des infrastructures d'urgence fiables peuvent être utilisées en temps de conflit pour renforcer l'efficacité de l'ingénierie sociale et faciliter la collecte de données. En intégrant un logiciel espion dans une application d'alerte entièrement fonctionnelle, les opérateurs ont pu préserver la confiance des utilisateurs tout en collectant discrètement des informations sensibles.
La combinaison d'une distribution ciblée, de capacités de logiciels espions et de multiples couches d'obfuscation suggère un acteur malveillant compétent et bien équipé, ayant des objectifs clairs.
MITRE ATT&CK
Recommandations et mesures d'atténuation
Les mesures d'atténuation suivantes sont recommandées aux personnes et aux organisations susceptibles d'être affectées par cette campagne :
- N'installez que des applications provenant de sources officielles. L'application Red Alert officielle est disponible exclusivement sur le Google Play Store. Les utilisateurs ne doivent jamais télécharger des fichiers APK à partir de liens SMS, d'URL raccourcies ou de sites Web tiers, quelle que soit l'urgence apparente du message.
- Vérifiez l'identité de l'expéditeur avant d'agir sur les messages SMS. Le Commandement du Front Intérieur ne distribue pas de mises à jour d'applications par SMS contenant des liens raccourcis. Tout message incitant à une mise à jour immédiate de l'application via un lien bit.ly ou similaire doit être considéré comme suspect.
- Examinez attentivement les autorisations de l'application. L'application Red Alert légitime ne nécessite que l'accès aux notifications. Si une application se présentant comme Red Alert demande des autorisations pour les SMS, les contacts, la localisation ou la superposition lors de l'installation, il est presque certain qu'elle est malveillante.
- Vérifiez les applications installées sur les terminaux potentiellement compromis. Vérifiez la présence du paquet com.red.alertx et supprimez-le immédiatement. Une réinitialisation complète aux paramètres d'usine est recommandée en cas d'infection confirmée, car l'architecture en deux phase du malware peut laisser des composants résiduels après une désinstallation standard.
- Bloquez les infrastructures C2 connues au niveau du réseau. Les organisations doivent ajouter ra-backup[.]com et api[.]ra-backup[.]com aux listes de blocage DNS et aux règles de refus des pare-feu. Le terminal C2 hxxps://api[.]ra-backup[.]com/analytics/submit[.]php devrait être signalé dans les stratégies de proxy et d'EDR.
- Révoquez et renouvelez les identifiants sur les terminaux concernés. Tout compte authentifié sur un terminal compromis doit être considéré comme exposé parce que le malware collecte les SMS (y compris les OTP), les contacts et les comptes du terminal. Changez vos mots de passe et mettez fin aux sessions actives pour vos comptes Google, de messagerie, bancaires et de messagerie instantanée.
- Activez Google Play Protect et maintenez-le actif. Play Protect offre une protection supplémentaire contre les APK malveillants téléchargés en parallèle et peut signaler les menaces connues avant l'installation.
- Signalez les SMS suspects à CERT-IL et aux autorités nationales compétentes afin de faciliter le suivi des menaces et la neutralisation de l'infrastructure de diffusion.






