Non classé

Under Linux, setuid binaries is a well-known security topic since it allows users to run programs using the security context of their owner. Thus, if a program, whose owner is root, is executed by a non-privileged user, the binary will run under a privileged security context and will be able to perform actions that he normally wouldn’t be able to. Therefore, it is important to check that setuid binaries are well secured and that their behaviour can’t be altered.

An english description is available at the end of the article. Une démonstration, montrant comment infecter un appareil Android, est disponible en fin d'article.  

Rappel du contexte

  L’existence de malwares et d’applications volant bon nombres de données confidentielles sur nos smartphones ne sont plus un secret depuis longtemps. Un des mécanismes de protection essentiel à la sécurité de l’écosystème Android est le système de permissions autorisées pour chaque application téléchargée sur le Google Play Store.   Dès lors, les utilisateurs sont à peu près sensibilisés à ces concepts d’autorisations qui seront attribuées à une application Android. En effet, si une application tente d’accéder aux contacts, aux SMS, aux photos, etc. un utilisateur le saura lors de son téléchargement. Dans cet article, rien de bien nouveau en ce qui concerne la partie « développement de malware », nous avons simplement développé une application cliente se connectant à un serveur une fois que l’appareil télécharge l’application malicieuse. Le problème est que cette application affiche à l’utilisateur les nombreuses permissions qui sont requises pour accéder aux données de la victime : SMS, Contacts, …   android Le challenge pour un attaquant est alors de mener (voire forcer) notre victime à télécharger discrètement l’application malicieuse.

Après une longue période de vacances, voici un nouvel article sur notre blog.

Cela fait un moment que l’on n’a pas parlé de Reverse Engineering sur le blog, il est temps d’y remédier.

Aujourd’hui nous allons nous intéresser aux applications Windev que nous avons découvertes lors d’un audit. WinDev est un langage de développement développé par PcSoft, société Française.

L'objet de cet article concerne plus précisément l’outil WDModfic.exe qui a pour objectif de modifier les fichiers d'analyse d'une application WinDev et qui est embarqué avec toute application WinDev.

Il est important de savoir que WinDev utilise 2 grands types de fichiers :

  • Un fichier d'analyse permettant de décrire la structure des fichiers de données
  • Les fichiers de données eux-mêmes

Le but de ce Reverse est d’arriver à prendre la main sur les fichiers de données de l'application protégés par une couche de chiffrement supplémentaire basée sur un mot de passe paramétré directement dans WinDev. Ce mot de passe est souvent identique à celui configuré sur le fichier d'analyse de l'application WinDev (en tout cas dans les applications WinDev que l'on a audité)

Le processus d'attaque est le suivant :

  1. Téléchargement de l'outil wdmodfic.exe
  2. Reverse Engineering de ce dernier
  3. Découverte de la vulnérabilité
  4. Extraction du mot de passe embarqué dans l'outil wdmodfic.exe
  5. Récupération des données contenues dans les fichiers de données dans le cas ou le mot de passe du fichier d'analyse est le même que celui du fichier de données

Ceci permet donc via un utilitaire WinDev disponible librement de prendre le contrôle de n'importe quelle application développée sous WinDev.

Attention ceci n'est valable que pour la version 16 de WinDev (qui est plutôt récente et datant de Juin 2011). Nous n'avons pas réalisé le test sur WinDev 17