Vistas de página en total

Mostrando entradas con la etiqueta hacking android. Mostrar todas las entradas
Mostrando entradas con la etiqueta hacking android. Mostrar todas las entradas

martes, 16 de febrero de 2016

Ataque BadUSB Man-In-The-Middle

Como ya habréis notado gracias a nuestro anterior artículo, en los últimos días en hacking-etico.com hemos estado probado la nueva maravilla que nos trae el equipo de Kali Linux: NetHunter. Aprovechando que yo también dispongo de un terminal Nexus 5 he decidido instalar y probarlo y las sensaciones son muy buenas.

Si aún no sabéis cómo descargarlo e instalarlo, os recomiendo nuevamente que leáis “NetHunter: Kali Linux en tu Android“, un estupendo artículo nos trae nuestro compañero Manuel Camacho en donde nos explica todo lo que necesitáis saber para tenerlo en vuestro dispositivo Nexus.

Uno de los ataques que más fácilmente nos permite hacer NetHunter es un curioso Man-In-The-Middle con el que me llevé una grata sorpresa. Vamos a centrar este artículo en explicar cómo funciona, por qué funciona, cómo explotarlo y cómo defendernos ante ello.

Este año tuve la suerte de asistir a la BackHat en Las Vegas, donde una de las más esperadas charlas era la de BadUSB y que a título personal me dejó maravillado. Ya se empiezan a ver las primeras implementaciones y vectores de ataque: Por parte de los chicos de NetHunter tenemos “BadUSB MITM Attack“. Ya podéis imaginar cual será el vector de ataque… con tan sólo conectar el móvil por USB a un ordenador con Windows conseguiremos redirigir todo el tráfico a nuestro móvil y hacer lo que queramos con él… guardarlo, modificarlo, bloquearlo… ¿interesante verdad? ¡A partir de ahora nos pensaremos dos veces cuando alguien nos pida que le carguemos el móvil en nuestro ordenador! Pero eso no es todo… seguid leyendo porque os cuento más adelante que la cosa es más grave aún.

Vamos al lío. Para ello voy a diferenciar tres secciones:

    Explotando Ataque BadUSB MITM: Mostrando cómo se explota y resultado en un escenario real.
    Entendiendo Ataque BadUSB MITM: Analizaremos en detalle cómo y por qué funciona el ataque.
    Defendiéndonos del Ataque BadUSB MITM: Una vez hemos analizado y entendido cómo funciona, podemos tomar un serie de acciones para evitar que este ataque sea efectivo en nuestras máquinas.


Explotando Ataque BadUSB MITM

Es momento de ver en acción cómo funciona el ataque. He escogido el vídeo oficial que la gente de NetHunter ha publicando donde se puede ver una demostración del ataque de una manera muy sencilla y directa. Si no entedéis bien inglés no os preocupéis puesto que en la siguiente sección lo veremos en detalle

¿Tiene buena pinta? Pues pasemos al a siguiente sección donde vamos a entender un poco mejor cómo funciona.


Entendiendo Ataque BadUSB MITM

A continación explicaré un poco más en profundidad cómo funciona la implementación de este ataque MITM. Para ello he grabado el siguiente vídeo (no olvidéis verlo en HD para ver todos los detalles sin problema) en el que veremos con detalle paso a paso todo lo que va sucediendo desde el principio hasta el final del ataque:
Como prueba de concepto y para comprobar que realmente se está capturando el tráfico, he filtrado tcpdump para capturar sólo el tráfico con destino al puerto 21 y guardarlo en el fichero mitm.pcap
Una vez hecho lo anterior, me conecto desde la máquina víctima a un servidor FTP insertando un usuario y contraseña de prueba sólo para ver si realmente se está capturando el tráfico. Al abrir el fichero pcap con Wireshark vemos que efectivamente el usuario y contraseña han sido capturados
,
 Varios puntos a aclarar:

El dispositivo móvil debe estar conectado a internet para que esté propiamente en el medio de la comunicación.

Aunque no lo he probado, probablemente este ataque no funcione en máquinas UNIX debido a la manera en la que UNIX administra las puertas de enlace por defecto.

El ataque funciona aunque la sesión Windows del usuario esté bloqueada, es decir, nos encontremos ante la pantalla de inicio de sesión donde hay que meter la contraseña del usuario para acceder de nuevo a su sesión. Este escenario es muy común, puesto que en entornos de trabajo cuando el empleado se ausenta, una buena costumbre es bloquear la pantalla con “Windows + L”. Aún así, el ataque funcionará. Por lo tanto… imaginen un entorno donde podamos acceder a un puerto USB de una máquina importante (ufff se me ocurren tanto sítios públicos donde puertos USB son accesibles), es cuestión de enchufar el móvil, guardar el tráfico durante un tiempo y luego analizarlo en casa tranquilamente.
Defendiéndonos del Ataque BadUSB MITM

Como ha quedado demostrado, el principal problema es que Windows asigna a la métrica de la nueva ruta un valor menor al que la ruta por defecto ya tiene. ¿Qué podemos hacer entonces? Bueno se me ocurre algo bien sencillo como solución rápida y temporal: asignar un valor estático y menor a nuestra ruta por defecto y por lo tanto aunque se cree una nueva ruta para el tráfico por defecto, éste tendrá un valor mayor y por lo tanto el tráfico se seguirá enviando por nuestra interfaz de red.

Para ello nos vamos Conexiones de red y entramos en las propiedades de la interfaz de red que conecte con internet (igualmente con otras interfaces importantes, por ejemplo aquellas para tráfico de intranet).

BadUSB MITM

A continuación quitamos la opción de que la métrica de la ruta se calcula automáticamente y le ponemos un valor manual de 1:

Sin título3

De este modo, cuando Windows tenga dos rutas para el tráfico 0.0.0.0 siempre lo enviará por esta interfaz al tener una métrica mejor que la creada por NetHunter.

Es importante no olvidar que esto se debe hacer tanto para IPv4 como IPv6.

Sólo una última nota: Ojo porque el tráfico DNS se seguiría enviando por ambos y si no estoy equivocado, tráfico multicast actuaría del mismo modo. Desde luego este “parche” no soluciona el verdadero problema de raíz.
Varios puntos a aclarar:
El dispositivo móvil debe estar conectado a internet para que esté propiamente en el medio de la comunicación.
Aunque no lo he probado, probablemente este ataque no funcione en máquinas UNIX debido a la manera en la que UNIX administra las puertas de enlace por defecto.
El ataque funciona aunque la sesión Windows del usuario esté bloqueada, es decir, nos encontremos ante la pantalla de inicio de sesión donde hay que meter la contraseña del usuario para acceder de nuevo a su sesión. Este escenario es muy común, puesto que en entornos de trabajo cuando el empleado se ausenta, una buena costumbre es bloquear la pantalla con “Windows + L”. Aún así, el ataque funcionará. Por lo tanto… imaginen un entorno donde podamos acceder a un puerto USB de una máquina importante (ufff se me ocurren tanto sítios públicos donde puertos USB son accesibles), es cuestión de enchufar el móvil, guardar el tráfico durante un tiempo y luego analizarlo en casa tranquilamente.

Defendiéndonos del Ataque BadUSB MITM

Como ha quedado demostrado, el principal problema es que Windows asigna a la métrica de la nueva ruta un valor menor al que la ruta por defecto ya tiene. ¿Qué podemos hacer entonces? Bueno se me ocurre algo bien sencillo como solución rápida y temporal: asignar un valor estático y menor a nuestra ruta por defecto y por lo tanto aunque se cree una nueva ruta para el tráfico por defecto, éste tendrá un valor mayor y por lo tanto el tráfico se seguirá enviando por nuestra interfaz de red.
Para ello nos vamos Conexiones de red y entramos en las propiedades de la interfaz de red que conecte con internet (igualmente con otras interfaces importantes, por ejemplo aquellas para tráfico de intranet).
BadUSB MITM
A continuación quitamos la opción de que la métrica de la ruta se calcula automáticamente y le ponemos un valor manual de 1:
Sin título3
De este modo, cuando Windows tenga dos rutas para el tráfico 0.0.0.0 siempre lo enviará por esta interfaz al tener una métrica mejor que la creada por NetHunter.
Es importante no olvidar que esto se debe hacer tanto para IPv4 como IPv6.
Sólo una última nota: Ojo porque el tráfico DNS se seguiría enviando por ambos y si no estoy equivocado, tráfico multicast actuaría del mismo modo. Desde luego este “parche” no soluciona el verdadero problema de raíz.
- See more at: http://hacking-etico.com/2014/10/08/ataque-badusb-mitm/#more-3730

NetHunter: Kali Linux en tu Android

Vuelvo a publicar en hacking-etico.com tras unos meses un poco “diferentes” y regreso para traeros un artículo que os puede resultar muy interesante.

Todos nuestros visitantes sabéis o habéis oído hablar de Kali Linux, la conocida distribución Linux que incorpora multitud de herramientas para testear todo tipo de sistemas y conexiones. Esta “distro” es la sucesora de la archiconocida Backtrack. Pues bien, ya la tenemos disponible para smartphones.

En mayor o menor medida, en el Play Store habitan una cantidad ingente de aplicaciones para generar claves WiFi de todo tipo de fabricantes y a día de hoy el 99% son aplicaciones extremadamente malas (probad probad xD). Unas generan supuestas claves para redes Jazztel, WLAN, etc… pero en muy pocos casos funciona. A veces porque los usuarios se les ha removido la conciencia “segura” y otras porque simplemente no se corresponden con la red en cuestión. Y otras son aplicaciones fakes en toda regla.

Pocas alternativas hay que no sean generadores de diccionarios sin más. Metes el SSID y la MAC y a marchar con o sin resultados (esto último casi siempre).

Pero si hay una interesante que ya publiqué el año pasado. Dsploit. Esta aplicación es más avanzada y funciona en teléfonos rooteados y a ser posible con cierta potencia. Con ella puedes snifar tráfico de la red WiFi que estés conectado, capturar sesiones, envenenamiento DNS, etc.. Tiene algunos bugs que pueden hacer un reboot indeseado pero es más que apta para por ejemplo, snifar tráfico de tu red Wifi e interpretarla con el Wireshark o el Networkminer.

Pero hasta ahora sólo teníamos esas opciones. Hasta que los chicos de www.offensive-security.com nos han traído un regalito. Kali Linux NetHunter. Y vamos a “fusionarlo” con Android.
Advertir que solo está disponible para dispositivos Nexus 5, Nexus 7 y Nexus 10 (al menos por ahora) y que debes tener rooteado el teléfono y con su recovery. NO es en sí una ROM por tanto si usas MULTIROM (tener varias rom en el mismo teléfono) e instalas como secundaria “cascará” al 100%.

Bien, vayamos con la faena.

Para instalar NetHunter en el Nexus 5 tenemos dos opciones:

A: Instalar sin MULTIROM.

B: Instalar con MULTIROM.

No pretende ser esto un tutorial para androides pero si una pequeña aclaración ya que hay escasa información sobre este tema a día de hoy. Hay que tener una ligera idea sobre ciertos términos y conceptos.

Partiremos de la base de que hay un recovery personalizado instalado. Para los newbies han de mirarse primero conceptos clave para personalizar un smartphone Android.

Fundamental descargar:STOCK ROM 4.4.4 en formato .zip- Descargar (Enlace MEGA)
 SuperSU (Rootear) – Descargar

 Opción A

Antes de nada aclarar que hay otro tipo de instalación que es bajándose un instalador de la página de www.offensive-security.com, instalarlo en Windows e ir haciendo los pasos. Personalmente no lo he probado ya que prefería asegurarme usando el “método tradicional”. Pero esto es a elección del usuario. Nosotros vamos a usar el método más común de instalar una ROM.

Hay que trabajar siempre con STOCK ROM 4.4.4. Supongamos que hemos entrado en el recovery, hemos hecho los WIPES (wipear es opcional pero es altamente recomendable aunque desaparecerán todas las aplicaciones y configuraciones, no así las imágenes a no ser que hayáis personalizado los wipes y elegido el “format storage”)  pertinentes para dejar a CERO nuestro teléfono e instalamos nuestra STOCK ROM 4.4.4. Seguidamente y sobre la misma instalación FLASHEAMOS el ZIP que contiene el SUPERSU el cual ROOTEARÁ el teléfono.

A continuación iniciamos el teléfono, configuramos la cuenta gmail y nos vamos al Play Store previa conexión a nuestra WiFi. Descargamos BUSYBOX (yo lo he tenido que instalar sino no me funcionaba) e instalamos.

Reiniciamos nuestro dispositivo en modo recovery, esto es pulsando tecla Volumen Abajo y Power a la vez.

Ahora toca flashear nuestra herramienta NetHunter encima de nuestra STOCK ROM 4.4.4 ya que complementa nuestro sistema con las herramientas de seguridad. Por ello decimos que no es en sí una ROM 100%.

El proceso es lento. Muy lento, así que si todo va bien veréis una barra de progreso que avanza a pasos de tortuga disecada. (Momento para sacar un “beer” mientras esperamos el “hack” xD)

Una vez finalizado el proceso, reiniciáis y debe funcionar vuestra STOCK ROM 4.4.4 rooteada con el añadido de NetHunter.

Deberíais ver en las aplicaciones algunas que no son habituales nada más instalar el teléfono. Veamos en la imagen.



Opción B

Aquí viene cuando la “matan” verdaderamente.

Para quién no conozca MULTIROM es un “Plus” del recovery para poder instalar diferentes ROMS personalizadas siempre que la capacidad de almacenamiento de nuestro teléfono lo permita. Una especie de MULTIBOOT que en sistemas de ordenadores sería como tener Windows, Linux y Hackintos para elegir en el arranque.

Antes de nada tenemos que tener estas premisas claras:

    Nexus 5 funcionando con STOCK ROM o ROM PERSONALIZADA.
    Teléfono ROOTEADO.
    Más los archivos indicados en negrita anteriormente.

En nuestro Play Store, buscamos la APP de nombre MULTIROM, que instalamos y ejecutamos.

 Pedirá permisos de ROOT que concederemos como generosos usuarios. Marcamos los pasos de la imagen, aunque os saldrá a vosotros en rojo la línea de “Kernel”.
,
 Hacemos los reinicios pertinentes y entramos a recovery. (Volumen Abajo y Power). Hecho esto deberíamos tener instalado ya un recovery con soporte multirom.

Ahora vamos a añadir una ROM a nuestro MULTIARRANQUE.

Entramos en Recovery, con Volumen Abajo y Power. Seguimos estos pasos: ADVANCED/MULTIROM/ADD ROM botón NEXT luego opción ZIP FILE buscamos nuestra STOCK ROM 4.4.4 la seleccionamos y procedemos a instalar. Cuando acabe, volvemos a hacer estos pasos pero eligiendo LIST ROM en vez de ADD ROM y seleccionando SUPERSU para rootear esta ROM secundaria.

Cuando acabe veremos un nuevo menú, el multiarranque (una maravilla) elegimos la segunda opción que será nuestra ROM secundaria donde queremos instalar el NetHunter. Iniciamos, conectamos a Internet, añadimos cuenta gmail, abrimos PLAY STORE buscamos BUSYBOX (repito que me fue necesario) y reiniciamos en modo recovery.

Ahora vamos a instalar NetHunter ENCIMA de nuestra STOCK ROM 4.4.4 SECUNDARIA porque como ya hemos dicho, NetHunter necesita apoyarse en esta versión de Android para funcionar.

Elegimos en el TWRP RECOVERY:

– ADVANCED

– MULTIROM

– LIST ROM

– Seleccionar la que aparece

– Flash ZIP (botón pequeño)

– Buscamos NetHunter e instalamos.

Unas imágenes para que podáis ver mejor lo que aparecerá.

 Tras unos interminables 20 minutos aproximadamente se instalará por completo. No os desesperéis porque tarda. A continuación reiniciais y elegís la ROM secundaria. Aviso que si os despistáis cargará la ROM Primaria que es también STOCK ROM (cuántas veces habré dicho STOCK ROM? xD) pero sin el complemento (de un 1gb nada más y nada menos ) NetHunter.

Elegís la segunda en la lista, y cargará. Ahora en el menú aplicaciones podréis ver algunas APP que no vienen “de fábrica”. Estás APPs son para utilizar Kali Linux NetHunter en tu terminal Nexus.
 Es posible que quizás al iniciar el la ROM con NetHunter y entrar a KaliMenú no encuentre rutas en la consola (terminal). Para ello el proceso a seguir es:

    Iniciar Recovery
    ADVANCED/MULTIROM/LIST ROM Seleccionar la recién instalada STOCK ROM con Nethunter como secundaria.
    Flash ZIP e instalar encima de nuevo STOCK ROM 4.4.4
    Al acabar el proceso, realizar lo mismo que en este primer paso, pero instalar SUPERSU(para ROOTEAR).
    Volver a hacer lo mismo pero seleccionar ahora NetHunter.

Este paso tuve que realizarlo para que me funcionara por completo en la consola del KaliLinux en el teléfono ya que iniciaba pero no existían las rutas de las aplicaciones.

He intentado resumir el proceso y generalizarlo un poco puesto que como ya advertí no es un tutorial en sí y pueden faltar pasos que los he obviado.

Pues esto es todo, cómo utilizar NetHunter para probar nuestros sistemas será en otro capítulo de nuestro blog.

Espero que ante tanto caos os haya servido de referencia y podáis disfrutar de un multiarranque para auditar vuestras redes.
Hacemos los reinicios pertinentes y entramos a recovery. (Volumen Abajo y Power). Hecho esto deberíamos tener instalado ya un recovery con soporte multirom.
Ahora vamos a añadir una ROM a nuestro MULTIARRANQUE.
Entramos en Recovery, con Volumen Abajo y Power. Seguimos estos pasos: ADVANCED/MULTIROM/ADD ROM botón NEXT luego opción ZIP FILE buscamos nuestra STOCK ROM 4.4.4 la seleccionamos y procedemos a instalar. Cuando acabe, volvemos a hacer estos pasos pero eligiendo LIST ROM en vez de ADD ROM y seleccionando SUPERSU para rootear esta ROM secundaria.
Cuando acabe veremos un nuevo menú, el multiarranque (una maravilla) elegimos la segunda opción que será nuestra ROM secundaria donde queremos instalar el NetHunter. Iniciamos, conectamos a Internet, añadimos cuenta gmail, abrimos PLAY STORE buscamos BUSYBOX (repito que me fue necesario) y reiniciamos en modo recovery.
Ahora vamos a instalar NetHunter ENCIMA de nuestra STOCK ROM 4.4.4 SECUNDARIA porque como ya hemos dicho, NetHunter necesita apoyarse en esta versión de Android para funcionar.
Elegimos en el TWRP RECOVERY:
– ADVANCED
– MULTIROM
– LIST ROM
– Seleccionar la que aparece
– Flash ZIP (botón pequeño)
– Buscamos NetHunter e instalamos.
Unas imágenes para que podáis ver mejor lo que aparecerá.
- See more at: http://hacking-etico.com/2014/10/06/nethunter-kali-linux-en-tu-android/#more-3741
SuperSU (Rootear) – Descargar