Lecturas recomendadas

Retomo las bitácoras despues de un intenso letargo con un artículo que en principio, no tengo intención de cerrar. Lo que aquí quiero mostrar son lecturas que considero de interés para sumergirse en el mundo de la seguridad informática.

1. Hacking Etico, de Carlos Tori. Interesante libro en el que adentrarse en el hacking ético.
http://www.bubok.es/libros/951/Hacking-Etico

2. Hacker Épico, de Alejandro Ramos y Rodrigo Yepes. Relato en forma de novela en la que un experto en seguridad informática se ve inmerso en un auténtico thriller.
http://www.hackerepico.com/p/sinopsis.html

3. Pentesting con Kali, de 0xWord. Una buena guía con la que adentrarse en el sucesor de Backtrack.
http://0xword.com/libros/40-libro-pentesting-kali.html

4. BackTrack 5 Wireless Penetration Testing Beginner’s Guide, de Vivek Ramachandran. Una muy buena base para pentesting inalámbrico.
http://www.amazon.com/BackTrack-Wireless-Penetration-Testing-Beginners/dp/1849515581

5.  Metasploit The Penetration Testers Guide, de Vivek Ramachandran. Excelente libro sobre pentesting con Metasploit.
http://www.amazon.com/Metasploit-The-Penetration-Testers-Guide/dp/

6. Hacking Ético 101 – Cómo hackear profesionalmente en 21 días o menos! Un muy buen libro que explica con todo detalle la labor del hacker ético desarrollando las diferentes etapas del pentest.
http://www.amazon.es/HACKING-ÉTICO-101-hackear-profesionalmente-ebook/dp/B00FFHBPXE

7. Violent Python. “A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers”. Espectacular redacción para iniciarse en el mundo de Python desde la perspectiva hacker.
http://www.amazon.es/gp/aw/d/1597499579

8. Python para todos. Raúl Gonzalez Duque. Buen libro para comenzar, especialmente si posees conocimientos de otros lenguajes.
http://mundogeek.net/tutorial-python/

9. La Biblia del Footprinting. Juan Antonio Calles García y Pablo González Pérez. Pequeño libro que sienta las bases de esta importante etapa de los procesos de Caja Negra y Test de Penetración.
http://www.flu-project.com

Anuncios

Protegiendo nuestra red WiFi

Desde su aparición en el año 1997, el estándar IEEE 802.11, en la práctica Wi-Fi (Wireless Fidelity), ha sido toda una revolución permitiéndonos la conexión a las redes de nuestra empresa con nuestros terminales móviles (ordenadores portátiles, tabletas, smartphones,…) además, son muchos los dispositivos que sin ser móviles se configuran para la conexión inalámbrica en lugar de hacerlo de manera cableada (ordenadores de sobremesa, consolas de videojuegos, Smart TV’s, antenas repetidoras, etc.).
Partiendo de la base de que deberíamos de optar por la conexión con cable siempre que nos sea posible debido a la velocidad y seguridad intrínsecas, existe una serie de pautas a seguir para hacer
nuestra red WiFi mas robusta y segura.
Comencemos introduciendo una serie de conceptos básicos en este tipo de redes:
PUNTO DE ACCESO: Conocido como AP (Access Point), es el dispositivo que interconecta terminales inalámbricos a la red de computadores conformando una red inalámbrica y a su vez el vínculo a la red cableada. Dicho AP puede estar conectado a otro nodo (switch, router, AP, etc) mediante cable o de manera inalámbrica, conformando en este caso un radioenlace.
MAC: También conocida como dirección física, la dirección MAC es un identificador único para cada dispositivo de red compuesto por 48 bits (se muestra en 6 bloques hexadecimales). Los primeros 24 bits determinan al fabricante y el resto lo configura el IEEE (Institute of Electrical and Electronics Engineers).
SSID (Service Set IDentifier):  Es el nombre que adopta la red WiFi y se compone de un código alfanumérico de 32 caracteres.
BSSID (Basic Service Set IDentifier): Se corresponde con la MAC de dicho AP.
A continuación continuaremos con algunos consejos a tener en cuenta para hacer mas segura nuestra red (aplicables tanto para dispositivos exclusivamente puntos de acceso como para los routers suministrados por nuestros proveedores de Internet).
1. Cambiar la contraseña por defecto para acceder al panel de control del AP/Router. Sería sencillo buscar en la red el modelo y su password por defecto. Cualquiera que acceda al panel de control podría dejar incomunicada la red.
2. Cambiar la SSID y la contraseña de acceso a nuestra red WiFi. En el pasado se ha conseguido liberar mediante ingeniería inversa algunos algoritmos que relacionaban nombre y password de algunos proveedores conocidos.
3. Ocultar nuestra red WiFi. Este método permitiría aislarnos de algunos curiosos con sencillas aplicaciones de crackeo pero no sirve de mucho con la mayoría de programas para auditar redes inalámbricas, lo cuáles nos muestras todas las redes del espectro, ocultas o no.
4. Podemos mapear una lista de direcciones MAC de modo que permitamos el acceso a los clientes que componen dicha lista (white list o lista blanca) o por el contrario, denegar el acceso a una serie de equipos (black list o lista negra). A esta técnica se le conoce como Filtrado de MAC, si bien es cierto que puede resultar tediosa en zonas donde los clientes cambian con frecuencia. Al igual que ocurría con la técnica de ocultación de la SSID, la del filtrado MAC no es una técnica del todo segura pues existen programas que nos permiten cambiar la MAC (accediendo previamente a la lista).
5. Podemos eliminar el servicio DHCP de modo que alguien que consiga la clave de la red WiFi se le impida la asignación de una IP para ello además, deberíamos cambiar el direccionamiento por defecto de modo que el cliente desconozca el rango de la red (casos típicos de 192.168.0.X y 192.168.1.X). Este método es bastante efectivo pero alguien con determinados conocimientos podría ‘esnifar’ la red para obtener una trama que le indique el rango IP.
6. La principal regla para securizar nuestra red WiFi es configurar el cifrado al máximo permitido, lo ideal es seleccionar WPA2 siempre que sea nos sea posible, en su defecto a WPA (en ocasiones las tarjetas de red de los clientes son viejas y no permiten este cifrado). Extraer las claves de una red con encriptación tipo WEP es relativamente sencillo. Desencriptar claves WPA requiere complicados ataques basados en diccionarios.
* Para este último punto y para el resto de pasos que así lo requieran, tenemos que elegir contraseñas robustas. Lo ideal es que contengan un mínimo de 8 caracteres compuestos por números, letras y símbolos permitidos (arrobas, barras, …) y que no se compongan de palabras fácilmente reconocibles en diccionarios. En esencia, los ataques a WPA/WPA2 se basan en diccionarios ‘fabricados’ por personas y siguiendo diferentes patrones (abecedario, ordenación de números, palabras conocidas,…). Un buen método es optar por palabras compuestas por ciertos números en la posición de las vocales (ej.: w1f1h0g@r).

7. Por último y no menos importante, recomiendo desactivar la función WPS de nuestro router (la mayoría de las veces viene activado de fábrica). Existe una vulnerabilidad que permite extraer la clave WPA del router sin necesidad de complicados diccionarios. WPS es un protocolo de comunicación que facilita la conexión de dispositivos a la red WiFi mediante la introducción de un PIN y Reaver es una aplicación que facilita el crackeo de dicha clave aprovechando dicha vulnerabilidad.


Seguridad básica para empresas

Son muchas las empresas expuestas a la pérdida o robo de datos sensibles. La recuperación de los mismos implica grandes quebraderos de cabeza y, en el peor de los casos, grandes pérdidas económicas.
Hace un tiempo Microsoft elaboró una guía interesante sobre seguridad básica para empresas. El contenido del documento se resume en los siguientes puntos:
1. Establecer políticas de seguridad.
    1.1. Elección de responsables y creación de directivas.
    1.2. Concienciar a empleados.

2. Proteger equipos.
    2.1. Adquirir antivirus y software anti-espía.
    2.2. Instalar actualizaciones del sistema operativo y resto programas.
    2.3. Configurar el firewall.
    2.4. Evitar spam.
    2.5. Utilizar software legal.
    2.6. Navegar de manera segura.

3. Proteger la red.
    3.1. Mantener política de contraseñas seguras.
    3.2. Proteger red WiFi.
    3.3. Configurar firewall de red.

4. Proteger los servidores.
    4.1. Cifrar conexiones mediante certificados.
    4.2. Mantener en lugares seguros.
    4.3. Crear usuarios con privilegios limitados.
    4.4. Conocer las opciones de seguridad.

5. Mantener los datos a salvo.
    5.1. Realizar copias de seguridad.
    5.2. Establecer permisos.
    5.3. Cifrar datos confidenciales.
    5.4. Utilizar Sistemas de Alimentación Ininterrumpida (SAIs).

6. Proteger aplicaciones y recursos.
    6.1. Instalar Directorio Activo.
    6.2. Instalar aplicaciones a traves del Directorio Activo.
    6.3. Prestar atención a las bases de datos.
    6.4. Cortafuegos de aplicaciones web.
    6.5. Auditorías técnicas.

7. Gestión de actualizaciones.
    7.1. Centralizar actualizaciones.
    7.2. Capar servicios al usuario.
    7.3. Supervisar errores y/o eventos.

8. Proteger los dispositivos móviles.

9. Protección de datos de carácter personal.
    9.1. Registro de ficheros.
    9.2. Cesión de datos a terceros.

El anterior resumen es el de una guía muy extensa sobre seguridad informática para empresas si bien existen ciertos premisas que todo negocio debería seguir independientemente de su tamaño:

1. Es de vital importancia realizar copias de seguridad automatizadas de nuestros datos, para ello existe una gran variedad de programas, algunos de ellos de Código Libre (Open Source).
2. Evitar la corrupción de nuestros datos por un repentino apagón o cualquier variación de corriente eléctrica mediante un SAI, sistema compuesto por una o mas baterías.
3. Evitar en la medida de lo posible versiones gratuitas de antivirus conocidos y descartar antivirus ‘parcheados’ o posibles cracks (un software parcheado o un crack de un programa puede esconder riesgos como troyanizar nuestro equipo).
4. Uno de los puntos mas importantes a tratar es actualizar al máximo cualquier tipo de software instalado en nuestro ordenador, evitando vulnerabilidades recientes. El uso de cracks puede infectar nuestro equipo por lo que recomiendo software legal. Una alternativa gratuita al software pirata es el Open Source (la mayoría de programas instalados en distribuciones linux son de este tipo, muchos de ellos disponibles en otras plataformas como Windows).
5. Evitar el uso habitual de una cuenta con privilegios de administrador. Lo ideal es usar una cuenta limitada para el uso diario.
6. Resulta indispensable disponer de un cortafuegos (firewall) y que esté activado y correctamente configurado. Los sistemas operativos implementan programas de este tipo, si bien existen programas mas robustos para tal fin e incluso la mayoría de software antivirus incorpora esta opción en su catálogo.
7. Realizar tareas de mantenimiento periódico en nuestros ordenadores de manera que lo mantengamos ‘en forma’, tareas tales como:
– Eliminar archivos innecesarios (temporales, cookies, etc).
– Reparar errores del registro de Windows.
– Ejecutar checkdisk.
– Defragmentar nuestro disco duro.
– Analizar posibles virus.
– Analizar posible malware/spyware.
– Limpieza del equipo.
– Mantenimiento del lugar (limpieza, temperatura, humedad, etc).

Recomiendo la lectura del blog Security In A Box. En la web explican paso a paso métodos y herramientas para mantener seguros nuestros equipos.

BackTrack Linux

BackTrack (basada en la actualidad en Ubuntu 10.04, Lucid Lynx) es una distribución GNU/Linux pensada para realizar auditorías de seguridad informática y en especial para la realización de Pentests.

Desde la web podemos descargar el LiveCD disponible en versiones de 32 y 64 bits, además podremos elegir que nuestra descarga incluya los escritores GNOME o KDE. Posteriormente, y una vez ejecutado, podemos optar por la instalación en nuestro equipo.

Descargar BackTrack Linux desde la web

Hay mucha información en la red acerca de BackTrack pero voy a hacer una mención especial a los fabulosos cursos de Héctor López, fundador de la Organización Mexicana de Hackers Éticos. En ellos se muestra paso a paso las diferentes funciones de BackTrack 5 con ejemplos de aplicación reales.

Cursos BackTrack 5 de la OMHE

Clasificaciones de Hacking Ético

 

Tipos de Hacking

Externo

En esencia, es un hackeo realizado desde Internet. Este tipo de hacking lo realizaremos sobre la infraestructura externa del cliente, es decir sobre los equipos del cliente expuestos a Internet (routers, firewalls, servidores externos, etc).

Interno

Este tipo de hackeo se realizará dentro de la red interna del cliente. Es aquí donde suelen flaquear los sistemas además, la mayor concentración de fuga de datos es culpa de ataques dentro de la propia red, en su mayoría empleados.

Modalidades Hacking

A la hora de realizar un test de penetración, ya sea interna o externamente,  con o sin objetivo, se distinguen 3 tipos según la forma de acceso a la red objetivo.

Test de Caja Negra / Black Hat Hacking
Este test es aplicable a pruebas de intrusión externas donde el cliente facilitaría al consultor 
 

El auditor no dispone de información alguna sobre el objetivo a auditar. Ha de recopilar tanta información como sea posible para comprometer el sistema. Simula un ataque real pero para el cliente puede suponer un aumento considerable en las horas a facturar por el consultor.

Test de Caja Gris / Grey Hat Hacking
En este tipo de test se simulan ataques reales pero conociendo de antemano gran parte de la información técnica.

Usualmente se trata de un test de intrusión interno si bien puede ocurrir que el cliente facilite determinada información sobre los equipos a auditar de manera externa. En el caso de realizarse de manera interna, el cliente proporcionaría al consultor un puesto en la red con información muy limitada (IP, Gateway, DNS, etc) ocultando siempre información sensible.

 
Test de Caja Blanca / White Hat Hacking
Aplicable únicamente a pruebas de intrusión internas. Se audita la red como un hacker de sombrero gris pero conociendo de antemano gran parte de la información (equipos, IPs, subredes, etc.), datos que nos permiten evitar la fase inicial de recogida de información y un considerable ahorra en horas empleadas.
 

Fases del Test de Penetración

En esencia, un test de intrusión o  Pentest se compone principalmente de 4 fases, si bien es cierto que las fases pueden tener modificaciones en cuanto al orden y contenido dependiendo del método utilizado. Las fases básicas del Pentest son:

1. Recopilación de información.
2. Busqueda de vulnerabilidades.
3. Explotación de vulnerabilidades.
4. Generación de informes y/o parcheo de los sistemas.

Metodologías de Hackeo Ético

Basándose en esas premisas, el proceso de hackeo ético ha de realizarse aplicando una metodología de trabajo para que el estudio se haga de manera lógica y ordenada. Se conocen varias técnicas siendo las siguientes Open Source las mas adoptadas:

– OSSTMM (Manual de Metodología Abierta de Evaluación de Seguridad).

– ISSAF (Marco de Evaluación de Seguridad de Sistemas de Información).
– OWASP (Proyecto de Seguridad de Aplicaciones Web Abiertas).

Existe un estándar muy interesante (actualmente en versión Beta) que recoge una serie de procedimientos para la realización de un Pentest denominado PTES (Penetration Testing Execution Standard).

Penetration Testing Execution Standard

Ethical Hacking

En su fabuloso libro, Carlos Tori  resume el proceso del Hacking Ético en 9 líneas:
1. La organización desea saber si sus sistemas son realmente seguros.
2. Selecciona y contrata un servicio profesional de ethical hacking.
3. Lo autoriza a realizar el trabajo mediante diversas pautas.
4. Planifican estratégicamente cómo se realizará y el alcance que tendrá.
5. El profesional, luego de llevar a cabo los análisis preliminares, realiza su tarea imitando al atacante real, pero sin comprometer dato alguno.
6. Luego, analiza los resultados del security assessment.
7. Confecciona un reporte detallado para que la organización lo evalúe.
8. Soluciona lo vulnerable o mitiga lo potencial para dejar el sistema más seguro. Se reafirma la defensa del sistema en general.
9. Se adoptan políticas de control y seguimiento (normativa).
El hacker ético responde pues a la figura del profesional encargado de encontrar las vulnerabilidades del sistema informático de una empresa mediante el test de intrusión, también conocido como pentest o network security assessment. Como bien detalla Carlos Tori en su libro, el hacker ético ha de cumplir un código de buena conducta básico:
– Hacer su trabajo de la mejor manera posible.
– Dar el mejor reporte.
– Acordar un precio justo.
– Respetar el secreto.
– No hablar mal ni inculpar a un administrador o equipo de programadores.
– No aceptar sobornos.
– No manipular o alterar resultados o análisis.
– Delegar tareas específicas en alguien más capacitado.
– No prometer algo imposible de cumplir.
– Ser responsable en su rol y función.
– Manejar los recursos de modo eficiente.