Tag Archive for pentesting

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

En esta tercera entrega, llega el momento de extraer nuestras propias conclusiones sobre la seguridad actual de la autenticación PSK. Resulta que con la ejecución de Pyrit en una instancia g2.8xlarge del Cloud de Amazon, se obtiene un rendimiento interesante en el cómputo de claves:

011 - pyrit benchmark AMAZON

Tal y como se puede observar en la ilustración anterior, se cuenta con un cálculo de 115.265 claves/segundo, un incremento más que considerable en referencia a las 836 claves/s iniciales de mi máquina virtual.

Pero esto no termina aquí. Aún podemos mejorar la capcidad de cómputo y de una forma más que considerable. Existen dos opciones:

  • Ejecución de Pyrit en modo distribuido.
  • Utilizar tablas PMK precomputadas.

Una vez más, debido a la magnitud que debe respetar el artículo, es necesario focalizar nuestros esfuerzos en una de las opciones anteriores y, en este caso, se ha optado por mostrar la velocidad extrema que se consigue con las tablas PMK precomputadas.

Read more

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

Han pasado ya algunos años desde que el estándar 802.11i fue ratificado en Junio de 2004, y algunas cosas han cambiado desde aquel entonces, dando énfasis en la capacidad de computación de las máquinas. No obstante, sobre la misma línea, nada nuevo está presente en la autenticación WPA, que como ya sabemos se encuentra dividida en dos bloques:

  • WPA Enterprise Authentication: donde se utiliza el estándar 802.1x y normalmente un servidor Radius para efectuar Authentication, Authorization y Accounting (AAA).
  • WPA Personal Authentication: donde se emplea una passphrase precompartida por todos los integrantes de la red (similar a WEP).

En esta secuencia de artículos, primeramente veremos los fundamentos del ataque sobre la autenticación PSK (Pre Shared Key), también conocida como autenticación “Personal”, y posteriormente lo pondremos en práctica sobre el Cloud de NIMBIX y de Amazon para extraer nuestras propias conclusiones.

Partiendo de la base de tener en posesión un handshake, sólo nos queda por dar una pequeña pincelada a la generación de la PTK (Pairwise Transient Key):

Diagrama generación PTK

Como podemos ver, la clave precompartida, denominada passphrase, se pasa a una función conocida como PBKDF2, utilizada en PKCS#5, conjuntamente con los siguientes parámetros:

  • El SSID y su longitud.
  • El número de iteraciones a realizar, 4096.
  • La longitud de la clave resultante, 256.

Read more

Auditando Aplicaciones en Android

Vamos a ver algunos ejemplos de controles que se llevan a cabo en un Pentesting de Aplicaciones en Android. Lo más importante en un proceso de auditoría será el hacer uso de una metodología, de tal forma que podamos llevar a cabo una serie de pasos de manera ordenada.

Os propongo que hagamos uso de la metodología OWASP, concretamente en su apartado de OWASP Mobile Security Project podemos encontrarnos con muchos recursos: herramientas, guía de desarrollo seguro, plantilla de controles, guía de testing de Apps… Centrándonos en esta última podemos dividir nuestra auditoría en tres partes: recopilar información, análisis estático y análisis dinámico. Read more

Web Hacking : Una línea para manejarlos a todos

¿Podría darte una línea de código acceso a un sitio Web completo? ¿Qué información obtendría un atacante si consiguiera llegar al nivel más bajo de tu página Web? es decir, a tu BBDD o SSOO. Dependiendo del objetivo de la misma podría encontrar seguramente información sobre la identidad de los usuarios, transacciones bancarias, compras online, usuarios, contraseñas y mucho más.

¿Cuánto vale tu información? Debemos de establecer unos controles de seguridad mínimos a nuestro sitio Web, llevar a cabo una serie de auditorías de seguridad que garanticen el buen funcionamiento de la misma. No sólo tener en regla la política de cookies y poco más, sino os puede ocurrir como la Web con la que me encontré hace unas semanas a la hora de preparar una charla. Antes de nada os muestro un disclaimer.


Aviso Legal y Descargo de Responsabilidad

  1. El objetivo de lo mostrado a continuación tiene fines educativos para aprender a mejorar la seguridad de nuestros sitios Web.
  2. No nos hacemos responsables del mal uso que se le pueda dar a las herramientas mostradas.
  3. Toda la auditoría Web mostrada a continuación se ha llevado a cabo con permisos de sus administradores según lo acordado en documento legal.

Vamos a llevar a cabo la auditoría de un sitio Web siguiente la metodología OWASP, concretamente seguiremos la OWASP Testing Guide V4. Los diferentes puntos que abarca dicha metodología los podéis ver detalladamente en el enlace anterior. A continuación nombramos los aspectos generales a tratar.

Read more

Pentesting con GoLismero

Tras un parón considerable en nuestro Blog, casi justificado por las vacaciones de los que escribimos en Hacking Ético, volvemos para haceros llegar una herramienta que la mayoría conocéis pero como nuestra intención es que todo lo que esté en nuestra mano llegue a todos nuestros lectores, vamos a mostraros que es GoLismero.

Es una herramienta para automatizar las tareas de pentesting en sitios Web aunque también es posible usarlo e integrarlo para realizar pentesting de servidores. Por ejemplo, puede adaptarse a OpenVAS para realizar escaneo de vulnerabilidades a determinadas IPs.

Este Framework ha sido creado por Daniel García (@ggdaniel) “backend developer”, Mario Vilas (@MarioVilas) “Core developer y Raúl Requero “Frontend developer” y es opensource.

Es una herramienta muy completa, creada en Python por lo que no necesita dependencias. Incluso en su día lo probé en Windows aunque también funciona (o debería) en OS X y por supuesto en Linux.

logo-wide copia

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 user@direccionIP_B

Read more

iOS Hacking: Arquitectura de seguridad en iOS

En la entrada anterior de esta serie sobre iOS Hacking hablamos sobre la necesidad de “romper la jaula” en el sistema operativa, es decir, hacer un Jailbreak. En esta siguiente entrada de la nueva serie, veremos cómo es la arquitectura de seguridad en iOS y entenderemos mejor el por qué de tener “jailbreakeado” nuestro dispositivo para hacer pruebas de intrusión o hacking ético en iOS.

Apple publica periódicamente su documento de seguridad iOS, donde explica los mecanismos de seguridad que utilizan para proporcionar el máximo nivel de seguridad a su sistema operativo y Apps. La información aquí mostrada está extraída de dicho documento, que en este caso data de febrero de este año.

iOS Hack: iOS Security

Todos los mecanismos de seguridad los podríamos agrupar en mecanismos de tipo software y mecanismos de hardware / firmware. Desde el nivel más bajo, en el hardware, se encuentra “grabado” el Device Key, que es único para cada terminal. Además en la ROM se almacena el Apple Root Certificate, usado para cifrar, firmar y comprobar la autenticidad.

Por encima, cuenta con un motor de cifrado llamado Crypto Engine.

Desde el punto de vista del software, todo el sistema de ficheros se encuentra cifrado, tanto la partición del sistema operativo como la de usuario. A esto hay que añadir que los datos de esta partición están cifrados. Para completar la seguridad a nivel de software, iOS ejecuta cada App en una sandbox propia de cada App, lo que prohibe el acceso a datos de otra aplicación o interacción entre Apps. Aislamiento total entre aplicaciones.

iOS Hack: Arquitectura de seguridad Read more

iOS Hacking: preparando entorno de pruebas

Con este artículo estrenaré una nueva serie de entradas llamada iOS Hacking dedicada a todo lo relacionado con el pentesting de dispositivos y aplicaciones iOS, que como sabéis es el sistema operativo usado por los dispositivos de Apple.

Cada vez son más los dispositivos móviles que utilizamos día a día, ya sean smartphones o tablets. Lo hacemos para consultar nuestro correo electrónico, redes sociales, jugar o ver vídeos online. Son muchas las aplicaciones nuevas que aparecen todos los días, por lo tanto creemos que este tema se merece un espacio en nuestro blog.

Como no podía ser de otra forma, en este primera entrada explícaremos cómo preparar un entorno de pruebas de intrusión en un dispositivo con sistema operativo iOS. Al igual que en Android necesitamos rootear el dispositivo para tener acceso al sistema de ficheros o conseguir una elevación de privilegios, en un iPhone o iPad ocurre lo mismo. En este caso se le atribuye el concepto de romper la jaula (jail), de ahí que a esta técnica se le conozca como JailBreak. Esta técnica, además de lo comentado anteriormente, nos proveerá de un nuevo gestor de paquetes, Cydia.

Cydia - iOS Hack

¿Por qué necesitamos hacer JailBreak? Básicamente porque necesitamos acceder a todo el sistema de ficheros, sin ningún tipo de limitación, necesitamos poder monitorizar aplicaciones y procesos y necesitamos más permisos que los que vienen por defecto, que son muy limitados. En realidad, lo se hace es una elevación de privilegios del usuario mobile a root.

Hay muchísimos sitios Web donde se explica cómo hacerlo, no entra en el ámbito de estos artículos explicar cómo hacer un JailBreak a un dispositivo iOS. Read more

Armitage: Administrador gráfico de metasploit

En este artículo voy a hablar sobre la herramienta de pentesting Armitage. Armitage es una herramienta gráfica del conocido framework Metasploit la cual nos permite buscar vulnerabilidades sobre cualquier equipo que esté en una red a la que tengamos acceso. Esta herramienta se puede encontrar en distribuciones de pentesting como Kali Linux.

armitage3

 

Read more

Dsploit: Pentesting con tu Smartphone

A día de hoy hay infinidad de herramientas para pentesting. El pentesting, es un vocablo inglés que viene a significar “Test de penetración”. Básicamente esta tarea las componen un conjunto de aplicaciones que realizan un determinado proceso. Todas juntas hacen una suite informática para testear nuestras redes.

Distribuciones como Backtrack, Kali Linux o Wifislax (basados en Linux) poseen en sus entrañas software para auditar todo tipo de sistemas informáticos.

Desde un simple y a la vez potente escaneo de puertos con nmap, hasta testear la fortaleza de nuestra red Wi-Fi. 

Todo esto, a su vez es realizado con dispositivos como portátiles, netbooks, ordenadores de sobremesa, servidores, etc… 

Pero hoy podemos ir más allá. Con el uso masificado ya de smartphones y tablets, tenemos en nuestras manos posibilidades muy interesantes para poner a prueba cualquier red de nuestra propiedad.

Para ello, hay una suite para Android llamada DSPLOIT, la cual permite multitud de opciones tan operativas como si estuviéramos ejecutando Backtrack o Kali Linux en nuestro portátil o equipo de sobremesa.

Obviamente todo depende la potencia de nuestro smartphone o tablet para ejecutar los procesos pertinentes a la hora de “probar” nuestra red.

dsploit

Read more