Archive for Tutorial

La seguridad actual de la autenticación inalámbrica PSK (II)

Este segundo artículo, de carácter más práctico, define el conjunto de herramientas a utilizar y además, se ha esquematizado para que sea un pequeño tutorial que nos permita efectuar la instalación de las mismas en las máquinas del Cloud.

Para los lectores que no desean conocer en profundidad los detalles técnicos, se recomienda obviar esta parte y saltar directamente a la tercera.

Empecemos.

Primeramente, necesitamos localizar un herramienta que sea capaz de utilizar toda la potencia de cómputo de nuestro hardware con el fin de cumplir con nuestro objetivo, que es calcular el mayor número posible de claves PSK por segundo, tal y como hemos comentado en la primera entrega. Para lograr la tarea, se propone la utilización de Pyrit.

Pyrit

Es una herramienta muy potente que permite realizar ataques a la autenticación WPA/WPA2-PSK. Destaca por tener la propiedad, a diferencia de otras herramientas, de utilizar la potencia extra de las GPUs para acelerar de forma extraordinaria el proceso de cómputo de las claves PSK. Se encuentra escrita mayormente en Python, pero también cuenta con algunos módulos escritos en C (cpyrit-cuda, cpyrit-opencl) que se encargan de permitir el uso de las tarjetas gráficas. Además, entre otras funcionalidades, nos brinda la posibilidad de crear tablas de claves PSK precomputadas.

Por otro lado, necesitamos un software intermediario que permita la interacción con las tarjetas gráficas. En este caso, se trabajará con CUDA Toolkit.

CUDA

CUDA son las siglas de Compute Unified Device Architecture (en Castellano, Arquitectura Unificada de Dispositivos de Cómputo) y hace referencia a un framework desarrollado por NVIDIA que permite a los programadores de C y C++ aprovechar la potencia del procesamiento paralelo de sus tarjetas gráficas, con el fin de proporcionar un incremento del rendimiento del sistema.

Con las dos herramientas anteriores y conjuntamente con el Cloud, ya tenemos todos los componentes necesarios. Sólo nos queda realizar la instalación de este software a una máquina remota y en el caso del panel de NIMBIX, la secuencia de pasos a realizar es la siguiente:

Read more

Creando un túnel SSH con Nessus

Muchas veces a la hora de hacer una auditoría externa y tener algún sistema de protección exterior (Firewall, IDS…), se nos habilitan diferentes mecanismos para poder acceder dentro de la red que queremos auditar sin que su seguridad exterior se vea comprometida. Es muy común habilitar un túnel SSH para acceder al interior de la red local.

notaLegal

Hoy vamos a ver cómo aprovechar ese túnel para correr Nessus como si estuviéramos ubicados dentro de la red. Como sabéis, la versión gratuita de Nessus tan sólo nos permite escaneos a direcciones IP locales, sin embargo mediante el túnel vamos a conseguir utilizar esta herramienta frente a una IP pública, como si estuviéramos dentro de la red a auditar aún estando fuera de la misma.

Vamos a utilizar para ello un túnel SSH y la herramienta Proxychains de la cual tenéis un artículo en el blog sobre cómo trabajar con ella y Tor.

http://hacking-etico.com/2013/08/27/anonimato-con-tor-y-proxychains/

En el siguiente diagrama vemos el entorno en el cual vamos a trabajar:

tunel

La idea es crear un túnel SSH y haciendo uso de Proxychains reenviaremos todas las peticiones de nuestro PC (Nodo A) a través del túnel, de tal forma que Nessus va a pensar que está corriendo el scanner en la máquina intermedia (Nodo B) que sí está en la misma red del servidor a auditar (Nodo C). Los pasos a seguir son los siguientes:

Creación del túnel SSH con el nodo B.

Para crear el túnel previamente tenemos que tener habilitado en el nodo B el servicio SSH con nuestro usuario correspondiente y una regla en el Firewall que permita las peticiones desde exterior hacia la máquina B (natearemos el puerto 22 mediante Port Fowarding a la máquina B).

Con todo preparado pondremos a la escucha un puerto en la máquina local A, de tal forma que todo lo que se envíe a ese puerto se reenviará a través del túnel que crearemos contra la máquina B. Usaremos el siguiente comando:

sudo ssh –p 22 –N –D 8081 [email protected]_B

Read more

Controlando dispositivos USB con soluciones Endpoint – Parte II

Volvemos con la segunda parte de nuestro artículo “Controlando dispositivos USB con soluciones Endpoint“. En esta segunda parte vamos a ver como utilizar otro EndPoint de un fabricante muy conocido por su amplio despliegue de productos y sobre todo la calidad de los mismos.

Hablamos de ESET EndPoint.

Si el anterior artículo lo orientamos a la gestión cloud de nuestro EndPoint para una red de equipos considerable, ya que puede ser más cómodo, en el post de hoy vamos a desgranarlo en modo local usando ESET EndPoint.

Si te perdistes en el anterior artículo puedes volver a verlo aquí.

Como ya sabéis, la fuga de información es otra forma de “ataque” a empresas. Quizás cuando hablamos de (in)seguridad nos centramos en las agresiones externas por parte del típico hacker con pasamontañas que pretenden reventar nuestros servidores, Webs, etcétera… pero hay frentes abiertos por todos lados.

Aunque para nada soy ducho en la materia de enfermería ni tengo conocimientos de ningún tipo sobre ello, me atrevería a hacer el símil para explicar, sencillamente, la inseguridad informática.

Las desventajas del “Internet de las cosas” deja abierta una herida que es muy difícil cerrar o más bien, imposible de cicatrizar.

Por ello, y hablando metafóricamente, necesitamos utilizar cuanto más “povidona yodada” mejor para que siempre esté limpia y seca la “herida”.

Pero no solo vamos a usar un determinado “antiséptico” o medicina para combatir las fisuras de seguridad sino que vamos a complementar unos con otros. Si tenemos un Firewall, WAF, Antivirus, Antimalware, Sistema de backup, etcétera… sería aconsejable tener alguna política anti “fuga” de información, por ejemplo.

270x240-endpoint-security Read more

Bloqueando accesos desde TOR

Muchas o mejor dicho miles de veces oímos hablar de la red TOR. Ya no es un término usado por gurús de la seguridad sino que más o menos es conocido por los aficionados a la informática.

Hay mucha suspicacia en el tema del anonimato en la red y obviamente esto tiene sus motivos. Pero tanto positivos como negativos.

Cuando hablamos de anonimizar tu conexión para que no te “espíen” podemos suponer que ya de hecho vamos a cometer un delito o vamos a practicar actividades de dudosa legalidad. Esto es muy relativo.

Pero como primera premisa, indiscutible (e “impepinable” como se dice por Córdoba :P) es que nadie tiene porque espiar tu actividad en la red. Podemos entrar en el debate de que se sospecha o se tiene indicios de que “tal” y “cual” pero un usuario de “a pie” no tiene por qué ser rastreado.

73280

Read more

Análisis del CVSS de ShellShock

Una de las vulnerabilidades más importantes del año sin duda ha sido ShellShock. En el artículo de hoy vamos a explicaros cómo funciona el sistema de evaluación de vulnerabilidades más extendido, el CVSS (Common Vulnerability Scoring System), haciendo uso de dicha vulnerabilidad.

Como ya sabéis la vulnerabilidad de ShellShock corresponde a un bug en Bash que afecta a sistemas UNIX, Linux y OS X que incorporan esta herramienta en su sistema. Dentro de la métrica CVSS podemos encontrar este bug dividido en dos ocurrencias: CVE-2014-6271 y CVE-2014-7169.

¿Qué es CVSS?

CVSS es una métrica para evaluar vulnerabilidades que nos reporta un valor, o conjunto de valores, que nos dan una idea del peligro que conlleva una vulnerabilidad.

Si buscamos el CVSS Score de las vulnerabilidades nombradas en la National Vulnerability Database (NVD) veremos que su valor es 10.

¿Cómo se utiliza?

CVSS utiliza tres métricas básicas para medir el alcance que puede tener una vulnerabilidad. Podemos verlas en la siguiente imagen para la CVE-2014-6271

01grafico Read more

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:

  1. Explotando Ataque BadUSB MITM: Mostrando cómo se explota y resultado en un escenario real.
  2. Entendiendo Ataque BadUSB MITM: Analizaremos en detalle cómo y por qué funciona el ataque.
  3. 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.

  Read more

Anonimato en la red con I2P

Siempre que hablamos de anonimato en Internet, lo primero que se nos viene a la cabeza es TOR. Sin embargo, no es la única iniciativa existente, que pretenda proporcionarnos el mayor nivel de anonimato y seguridad en nuestras comuniciaciones.

En 2002, nace TOR, con la idea de construir una red distribuida, dentro de Internet, que permita una comunicación anónima y segura. En 2003, nace I2P (Invisible Internet Project), con la misma idea. La primera utiliza “onion routing” y, la segunda, “garlic routing” para intentar conseguir este objetivo. En realidad, ambos tipos de enrutamiento presentan muchas similitudes.

¿Cómo funciona I2P?

En esta red, para conseguir anonimizar los mensajes enviados, necesitamos un router I2P. Este router, creará unos túneles de entrada y, otros tantos, de salida, unidireccionales. Si queremos enviar un mensaje a un cliente, será enviado por un túnel de salida, hacia un túnel de entrada del mismo.

Para encontrar los túneles hacia el cliente que queremos conectar, se hace una búsqueda en la base de datos distribuida, utilizando una adaptación del algoritmo algoritmo Kademlia.

Estos túneles serían algo parecido a los circuitos que se utilizan en TOR, con una diferencia: Tienen una corta duración. Esto, en principio, permitiría, en caso de un ataque, complicar la captura de datos por parte del atacante.

Las apliciones y webs están alojadas bajo un dominio, .i2p, similar a los dominios .onion. Para acceder a ellos, necesitamos hacerlo a través del router I2P. También podremos navegar fuera de I2P, quedando nuestra IP oculta, al igual que ocurre con TOR.

Podemos utilizar cualquier aplicación web que queramos. Dentro de nuestro router, apuntaríamos a ella, para poder utilizarla. En principio, disponemos de varias aplicaciones preconfiguradas, como un servidor web, correo electrónico, cliente bittorrent, irc, etc.

Consola del router I2P

Read more

Usando Nmap para detectar Heartbleed

A estas alturas, pocas personas existirán que no hayan escuchado hablar de Heartbleed, considerado uno de los bug más críticos de la historia de internet.

No entraré en más explicaciones de Heartbleed, puesto que existen ya infinidad de sitios hablando de ello, aunque uno que explica todo muy claro lo tenéis en el blog Un Informático en el lado del mal.

En estos pasados días me ha tocado dedicarme exclusivamente a este bug en OpenSSL por lo que he debido informarme bien de en qué consistía exactamente hasta al mismo nivel del código fuente.

Una vez entendido ha tocado escanear una gran cantidad de IPs para comprobar qué hosts eran vulnerables. En esta ocasión me centro en servidores que pueden estar dando servicios que usan OpenSSL vulnerable, aunque no olvidéis que los clientes también pueden serlo.

Dado que la cantidad de IPs a escanear superaba los pocos miles, debía automatizar el scanning de alguna manera. Voy a explicar sin entrar en mucho detalle cómo fue el proceso.

Read more

NetworkMiner

Hoy os voy a hablar de una herramienta que se utiliza para el análisis forense de redes de datos. Podemos utilizar esta herramienta en Windows, Linux, Mac OS X y FreeBSD.

La característica principal de esta herramienta, es que nos permite analizar la captura de paquetes, tanto de manera activa, como pasiva. Es decir, podemos capturar el tráfico directamente desde la red o, bien, tratar una captura realizada anteriormente con otra herramienta. Está enfocada, sobre todo, a la recolección de la información y tratamiento de ésta.

Existe dos versiones una de pago y otra gratuita (limitada).

hackingl10

Read more

Cifrando el tráfico DNS con DNSCrypt

DNSCrypt nos permite cifrar el tráfico entre el usuario y el servidor DNS. De esta manera, nos vamos a proteger de diferentes ataques, como Spoofing, Man in the Middle o Spying. Para hacer esto, bastará instalar y configurar el proxy DNSCrypt.

Además, vamos a utilizar dnsmasq. Es un paquete que nos permite instarlar de una manera sencilla, un servidor DNS y un servidor DHCP, sólo tenemos que instalar y arrancar el servicio dnsmasq. De esta manera, podremos mejorar el rendimiento de DNSCrypt, al utilizar la caché de dnsmasq. Podremos resolver los nombres que tengamos configurados en el /etc/hosts y, esta resolución, será, tanto en sentido directo, como inverso. También podremos tener el servicio de DHCP, añadiendo, simplemente, una línea al archivo de configuración de dnsmasq, indicando el rango de cesión.

Estas herramientas suelen estar incluidas en muchas distribuciones GNU/Linux. Su configuración es muy similar. En este caso, utilizaré ArchLinux.

Read more