7 sept 2015

Analizando software malicioso en Android con PHP. Parte 2

Buenas a todos, en el post de hoy vamos a continuar con nuestra aplicación PHP para analizar aplicaciones Android, añadiéndole una instrucción para listar las URL existentes en el código fuente del APK. Para ello haremos uso de las instrucciones find, xargs y grep de linux, y redirigiremos la salida del comando a una variable, para en posteriores posts empezar a explotar la información recopilada:

<?php
    $bin='facebook';
    $ext='.apk';
    $com1='d2j-dex2jar '.$bin.$ext.' --force  ';
    $com2='mkdir android  ';
    $com3='java -jar jd-core.jar '.$bin.'-dex2jar.jar android  ';
    $com4='find android/ -type f -print0 | xargs -0 grep -1 "http:"';
    $commands=array($com1,$com2,$com3,$com4);
    foreach($commands as $com)
    {
        $output=array();
        exec($com, $output);
        foreach($output as $valor)
        {
            echo $valor.'<br/>';
        }
    }
?>
Su funcionamiento no varía y podréis ejecutar el programa de la siguiente manera:


Y veréis todas las coincidencias del texto "http:" así como el fichero que las contiene. En este caso hemos localizado varias URLs correspondientes a la página oficial de Facebook.com y a un fake asociado a un dominio ".es", todos ellos alojados en "MainActivity.java":


Lógicamente podréis modificar el texto "http:" por cualquier cadena de texto que os interese buscar. Por ejemplo, en posteriores artículos os mostraré algunas búsquedas interesantes que podremos lanzar aprovechando esta sencilla técnica y uniéndolas entre sí para obtener de forma rápida un informe sobre aquellos contenidos destacables que pueda contener un APK. Lo cual es ideal si tenemos que analizar numerosos binarios en poco tiempo en el transcurso de una investigación forense, auditoría, etc. Pero esto lo veremos próximamente :)

Saludos!


No hay comentarios:

Publicar un comentario