[IRM] Et si ce soir on téléchargeait les données de nos patients avec une bonne pizza …

Buenas tardes a todos,

 

Et si ce soir, au lieu de vous mater une bonne série sur Netflix, vous profitiez plutôt des données privées des patients d'un Hôpital ?
Avouez que c'est plutôt tentant non ?

Pour tout vous avouer, j'ai réalisé il y a peu une IRM ...
Après une longue période sans l'ombre d'une nouvelle, j'ai fini par recevoir de la part de mon médecin traitant, un état des lieux de mon cerveau ...

Les médecins sont formelles ... il s'agit d'un "Dyrkinitte Aiguë" ... bref ... c'est le

BORDEL

Nan sans déconner, je n'ai pas vraiment envie de vous en parler, et de toute façon, ce genre de données c'est confidentiel non ?
Même que c'est enregistré sur des serveurs ultras sécurisés non ?

Un serveur sécurisé ... mais pas son contenu ...

Sur le compte rendu résumant ma "Dyrkinitte Aiguë", j'ai eu l'adresse d'un site (https://imagerie.xx-xxx.fr/) et des identifiants pour consulter les jolies photos de mon cerveau !

Je me suis connecté, j'ai regardé les quelques photographies de mon disque dur interne.
Et puis ...  je l'avoue c'était très tentant ... j'ai tenté de résister ... mais ...
J'ai ouvert la console, et j'ai regardé ce qui se passait ...
Après quelques ouvertures d'images sur le site, j'ai vu des url du style :

https://imagerie.xx-xxx.fr/ .... ?imageId=mondossier/image1.png&etude_id=123456789

Bon ni une ni deux je m'aventure ...

Récupération de la liste des utilisateurs du serveur
Je remplace le chemin de l'image par "/etc/passwd"
Résultat ? Je récupère la liste des utilisateurs.

Récupération de l'historique des utilisateurs
Une petite astuce, qui permet souvent de gagner beaucoup de temps, c'est de regarder l'historique des actions d'un utilisateur. Ça nous permet de savoir l'emplacement des fichiers de configuration modifié par exemple ...

"/home/(tu ne sauras pas)/.bash_history"

Et quand on a, dans le cas présent, des fichiers contenant près de 2000 lignes d'historiques ... je peux vous dire qu'on a pas mal de choses.

Récupération des identifiants du serveur et de la base de données

C'est fou ce que l'on peut voir dans un historique ...
Des noms de chemins, des fichiers ...

vim local_settings.py
vim global_settings.py

Prenez une grande inspiration ...
Soufflez ...

Oui, nous avons tout un tas d'informations plutôt fun dans les fichiers de configuration.
Des accès à une (ou peut-être plusieurs ;) ) base(s) de données ...

Bref, des adresses IP, des ports, des hostnames, ...
J'ai quand même rigolé en voyant que le développeur avait de l'humour

"Mon Beau Sapin Roi Des Forêts"

Veux-tu déchiffrer du trafic "https" ?

Aucun problème, j'ai ce qu'il te faut ... tout se situe dans le fichier de configuration du site  : "/etc/apache2/sites-available/000_(tu sauras pas).conf"

 

 

Un trou de sécurité géant

C'est amusant de voir qu'un simple petit script mal développé, peut permettre de faire ...
Techniquement, la faille peut être corrigée en quelques minutes, avec quelques bonnes pratiques du genre :

  • Il suffirait de positionner correctement les droits de l'utilisateur courant.
  • Et surtout d'ajouter un contrôle dans le script, qui vérifierait le type de fichier "consulté" et l'endroit où celui-ci se trouve.

 

 

Conclusion

Vous l'aurez compris, n'importe quel pirate informatique peut accéder en lecture à n'importe quel fichier de la machine, et récupérer des informations lui permettant par la suite d'accéder à encore plus de chose derrière.

J'espère que le centre hospitalier de xxxxxxxx, fera le nécessaire rapidement.
En attendant n'en profitez pas pour aller voir des photos de moi tout nu ;)

 

[Edit]
Le RSSI gérant l’hôpital ciblé par cet article (et plusieurs autres), a été plutôt réactif et très sympa.
Il m'a appelé directement après avoir eu connaissance de l'article.
Une étude de la sécurité a immédiatement été demandée, elle est actuellement en cours, et des corrections sont au fil de l'eau entrain d'être appliquée.

 

 

Partagez ce contenu

One comment

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *