0day

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.

Bonjour à tous,

Cela fait pas mal de temps que nous n'avons pas mis à jour notre blog sécurité R&D par manque de temps et sur le fait que de nombreux travaux réalisés ne peuvent être publiés .....

Nous revenons aujourd'hui sur un sujet assez spécifique concernant le reverse et la création d'un module John The Ripper sur un algorithme de hashage assez peu connu utilisé sur des bases de données SYBASE. Nous savons qu'à partir de la version 15.0.1 les hash sont générés via SHA-256 mais pour les versions antérieures (<= 12.5), encore très utilisées en entreprise, l'algo utilisé n'a jamais été reversé jusqu'au bout (FEAL-8).

C'est donc le sujet de ce papier qui va permettre via un cas client de développer un module John The Ripper pour les hash de type SYB-PROP

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

Le monde des ERP

Dans cet article, nous allons travailler sur un ERP bien connu des entreprises développé par ORACLE nommé PeopleSoft. La sécurité d’un ERP est un élément important dans une entreprise puisque ce dernier  regroupe généralement plusieurs fonctions très sensibles de la société :

  • Gestion RH
  • Gestion recrutement
  • Gestion des stocks
  • ..

Windows 7 possède des sécurités en noyau assez solides, de nombreuses vérifications de tailles, contrôles d'intégrité ou restrictions d'accès sont présentes. Par exemple le "security_check" protège note pile si une chaine de caractères est utilisée, c'est également le cas quand nous utilisons une fonction dépréciée comme "strcpy()" (certaines ne sont même plus disponibles), ceci pour forcer les développeurs à programmer de façon sécurisée.

C'est pourquoi nous voyons beaucoup de débordements de tas en local (comme l'a démontré Tarjei Mandt) mais nous n'avons aucune (ou très peu) d'exploitation à distance comme à un moment avec SRV.SYS ou d'autres drivers.

Ce manque d'exploits est en parti du à la présence d'une ASLR (génération aléatoire des adresse en mémoire) en noyau. Résultat, si un Hacker n'a plus de moyen de sauter sur le code et exécuter la charge active (ROP, Jmp Eax, ...) l'exploitation du bug sera impossible. Nous n'aurons qu'un superbe BSOD dans la majorité des cas. Cet article explique comme contourner la protection à distance et relancera peut être les recherches sur ce domaine. Nous considérerons ici avoir un débordement de tampon à distance sur un driver.

Dans ce premier opus du blog nous allons parler kernel, déréférencements de pointeurs, de reverse engineering et un tout petit peu de système de fichier. Beaucoup de choses techniques mais rien de très compliqué. Notre cas d’étude sera l’outil de détection de rootkits GMER, il a la capacité de détecter de nombreux rootkits en noyau Windows et ce sans utiliser de signatures ! Un administrateur système utilisera donc cet outil pour détecter un possible virus d’ores et déjà installé sur sa machine. Nous avons voulu savoir si le fait d’utiliser cet outil (de protection à l’origine) ne peut pas ouvrir des axes d’attaques supplémentaires.