#ViolencesPolicières

Analyse nocturne de l'application mobile "Urgence Violences Policieres" suite au hashtag en TT et plusieurs messages citant cette application.

#infosec
1/ L'application a pour but de permettre à une personne possédant l'application mobile d'enregistrer une violence policière. (avec une localisation).

Elle est disponible sur l'App Store et le Play Store.
2/ Je vais tout d'abord procéder à une analyse dynamique via un proxy (Charles) en me baladant dans l'application, m'inscrire, me connecter etc.
3/ Après quelques requêtes on obtient un nom de domaine.

https://www.urgenceviolencespolicieres.com 
4/ En nous rendant simplement sur le site en question on tombe sur une page de maintenance.
5/ Le nom de domaine est enregistré chez @infomaniak en Suisse.

L'hébergement quant à lui est situé aux USA chez AWS (13.59.42.179).
6/ Petit point presse pour savoir qui est derrière cette application, d'après l' @LEXPRESS l'application est à l'origine de l'OVNP (Observatoire national des pratiques et des violences policières).
7/ De retour sur l'application, nous avons la possibilité de nous inscrire et de nous connecter.

J'y découvre une première vulnérabilité de sécurité, le code OTP est toujours le même et il est contenu dans la réponse de tentative de connexion réussite de l'utilisateur.
8/ L'application se présente comme ceci, vous avez un écran principal permettant d'enregistrer une vidéo avec la localisation actuelle que j'ai caché par un rectangle rouge.

Il y a un autre screen qui est celui contenant les informations du compte courant.
9/ En me baladant dans la FAQ, je trouve quelque chose qui semble inconcevable.

Pour supprimer votre compte de l'application soit vous désinscrire, il faut simplement supprimer l'application.

C'est faux, sinon il n'y aurait pas de communication vers un serveur.
9-bis / Votre compte est conservé dans une base de données et vous n'avez visiblement aucun moyen de vous en supprimer depuis l'application.
10/ Revenons vers le site, hébergeant l'API permettant de communiquer avec l'application.

A première vue une simple page de maintenance, mais celui-ci est vulnérable à du directory listing.

Concrètement on peut y voir des dossiers de dépendances PHP.
11/ En m'aidant de mon proxy et des requêtes envoyées depuis l'application, je trouve un panel d'administration.
12/ Avec de la déduction et un peu d'expérience, je déduis que c'est une plateforme développée sous un certain framework PHP.

Mélangé avec du directory listing cité plus haut cela donne.... le login et le mot de passe de la base de données...

 🤦🏻‍♂️
13/ A titre indicatif le mot de passe est très très faible (quelque chose mélangeant 1234 et des termes trop communs) et le login subit le même sort.

J'y obtiens également les accès au serveur SMTP permettant d'envoyer des mails aux inscrits.
13-bis/ Théoriquement il me serait tout à fait possible d'utiliser l'identité de l'adresse email expéditrice et de réaliser du phishing.
14/ J'obtiens également l'information que la plateforme est en mode debug, c'est à dire que sans la vulnérabilité de listing directory il m'aurait été possible d'obtenir les informations ci-dessus très facilement.
15/ J'en obtiens d'autres informations comme la clé secrète JWT qui permet de signer et authentifier un utilisateur.

BONUS : la clé secrète permettant d'envoyer des notifications aux utilisateurs.
16/ J'obtiens un accès à phpMyAdmin et j'accède ainsi à l'entièreté de la base de données, avec tous les utilisateurs.
17/ Je vais m'arrêter à ce stade et préparer un email à la personne responsable de cette plateforme pour la prévenir afin qu'elle corrige ses erreurs.

Un bilan tristement négatif mais qui ne m'étonnes pas. 😔
Petit complément d’information, on peut trouver la société qui a développé la solution via les captures d’écran sur l’App Store.

C’est la société indienne Devstree qui l’a réalisé. (l’Inde n’est jamais très loin, cc @fs0c131y)
Bon...

Complément d'information 2, il est possible de récupérer le code source de la plateforme et de s'y inscrire en tant qu'administrateur.
You can follow @thibeault_chenu.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: