Accueil Surveillance de sécurité Rsac: ingénierie inverse d'une application Android en cinq minutes

Rsac: ingénierie inverse d'une application Android en cinq minutes

Vidéo: RSAC x ELLA - NBA (Не мешай) | GANGSTER CITY (Novembre 2024)

Vidéo: RSAC x ELLA - NBA (Не мешай) | GANGSTER CITY (Novembre 2024)
Anonim

L'une des tactiques les plus courantes pour la propagation de programmes malveillants - ou même simplement de mauvaises applications - sur Android est le reconditionnement des applications. Au cours de sa présentation à la conférence RSA, Pau Oliva Fora de viaForensics a montré qu’il ne suffisait que de quelques minutes pour désosser des applications Android.

Obtenir votre application

La première étape pour inverser l'ingénierie d'une application, a déclaré Fora, consistait à vous procurer une application. Bien qu'elles aient l'air lisses sur votre téléphone, les applications Android (ou APK) ne sont en réalité que des fichiers ZIP avec une nouvelle extension. À l'intérieur se trouve tout ce dont l'application a besoin pour fonctionner, du code à tout support dont elle pourrait avoir besoin.

Il y a plusieurs façons d'obtenir un APK. Si vous avez une application que vous souhaitez désosser sur votre Android, vous pouvez utiliser un gestionnaire de fichiers comme ASTRO pour enregistrer une sauvegarde sur une carte SD. Il est également possible de connecter votre Android à un ordinateur, puis d'utiliser Android Debugging Bridge pour transférer l'application sur votre PC. Vous pouvez également utiliser des outils en ligne pour aspirer les fichiers APK de Google Play.

Le tirer à part

Une fois que vous avez un fichier APK avec lequel travailler, vous devez le convertir en quelque chose de plus utilisable. Pour cela, les forums ont présenté deux options. Vous pouvez désassembler votre cible avec un outil tel qu'Apktool, qui convertira le fichier de code d'application compilé du APK (Dalvik Executable ou DEX) en un langage d'assemblage tel que Smali. Vous pouvez également décompiler , ce qui convertit le fichier DEX en une archive Java (JAR), puis en Java.

Les forums ont noté que, étant donné que certaines données peuvent être perdues au cours du processus de décompilation, il est préférable d’utiliser un décompilateur conçu pour Android. Cela saute l'étape JAR, convertissant DEX directement en Java.

Fora a suggéré Santoku aux personnes indifférentes à la recherche de tous ces outils. Ceci est une distribution spéciale de Linux de viaForensics qui est préchargée avec tous les outils dont vous avez besoin pour séparer, modifier et reconditionner une application Android. C'est un puissant outil d'investigation numérique sur lequel nous avons déjà écrit.

Inversion rapide

Si vous vous êtes endormi au cours des derniers paragraphes, c'est ici que vous vous réveillez. À l'aide de Santoku, Fora a découvert une application Android très basique qu'il avait créée et l'a séparée. Il a ensuite parcouru le code d'une ligne particulière, l'a modifié, l'a reconditionné, l'a signée, a réinstallé l'application modifiée sur son Android et l'a lancée. L'ensemble du processus a pris moins de cinq minutes.

Fora's était un exemple très simple. L'application était très basique et n'incluait pas de code obscurci. Cependant, sa démonstration avait des implications puissantes. "Vous pouvez le faire pour modifier le comportement de n'importe quelle application Android", a déclaré Fora, citant comme exemples la vie infinie dans un jeu ou des fonctionnalités payantes dans une application gratuite.

Un exemple plus effrayant? Réfléchissez simplement à l'une des applications de clonage malveillantes que nous avons vues. Réfléchissez à cela avant de télécharger ce clone flappybird sommaire.

Rsac: ingénierie inverse d'une application Android en cinq minutes