martes, 27 de mayo de 2014

dSploit: Pentesting & Hacking WiFi desde Android

dSploit es un aplicación de Android que reúne distintas herramientas para el análisis y pentesting de redes en una sola suite unificada. Permite realizar pruebas de seguridad de la red en la que se encuentra conectada el dispositivo móvil, lo que puede ayudar a hacer tests de seguridad en clientes que haya que auditar ad-hoc. Según la web de los creadores de la herramienta, esta aplicación ofrece el kit de herramientas más completo y avanzado para llevar a cabo este tipo de tareas, apoyándose en las características siguientes.


Figura 1: Comparativa de dSploit para Android con otras herramientas

En la imagen anterior, además de mostrar las características que ofrece la herramienta, hace una comparativa con algunas de las aplicaciones para Android más conocidas que realizan tareas similares, intentando recalcar su superioridad y complejidad. Por supuesto, no tiene porque ser la mejor, pero nos ha parecido más que interesante probarla y hablaros sobre ella.

Para poder instalar esta aplicación es necesario tener rooteado el sistema Android del terminal movil donde se vaya a instalar. Es posible que una vez terminado el proceso de instalación, la aplicación solicite la que se descargue también BusyBox. Por lo general, las distintas herramientas que se utilizan para rootear el movil o la ROM personalizadas ya incluyen BusyBox, sin embargo, podría darse el caso de que no esté instalada o que esta sea antigua.

Cuando a aplicación esté en el sistema opeartivo Android y se le haya dado permisos de superusuario, la pantalla principal que ofrece es una visualización con el mapeo de la red a la que estemos conectados, donde se listaran todos los dispositivos que hayan sido localizados. En esta pantalla se pueden realizar el listado de acciones que tiene que ver con el escaneo de redes WiFi y el cracking de claves conocidas de determinados tipos de puntos de acceso o routers.


Figura 2: Mapa de red creado por dSploit

También se puede observar en la parte superior derecha de esta pantalla el menú de botones que ofrece las opciones de lo que se puede hacer con la red:

- Especificar objetivos: La primera de estas opciones, representada con un signo ‘+’, permite especificar un objetivo concreto de forma manual a través de una dirección URL, introduciendo el nombre del host o la dirección IP que tenga configurada el equipo. 

- Nuevo escaneo de red: La segunda de ellas, representada con un par de flechas circulares, permite refrescar la lista de los equipos de la red, haciendo que se vuelva a realizar un mapeo completo de la red en busca de nuevos equipos conectados.

- Cambio de red WiFi y cracking: La tercera, que está representada con el símbolo de WiFi que utiliza comúnmente Android, permite cambiar de redes directamente desde la aplicación y, si fuera posible - en el caso de que uno de los routers fuera del tipo de los que la aplicación conoce el algoritmo de generación de claves por defecto que estos implementan -, el cracking de la clave de conexión. Esta acción solo tendrá un resultado positivo siempre y cuando la red WiFi conserve la contraseña por defecto.

- Menú de opciones: La cuarta y última de ellas, representada por tres cuadrados alineados verticalmente, en las que se puede encontrar las distintas opciones que ofrece la aplicación.

En cuanto se haya realizado el mapeo de la red y se encuentren los diversos dispositivos, presionando sobre ellos se pueden observar las distintas acciones que se pueden realizar para cada uno de ellos.


Figura 3: Acciones que pueden realizarse con dSploit en la red

En la imagen anterior se pueden observar todas las acciones que pueden realizarse, sin embargo, estas variaran dependiendo del tipo de dispositivo. Por ejemplo, en el caso de la primera acción de la lista (Router PWN), solo se puede realizar sobre AP al que se está conectado. Con esta opción es posible tomar el control del router utilizan el servicio que ofrece RouterPWN.

Al igual que hay acciones que se pueden realizar para un solo tipo de dispositivos, también hay elementos identificados en el mapeo que solo se pueden llevar un conjunto limitado de acciones, como es el caso del primero de ellos que se lista en el mapeo de la red. Este primer elemento representa a la totalidad de la red, el cual está representado por la NET_ID y la máscara de red, y solo permite llevar a cabo las acciones que se agrupan dentro de las herramientas de man in the middle. Estas acciones afectarán a todos los elementos detectados en el escaneo de la red.

El resto de los elementos que se encontraran en el mapeo son los distintos dispositivos que se encuentran conectados a la red, y se podrán llevar a cabo todas las acciones mostradas en la imagen, exceptuando la comentada anteriormente que solo aplica a los AP.

- Trace: La primera de esas opciones se encarga de identificar todos los saltos que se realizan para llegar al objetivo que fue seleccionado usando el conocido comando de red Trace.

- Escáner de puertos: Con el que se realiza un escaneo de tipo TCP SYN para obtener los puertos los puertos que el dispositivo tiene abierto.


Figura 4: Escaneo de puertos a un objetivo

. Inspector: S encargara de hacer un fingerprinting al dispositivo en busca de su sistema operativo y los servicios que pueda identificar.


Figura 5: Inspector de un equipo conectado a la red para hacer un fingerprinting

Para estos tres primeros casos, solo basta con seleccionar la acción, presionar el botón Start y esperar a que termine el proceso. Esto es así porque son funciones estancas que no necesitan mucho trabajo previo de campo para la configuración del entorno completo de pruebas.

- Búsqueda de vulnerabilidades y exploits: Para poder hacer uso de estas opciones es necesario haber realizado las tareas de escaneo de puertos y fingerprinting previamente, ya que la herramienta se basa en los resultados obtenidos en esos procesos para realizar la búsqueda de vulnerabilidades y de exploits en el S.O. y en los servicios detectados.

Para poder realizar la búsqueda de exploits en concreto, primero debe realizarse la búsqueda de vulnerabilidades y haberse encontrado alguna. Después ya se buscaran exploits relacionados con todas esas vulnerabilidades encontradas.

- Login Cracker: Se basa en los resultados obtenidos en el proceso de escaneo de puertos. Esta opción se encarga de intentar hacer un cracking del login de alguno de los servicios conocidos que se encuentran listados en la aplicación, especificando uno de los puertos de los que fueron encontrados, el juego de caracteres para la generación de contraseñas, el nombre de usuario de una lista que la aplicación ofrece, la longitud mínima y la longitud máxima de la contraseña a generarse.


Figura 6: Login Cracker en dSploit

De los requisitos antes mencionados habría que destacar que la aplicación permite agregar algún otro nombre de usuario que el usuario considere, sin embargo, solo se puede seleccionar uno a la hora de iniciar la aplicación. También permite especificar un conjunto personalizado de caracteres en caso de que se desee incluir alguno para la generación de las contraseñas. En cuanto a los caracteres mínimos y máximos, solo ofrecen un rango entre 1 y 6 caracteres.

- Sesiones: A partir de la release de finales de diciembre, esta herramienta está comenzando su integración con Metasploit, por lo que se ha añadido la opción de Sessions que permite manejar sesiones abiertas de MSF en un determinado host.

- MiTM:  Bajo esta opción se guardan todas las posibles formas de atacar conexiones en la red WiFi. Todas ellas se realizan en el protocolo IPv4 - habrá que esperar a una versión de Evil FOCA para Android -. Las acciones que se pueden hacer solo causan efecto sobre conexiones no cifradas. Las acciones de MiTM que posee esta herramienta pueden apreciarse en la siguiente imagen.

Figura 7: Acciones que se pueden hacer en ataques Man in the middle

Esta son la lista de herramientas que tiene introducidas dSploit en el equipo, y por lo que le hace tan poderoso y peligroso en un red WiFi en la que se conectan usuarios libremente cuando hace el ataque man in the middle entre la puerta de enlace y el objetivo seleccionado.

A) Sniffer simple: La herramienta redirecciona el tráfico del equipo seleccionado a través de ella a la vez que realiza la captura de éste y lo almacena en un archivo pcap que pueda ser analizado posteriormente en detalle por un poderoso WireShark. También arroja estadísticas de las direcciones IP detectadas junto con el ancho de banda que consumen y el total de bytes trasmitidos por cada una de ellas.

Figura 8: Sniffer simple

B) Snifffer de contraseñas: Realizará la misma acción que la anterior con la diferencia de que solo se ocupará y almacenará los datos relacionados a credenciales de autenticación de distintos protocolos, entre los que están aplicaciones que hagan uso de HTTP, FTP, IMAP, IMAPS, IRC, etcétera.

C) Sessión hijacker: dSploit captura las cookies de  sesión que circulan por la red, permitiendo secuestrar las sesiones activas. La aplicación lista todas las cookies capturadas una vez se inicie la acción y si se presiona sobre alguna de ellas permite realizar el secuestro de la sesión seleccionada.

Figura 9: Sesiones abiertas con cookies seguras o inseguras

Una vez pulsada una de estas sesiones capturadas se abrirá automáticamente dentro de la aplicación una vista de la web a través de la cual se puede navegar con la sesión seleccionada. El concepto es un hijacking de sesión clásico, pero con la facilidad que propuso Firesheep cuando se presentó oficialmente. Hoy en día existen multitud de herramientas automatizadas que hacen el Session Hijacking con la misma simpleza.

Figura 10: Sesión de Windows Técnico que iba por HTTPs secuestrada

DBloqueador de conexiones: la aplicación descarta todos los paquetes que recibe de la víctima, resultado esto en un bloqueo de la conexión del equipo sobre el cual estamos realizando el ataque.

E) Redirector: la herramienta redirige toda la navegación web de la víctima a una web que se le especifique sin importar la petición que se realice. Útil cuando se quiere lanzar un exploit de client-side para explotar un bug en el navegador sí o sí.

Figura 11: Opciones de redirección a una URL 

F)Reemplazar imágenes/vídeos: esta herramienta se encarga de sustituir todas las imágenes o vídeos que puedieran contener las páginas web consultadas. Se le debe especificar a la aplicación la imagen por la cual se deben sustituir las originales, ya sea a través de una dirección URL o mediante la selección de una imagen local del propio terminal móvil.

Figura 12: Artículo de Windows Técnico con las imágenes cambiadas por el mitm

Una vez aplicada esta acción, cada vez que se consulte una web no cifrada se sustituirán todas las imágenes que contenga la web, haciendo que la víctima cada vez que intente abrir una página con imágenes obtenga el siguiente resultado. Como puede observarse todas las imágenes de la web fueron sustituidas por una que se especificó a través de una dirección URL.

G)Inyector de scripts: la herramienta inyectara un código script en todas las páginas web visitadas por la víctima, haciendo que este se ejecute automáticamente antes de que el usuario pueda visualizar la web. Un ejemplo de ello podría ser un simple JavaScript con un alert (‘hola mundo maligno’) obteniendo el siguiente resultado.

Figura 13: Script inyectado en página web vista por la víctima

H) Filtro personalizado: la aplicación es capaz de reemplazar el texto de las web. Para ello se le debe especificar a la herramienta el texto que se desea buscar y el texto por el cual debe reemplazarlo.

Estas acciones de cambiar imágenes, texto, vídeos, código HTML o inyectar Scripts, fueron todas presentadas hace tiempo con The Middler, un framework para hacer justo esto, pero de forma masiva, pudiendo inyectar, entre otras cosas, el payload de BeeF Project y hacer así una JavaScript Botnet. Aquí tienes la presentación de la DefCON 17.

https://www.youtube.com/watch?v=Na7BpMnYH14
Figura 14: Conferencia sobre The Middler 2.0 en DefCON 17
- Packet forger: La última de las opciones que se pueden hacer sobre un objetivo - ya fuera del menú Man in the Midlle, es esta que permite crear y enviar un paquete personalizado al (ya sea TCP o UDP) objetivo seleccionado para poder hacer ataques personalizados cuando así se requiera.

Conclusiones

A groso modo estas son las acciones que se pueden realizar con esta herramienta. Como puede verse es una aplicación bastante potente y variada con la que se puede realizar distintos tipos de pruebas de la seguridad en redes desde un dispositivo móvil. Además, es una aplicación gratuita y de código abierto, lo que significa que es posible colaborar y seguir de cerca la evolución de esta herramienta a través de su página de Github.

La manera en cómo puedes colaborar reportando fallos, mejorando implementación del código de la aplicación, traduciendo la herramienta a idiomas no soportados o mejorando las traducciones ya realizadas, etc. Si estáis interesados en formar parte y colaborar con esta herramienta todo lo que necesitas saber lo puedes conseguir en la página web de dSploit.

Por otro lado, también la herramienta pone en manos de cualquiera un conjunto de potentes herramientas que se manejan de manera muy sencilla, así que ten cuidado si te conectas a una red WiFi pública, ya que puedes ver qué fácilmente te pueden hacer ataques que puedan dañarte.

Autor: Umberto Francesco Schiavo de Eleven Paths

Fuente: http://www.elladodelmal.com/2014/01/dsploit-pentesting-hacking-wifi-desde_18.html

No hay comentarios:

Publicar un comentario