sábado, 29 de marzo de 2008

Trabajo Holy Week

Bueno, pues en estas vacaciones, nuestro querido profesor se ha acordado de nosotros, para no dejarnos descansacof cof...... digooo, para avanzar en nuestros conocimientos.


Características del PC
Bien, lo primero que debemos hacer es poner las características de nuestro PC. Para obtener toda la información sin complicarse la vida, recomiendo utilizar uno de los muchos programas que sirven para ello. Yo recomiendo EVEREST, os lo podéis desde aquí. A continuación os dejo unas capturas para que veáis las características del mio, (que aunque es un poco patata, espero que me dure muchos años , por lo menos hasta que me toque la lotería, o tenga un buen sueldo XD).


Para la forma manual de comprobarlo (y así te evitas de instalar nada):
Click derecho sobre Mi PC>Propiedades>Hardware>Administrador de Dispositivos

Velocidad de Conexión
Seguimos..... Otra de las tareas a realizar es obtener la velocidad de nuestra conexión, para ello recomiendo el siguiente enlace, que nos realiza un test de velocidad . Os dejo captura del resultado del test en mi conexión de ONO.
Para los que seáis de la zona sudamericana os vendrá mejor realizar este test de velocidad (por la cercanía del servidor).

Configurar Conexión

Otra parte del trabajo, es comentar cómo se configura exactamente en Windows y en Linux para salir a Internet.

En mi caso particular cuento con un cable módem Motorola SB5101, la única "dificultad" que tiene , al tratarse de un módem plug&play, es meter el CD con los drivers al conectar el módem al PC, por el resto, no hay que configurar nada, y obtenemos la conexión a Internet directamente. Todo esto siempre para un sistema Windows XP, para un sistema Linux debo esperar a hacer pruebas porque de momento, me cargue el sistema de arranque y no consigo arreglarlo.


Comandos ifconfig y netsh

Otro apartado del maravilloso trabajo ^_^u, es crear un script para Windows mediente netsh y otro para linux mediante ifconfig, con los que configuraremos la conexión y los cuales se tienen que ejecutar al arrancar el sistema.

Antes de hacer las pruebas os recomiendo que hagáis un backup de vuestra configuración de red por si las moscas, para ello, vais a (en windows )

inicio>ejecutar>cmd, y en la linea de comandos escribís:
"C:\netsh dump > C:\MiRed.cmp" .

Y para restaurar la copia

"C:\netsh exec C:\ConfigRed.cmp" ;
netsh
Para realizar la parte de windows, lo primero sera crear un archivo bat con un documento de texto (creamos un .txt y le cambiamos la extensión a .bat) y pasamos a editarlo.

En mi caso como tengo la configuración de IP automática habria que editar el bat con el siguiente texto :

netsh interface ip set address "Nombre de la conexión" source=dhcp ;
netsh interface ip set dns "Nombre de la conexión" source=dhcp ;

En caso de que se quiera la configuración para una Ip estática, el archivo bat habría que editarlo con el siguiente texto:

netsh interface ip set address "Nombre de la conexión" source=STATIC "dirección Ip" "Mascara de subred" "Puerta de enlace" ;
netsh interface ip set dns "
Nombre de la conexión" source=STATIC "dirección servidor DNS" ;

Una vez tengamos creado el bat, para conseguir que se ejecute en el arranque del sistema haremos lo siguiente :

Vamos a inicio>ejecutar y tecleamos regedit. Una vez aquí pincha sobre Hkey_local_machine> Software>Microsft>Windows>CurrentVersion>Run.
Una vez aquí click derecho con el ratón sobre la carpeta>nuevo>Valor de cadena múltiple y en la caja de texto escribimos la ruta completa donde tengamos guardado nuestro bat.


ifconfig
Para que se configure la conexión en Linux debemos crear un archivo de extensión .sh con el siguiente esquema.
#!/bin/sh
sudo ifconfig eth0 "dirección IP" netmask "mascara de red" up

  • Sudo= para poder ejecutarlo en modo administrador
  • ethX= en Linux a nuestros adaptadores de red se les va asignando nombres como eth0,1,2,3 etc, si solo tenemos uno generalmente será eth0.
  • up = activar la conexión
Si queremos ejecutarlo directamente (una vez entrado en funcionamiento el pc y está con conexión), en el scrip deberemos despues de la 1 linea el código:
sudo ifconfig eth0 down
sudo ifconfig eth0 "dirección IP" netmask "mascara de red" up
  • dow=desactivar conexión
Y si lo vas a configurar con otro tipo de red (A,B,C,D,E), y no queremos desaprovechar los recursos de red (por provocar un trafico excedente), añadir el siguiente código al script, a partir de la 1ª linea:
sudo ifconfig eth0 "dirección IP" netmask "mascara de red" broadcast "dirección broadcast" up


Una vez terminado el script, debemos darle los permisos necesarios para que podamos ejecutarlo sin problemas, mediante Chmod 755. Para que Linux lo ejecute en el arranque deberemos ubicar el fichero sh en /etc/init.d
Os dejo un enlace a un pdf en el que podeís encontrar más información sobre el ifconfig.


TokBox
Otra parte del "Holy Week", es instalar en nuestro PC un programa que nos permita realizar Video-Chats, Video-Mails y Video-Conferencias para Tutorías Virtuales. Para ello hemos seleccionado el programa TOKBOX . Para disfrutar de estos servicios , aparte de contar con webcam y micrófonos, deberemos realizar un proceso (muy sencillo) de registro. Tras ello se nos dará la bienvenida al mundillo con (como no) un vídeo una chiquilla que no pinta mal. Os he dejado la utilidad al final del Blog.


Bien pues tras esto debemos formar un grupo de 3 o 4 personas y realizar una video-chat piloto, para ver cómo funcionan. Esto y otras cosas cómo realizar un script que configure la conexión a Internet en el arranque en los sistemas windows y linux las iré publicando más adelante.


jueves, 13 de marzo de 2008

Clase 8

Hoy en clase hemos visto los protocolos ARP y ARPSPOOFING (tecnica implementada para sniffear la red), los HUB, Switches y Routers.


Para la parte práctica, debemos obtener nuestra dirección IP, la dirección MAC, ademas la dirección Ip y la MAC de algún compañero (ojo, si intentamos obtener los datos de alguien que esta fuera de nuestra subred, obtendremos los datos del Router).
Para ello, nos vamos a la consola de comandos (Inicio>ejecutar>CMD).
Para obtener nuestros datos introducimos el siguiente comando :
ipconfig /all


Una vez hecho esto, debemos establecer la comunicación con el PC de nuestro compañero, lo conseguimos realizando un ping a su dirección.


Ahora que hemos establecido la dirección. Podemos obtener sus datos con el comando ARP -a:

  1. ARP
  2. ARP
  3. Protocolo ARP
  4. Documento sobre ARP y RARP
  5. Principios Básicos del ARP Spoofing
  6. ARP Spoofing

Se que la información es algo escasa, pero estaba bastante cansado, os dejo unos enlaces interesantes.

lunes, 10 de marzo de 2008

Clase 7

Buenos días por la mañana. Hoy hemos comenzado otra clase y en la parte teórica que hemos tratado el tema de la tecnología y tramas Ethernet.


Formato de la trama:

8 Bytes
6 Bytes
6 Bytes
2 Bytes
64-1500 Bytes
4 Bytes
Preámbulo
Dirección Física Origen
Dirección Física Destino
Tipo de Trama
Datos de la Trama
CRC

Os dejo el enlace a un documento que trata sobre la tecnología ethernet.

También se ha visto el tema del CSMA/CD (acceso múltiple con escucha de portadora y detección de colisiones): Un protocolo que establece las formas de conexión y trasmisión en el medio. Con esta imagen se puede observar el funcionamiento lógico del mismo


En este enlace de la wikipedia, vemos tipos CSMA/CD y su funcionamiento.

Tras la lectura y compresión del tema hemos realizado el test correspondiente al tema en la epsovirtual, con 20 preguntas algo variadas (Esta vez ha ido un poco peor que la anterior ya que de las 20 he acertado solo 15 :P ).

Para la parte práctica, se nos ha pedido que capturemos tramas de Internet y comentemos los datos que obtenemos de ellas (todo esto, siempre relacionado con el tema que toca, véase, Ethernet ). Podéis ver los resultados de todos los compañeros en los comentarios del post en el blog del profesor.

Bueno, pues para realizar esta tarea, me he decantado por el programa CommView ya que es fácil de usar y tiene una interfaz gráfica sencilla y comprensible. Con CommView podemos monitorear la actividad de red, capturar y analizar los paquetes de la red (entre otras opciones).

A continuación os dejo unas capturas (EDIT: he comprobado que hay problemas con las siguientes imágenes, intentare corregirlo lo antes posible) en las que podemos observar, el protocolo que han usado para la transmisión, la dirección MAC origen, la dirección MAC destino, la IP Origen, la IP destino, el puerto que han usado en el origen y el puerto que se ha usado en el destino, así como el momento en el que se hizo la transmisión

En esta otra captura, vemos la ip local que se utiliza, la ip remota, la dirección de la transmisión, la cantidad de bytes etc.
También os dejo otras capturas que realizado de pantallas que he visto interesantes:


Aquí os dejo una serie de enlaces de interés:
  • Aquí os dejo un enlace para descargaros el programa CommView con el que podéis hacer las pruebas.
  • Enlace para una Guia del CommView (es para la versión wi-fi, pero a excepción de algunas opciones todo es igual).
  • Otra guía , pero esta vez de una versión mas antigua.

jueves, 6 de marzo de 2008

Clase 6

Hola redmaniacos, con la clase de hoy nos introducimos en el mundo de los protocolos TCP/IP.

En lo primero que nos fijamos es que, a diferencia del nivel OSI, la arquitectura del TCP/IP, está dividida solo en 5 niveles, que os muestro a continuación :

Esta arquitectura esta basada en protocolos de Enlace (Ethernet, ARP, RARP...), de Red (IP, ICMP...),Transporte (TCP,UDP), Aplicación (http, DNS, Telnet, ftp....) que explicaremos en próximas clases.

Como siempre, recomiendo visitar la página de la asignatura para revisar la información necesaria. A continuación os dejo otros enlaces que tratan este tema, que me han parecido de interés : Protocolo TCP/IP

Familias de Protocolos

Protocolos TCP/IP

A continuación, pasamos a analizar la clase (que el profesor se queja de que no comentamos nada) :
Tras la breve y rápida explicación del profesor sobre el tema del TCP/IP y la MAC, nos pusimos manos a la obra con un test que trata dicho tema desde la epsovirtual, y (OMG!!), o yo no me había enterado de lo que dijo el profesor, o de lo que explicó no podía obtener ninguna respuesta al test. Por lo que me puse a repasar el material de web, y tras obtener menos respuestas de las que desearía, me dije "no problem, google es mi amigo". Por lo que junto a la información del material de la web, mi amigo google y algo de suerte, salimos airosos una vez más en los test.
Con lo que saco en conclusión que en la clase de hoy, me ha dado mucha sensación (cuando he tenido que buscar la información en el material) de que estaba todo muy espeso, y menos didáctico que en otras fuentes, y sumado a que se ha explicado todo muy rápidamente (y a mi parecer escaso). Si hubiera tenido que hacer el test o un examen en ese momento sin ayuda externa (otra documentación, y compañeros), apenas habría podido responder.

PD: esperemos que esta crítica constructiva no lleve a malas consecuencias.

Para la parte práctica de la clase, hemos proporcionado un mail de contacto y nos hemos iniciado en la herramienta Google Analytics que nos sirve para llevar un control de las visitas, así como estadísticas y más añadidos. Yo al tener estas funciones implementadas anteriormente con otras herramientas me he ahorrado ese proceso.

Y hasta aquí el pescado vendido.

lunes, 3 de marzo de 2008

Clase 5

Seguridad en 802.11

Hola a todos, seguimos avanzando.

Bueno pues para hoy, hemos empezado a utilizar el Google Docs, para publicar en el blog y compartir documentos con otros usuarios, y además se nos ha encargado realizar una serie de trabajos. Como habréis adivinado por el título , a mi me ha tocado el tema de la seguridad en 802.11 (para los menos entendidos, seguridad en las redes inalámbricas/Wi-Fi), que abarca los niveles de Enlace y Físico del modelo OSI.

Os voy a dejar, con un pequeño adelanto (en el tiempo que nos quede de clase), de lo que se verá en el trabajo.

Bien, pues para empezar, comentaros que este estándar (protocolo referente en todas sus variantes a las redes Wi-Fi) ha ido utilizando a lo largo de su existencia varios tipos de protección y seguridad, con más y con menos acierto. Pasamos a comentar breve mente alguno de ellos.

WEP (Wired Equivalent Privacy/Privacidad equivalente al cableado):"Intento" de conseguir una similitud de la privacidad de los sistemas cableados, el cual proporciona un cifrado en nivel 2 de los datos. Está basado en los algoritmos RC4 y CRC. Debido a su comprobada baja fiabilidad en el tema de la seguridad en la capa de enlace, se implemento el TKIP (Temporal Key Integrity Protocol), o lo que vulgarmente podríamos llamar una especie de parche, ya que sólo se hizo modificaciones a modo de soft y firmwares, sin tocar nada del hard (debido a las prisas por tapar los agujeros en seguridad). Pese a su vulnerabilidad aun hay quien sigue usándolo.

WPA (Wi-Fi Protected Access/Acceso Protegido Wi-Fi): Diseñado para usarse en servidores de autentificación IEE 802.11X, que distribuye claves diferentes para cada usuario (también puede optar por darle a cada usuario la misma clave, consiguiendo una menor seguridad), se implementa en la mayoría de los estándares 802.11i (WPA2) aunque no incluye todas las características de este estándar. Creado por la Wi-fi Alliance, que son dueños de la marca Wi-Fi. Con este sistema se consigue que quebrar la seguridad en las redes LAN sea más difícil que con el anterior método (WEP y su mejora TKIP).

WPA2 (Wi-Fi Protected Access 2/Acceso Protegido Wi-Fi 2): Mejora del WPA, basado en el estándar 802.11i. Este método se define y ratifica en el 2004, e incorpora el algoritmo de encriptación AES (encriptación avanzada).

Y estos son algunos de los sistemas de seguridad en redes inalámbricas. En la entrega del trabajo, desarrollaremos más profundamente los distintos métodos de seguridad. Y para la parte práctica, intentaremos comprobar la seguridad de dichas redes, usando como conejillo de indias a algún vecino distraído. Estad atentos ;) .

PD: Aquí os dejo algunos enlaces interesantes relacionados con los temas que he comentado :

Wi-Fi Planet. Página dedicada al mundo Wi-Fi (Noticias, Tutoriales, mercado, foro. En inglés)

182.11. Enlace a la wikipedia en la que encontraremos un poco de historia referente al estándar 182.11X, las distintas ramas, etc.

WPA/WPA2. Enlace en el que vemos un poco de historia sobre sistemas WPA y WPA2, así como un repaso de su evolución.


Bien, una vez tenemos los breves conceptos seguimos añadiendo información (parte practica, lease, saltarse la "seguridad" de estos protocolos).

WEP

Desde el 2004 con la aparición de los ataques KoreK (ataques generalizados FMS, que incluían optimizaciones de h1kari), y el ataque inductivo invertido Ar­baugh, permitiendo que paquetes arbitrarios fueran desencriptados sin necesidad de conocer la clave utilizando la inyección de paquetes. Las herramientas de cracking, co­mo Aircrack o WepLab, ponen en práctica estos ataques y pueden extraer una clave WEP de 128-bits en menos de 10 minutos (o algo más, dependiendo del punto de acceso y la tarjeta wireless es­pecíficos).

La incorporación de la inyección de paquetes mejoró sustancialmen­te los tiempos de crackeo de WEP, requiriendo tan sólo miles, en lugar de millones, de paquetes con sufi­cientes IVs únicos – alrededor de 150,000 para una clave WEP de 64-bits y 500,000 para una clave 1128-bits.

Con la inyección de paquetes, obtener los datos necesarios es cuestión minutos. En la actualidad, WEP está definitivamente muerto y no debería ser utilizado, ni siquiera con rotación de claves
Cronología de la muerte WEP

Los fallos de seguridad de WEP podemos resumirlos con:
  • Debilidades del algoritmo RC4 dentro del protocolo WEP debido a la construcción de la clave.
  • Los IVs son demasiado cortos (24 bits – hacen falta menos de 5000 paquetes para tener un 50% de posibilidades de dar con la clave) y se permite la reutilización de IV (no hay protección contra la repetición de mensajes).
  • No existe una comprobación de integridad apropiada (se utiliza CRC32 para la detección de errores y no es criptográficamente
    seguro por su linealidad).
  • No existe un método integrado de actualización de las claves.
Crackeo de la clave WEP con Aircrak
Aircrack contiene tres utilidades principales, que se usan en las tres fases del ataque para recuperar la clave:
  • Airodump: herramienta de sniffing utilizada para descubrir las redes que tienen activado WEP.
  • Aireplay: herramienta de inyección para incrementar el tráfico.
  • Aircrack: crackeador de claves WEP que utiliza los IVs únicos recogidos.

El Aireplay sólo so­porta la inyección en algunos chip­sets wireless, y el soporte para la inyección en modo monitor necesita los últimos drivers parcheados. El modo monitor es el equivalente del modo promiscuo en las redes de cable, que previene el rechazo de paquetes no destinados al host de monitorización , permitiendo que todos los paquetes sean capturados. Con los drivers parcheados, sólo se necesita una tarjeta wireless para capturar e inyectar tráfico simultá­neamente.

El objetivo principal del ataque es generar tráfico para capturar IVs únicos utilizados entre el cliente le­gítimo y el punto de acceso. Algunos datos encriptados se pueden reconocer fácilmente porque tienen un tamaño fijo, una dirección de destino fija, etc. Esto sucede con los paquetes de petición ARP (véase Recuadro ARP-Request), que son enviadas a la dirección broadcast (FF:FF:FF:FF:FF:FF) y tienen una longitud fija de 68 octetos. Las peticiones ARP pueden ser repetidas para generar nuevas respuestas ARP desde un host legítimo, haciendo que los men­sajes wireless sean encriptados con nuevos IVs.

El primer paso, es la activación del modo monitor en nuestra tarjeta wireless, así que podemos capturar todo el tráfico. Después tendremos que descubrir las redes cercanas y sus clientes, escaneando los 14 canales que utilizan las redes Wi-Fi.
Una vez hayamos localizado la red objetivo, deberíamos empezar a capturar en el canal correcto para evitar la pérdida de paquetes mientras escaneamos otros canales.
Después, podremos usar la información recogida para inyectar tráfico utilizando aireplay. La inyección empezará cuando una petición ARP capturada, asociada con el BSSID objetivo aparezca en la red inalámbrica. Finalmente, utilizamos aircrack para recuperar la clave WEP. Utilizando el fichero pcap podemos lanzar este paso final mientras airodump sigue capturando datos.

Debilidades de WPA/WPA2

Aunque hay varias debilidades en WPA/WPA2 desde su lanzamiento, ninguna de ellas es peligrosa si se siguen unas mínimas recomendaciones de seguridad.

La vulnerabilidad más práctica es el ataque contra la clave PSK de WPA/WPA2. La PSK proporciona una alternativa a la generación de 802.1X PMK usando un servidor de autenticación. Es una cadena de 256 bits o una frase de 8 a 63 caracteres, usada para generar una cadena utilizando un algoritmo conocido:

PSK = PMK = PBKDF2(frase, SSID, SSID length, 4096, 256)
donde PBKDF2 es un método utilizado en PKCS#5, 4096 es el número de hashes y 256 la longitud del resultado. La PTK es derivada de la PMK utilizando el 4-Way Handshake y toda la información utilizada para calcular su valor se transmite en formato de texto.

La fuerza de PTK radica en el valor de PMK, que para PSK conlleva la solidez de la frase. El segundo mensaje del 4-Way Handshake podría verse sometido a ataques de diccionario o ataques offline de fuerza bruta.

La utilidad cowpatty se creó para aprovechar este error, y su código fuente fue usado y mejorado por Christopher Devine en Aircrack para permitir este tipo de ataques sobre WPA.
El diseño del protocolo (4096 para cada intento de frase) significa que el método de la fuerza bruta es muy lento (unos centenares de frases por segundo con el último procesador
simple).

La PMK no puede ser pre-calculada (y guardada en tablas) porque la frase de acceso está codificada adicionalmente según la ESSID. Una buena frase que no esté en un diccionario (de unos 20 caracteres) debe ser escogida para protegerse eficazmente de esta debilidad.
Para hacer este ataque, debemos capturar los mensajes de 4-Way Handshake monitorizando pasivamente la red inalámbrica o utilizar el ataque de desautenticación para acelerar el proceso.


Ejemplo Práctico

  1. Activamos el modo monitor
    #airmon.sh ath0
  2. Descubrimos las redes cercanas y los clientes que están asociados a esas redes.
    #airodump ath0 wpa -crk 0
    BSSID PWR Beacons #Data CH MB ENC ESSID
    00:13:10:1E:8A:62 46 112 16 1 48 WPA
    BSSID STATION PWR Packets ESSID
    00:12:10:1E:8A:62 00:0C:F1:19:88:2D 32 1

    Esto lo podemos interpretar de manera que se ha encontrado un punto de acceso BSSID: 00:12:10:1E:8A:62 usando encriptación WPA en el canal 1 y un cliente que tiene la MAC: 00:0C:E1:19:88:2D que estan asociados y autentificados en esta red inalámbrica.
  3. Debemos lanzar la captura de paquetes al canal apropiado para así evitar la perdida de paquetes mientras escaneamos otros canales
    #airodump ath0 wpapsk 1
  4. Tenemos que deautentificar a los clientes obligándoles a hacer un nuevo proceso de autentificación , para que así podamos capturar los mensajes de 4-WayHandShake. en esta parte usaremos Aireplay para deautentificar al cliente que queramso proporcionando la BSSID que habiamos conseguido y enviándole una petición de deautentificación falsa.
    #aireplay -0 1 -a
    -c ath0
  5. Realizaremos un ataque de diccionario usando Aircrack (en poco tiempo habremos obtenido la clave).
Os dejo un enlace muy interesante con info de las utilidades usadas y ayuda para la hora de usar redes inalámbricas y pasos detallados para realizar estos "saltos" en la seguridad.


sábado, 1 de marzo de 2008

Y seguimos con las novedades...

Pues como ya os comenté cuando empecé con el blog, a lo largo de la vida de éste, irá sufriendo diversos cambios y novedades.

Una de estas novedades ha sido la nueva incorporación de web stats, en la que podremos visualizar el contador de visitas del blog, y en el cuál además podremos comprobar desde donde se hacen las conexiones, entre otras cosas.

Espero que os gusten las mejoras que se irán ofreciendo poco a poco.
Nos vemos en próximas entradas.

--- Actualizado: En la clase 6, se nos ha recomendado utilizar el Google Analytics que realiza las mismas funciones que había incorporado ya anteriormente, por lo que trabajo que me he ahorrado.