TAREA 1:
Capturando tráfico con Wireshark
Capturando tráfico con Wireshark
En esta nueva unidad, usaremos técnicas más avanzadas y trataremos de obtener información a partir de capturas de trafico de Internet. Esta tarea constará de tres partes en las que analizaremos diferentes protocolos: telnet, SSL y SSH.
Primera parte: Analizando un protocolo inseguro (TELNET)
La herramienta que utilizaremos para obtener y analizar el tráfico de Internet será Wireshark. Este programa es un analizador de protocolos muy popular (sniffer) pero no trataremos capturas en vivo del trafico, sino que descargaremos una captura (traza) realizada con anterioridad y guardadas en un archivo. Este archivo (telnet-raw.pcap) esta en el repositorio oficial de trazas de Wireshark.
Primera parte: Analizando un protocolo inseguro (TELNET)
La herramienta que utilizaremos para obtener y analizar el tráfico de Internet será Wireshark. Este programa es un analizador de protocolos muy popular (sniffer) pero no trataremos capturas en vivo del trafico, sino que descargaremos una captura (traza) realizada con anterioridad y guardadas en un archivo. Este archivo (telnet-raw.pcap) esta en el repositorio oficial de trazas de Wireshark.
| Tráfico capturado en Wireshark. |
Esta traza contiene el tráfico capturado en una sesión de Telnet entre cliente y servidor. Al hacer doble click al archivo descargado, nos abrirá directamente Wireshark y filtrando el tráfico, observaremos mejor los datos que tenemos.
Pulsando a cualquiera con el click derecho, nos saldrán unas opciones y ahí tendremos que pulsar en "Follow TCP Stream", abriéndose una ventana nueva. En esta ventana, tendremos mucha información interesante como el usuario y contraseña, sistema operativo o los comandos que se han ejecutado.
| Resultado al pulsar "Follow TCP Stream". |
De esta manera, podemos observar que el usuario es "fake" y la contraseña, en cambio, "user" (de color rojo lo que el usuario escribe y en azul, lo que muestra la pantalla). Del mismo modo, podemos observar que el sistema operativo que usa es OpenBSD en su versión 2.6-beta y que se ejecutan estos comandos: ls, ls -a, ping y exit (no se aprecia en la imagen).
Segunda parte: Analizando SSL
En esta segunda parte, vamos a analizar con Wireshark otra captura de su repositorio pero en este caso, de SSL. Este protocolo es seguro y usa certificados X.509 para poder asegurar la conexión.
Haciendo doble click a la captura, abriremos Wireshark donde podemos observar donde se envía el certificado:
En esta trama, el certificado se envía al servidor en el paquete tres a través del Client Key Exchange.
Si miramos en el segundo paquete, podremos ver la información del certificado:
En esta segunda parte, vamos a analizar con Wireshark otra captura de su repositorio pero en este caso, de SSL. Este protocolo es seguro y usa certificados X.509 para poder asegurar la conexión.
Haciendo doble click a la captura, abriremos Wireshark donde podemos observar donde se envía el certificado:
| Envío del certificado mediante Client Key Exchange. |
En esta trama, el certificado se envía al servidor en el paquete tres a través del Client Key Exchange.
Si miramos en el segundo paquete, podremos ver la información del certificado:
De esta manera, podemos ver que el autor del certificado es Verisign. Y si miramos más, podemos ver también el país o la organización. Por lo tanto, el paquete estaría cifrado pero la información del certificado seria visible.
Con el certificado, nos aseguramos que el servidor es quien dice ser, ya que lo avala una entidad certificadora. En este caso, la entidad o autoridad certificadora es Verisign, que avala la identidad del servidor, Microsoft.
Tercera parte: Analizando SSH
En la primera parte hemos visto un protocolo inseguro como Telnet, así que ahora veremos una alternativa más segura para conectarnos remotamente a otras maquinas. Este protocolo, SSH, realiza una negociación previa al intercambio de datos entre las maquinas, para que luego toda la información pueda ir cifrada. Descargamos la captura (aqui) y la abrimos con Wireshark:
Analizando la captura, podemos observar varias cosas como que el primer paquete cifrado está en la posición número 20. Pero antes, tenemos varias cosas para analizar. Por ejemplo, entre el cliente y servidor (9 y 10) tenemos la negociación de la que hablábamos antes, mediante Key Exchange Init. Esta negociación continua con más intercambios entre el cliente y servidor, mediante Diffie-Hellman Group Exchange. Por último, el cliente manda un mensaje New Keys para confirmar que esta preparado para intercambiar datos cifrados.
Pero no todos los paquetes van cifrados, solo los que usan el protocolo SSHv2 van cifradas, otros protocolos como el TCP, en cambio, no.
Aun así, no es posible ver el usuario y la contraseña porque esos datos viajan a través del túnel seguro creado por SSH.
Con el certificado, nos aseguramos que el servidor es quien dice ser, ya que lo avala una entidad certificadora. En este caso, la entidad o autoridad certificadora es Verisign, que avala la identidad del servidor, Microsoft.
Tercera parte: Analizando SSH
En la primera parte hemos visto un protocolo inseguro como Telnet, así que ahora veremos una alternativa más segura para conectarnos remotamente a otras maquinas. Este protocolo, SSH, realiza una negociación previa al intercambio de datos entre las maquinas, para que luego toda la información pueda ir cifrada. Descargamos la captura (aqui) y la abrimos con Wireshark:
| Captura de Wireshark entre cliente y servidor mediante SSH. |
Analizando la captura, podemos observar varias cosas como que el primer paquete cifrado está en la posición número 20. Pero antes, tenemos varias cosas para analizar. Por ejemplo, entre el cliente y servidor (9 y 10) tenemos la negociación de la que hablábamos antes, mediante Key Exchange Init. Esta negociación continua con más intercambios entre el cliente y servidor, mediante Diffie-Hellman Group Exchange. Por último, el cliente manda un mensaje New Keys para confirmar que esta preparado para intercambiar datos cifrados.
Pero no todos los paquetes van cifrados, solo los que usan el protocolo SSHv2 van cifradas, otros protocolos como el TCP, en cambio, no.
Aun así, no es posible ver el usuario y la contraseña porque esos datos viajan a través del túnel seguro creado por SSH.
No hay comentarios:
Publicar un comentario