Ejercicios de Seguridad en Redes 
Escucha y análisis de tráfico + Escaneo de puertos

SSI 2021/22


Índice General

1 Entorno de pruebas

1.1 Software de virtualización VIRTUALBOX

En estas prácticas se empleará el software de virtualización VIRTUALBOX para simular los equipos GNU/Linux sobre los que se realizarán las pruebas.

1.2 Imágenes a utilizar

  1. Scripts de instalación

    Notas:

  2. Imágenes descargadas

  3. Usuarios configurados e inicio en el sistema

2 Intercepción de mensajes y escaneo de puertos

2.1 Descripción

El ejercicio consta de dos partes.

2.2 Desarrollo

Red donde se realizarán los ejercicios:

Image scanner

Servicios arrancados por defecto en todas las máquinas

2.3 Ejercicio 1

El primer ejercicio consistirá en el uso de la herramienta WIRESHARK desde el equipo observador para interceptar el tráfico TELNET, HTTP y SSH entre los equipos interno1 e interno2.

WIRESHARK es un sniffer y analizador de protocolos que recopila los paquetes que fluyen por la red, los analiza, extrae el contenido de los campos de diferentes protocolos y los presenta al usuario.

2.3.1 Tareas 1. Escucha del protocolo TELNET

  1. En observador (192.168.100.33): iniciar WIRESHARK

  2. En observador (192.168.100.33): iniciar la escucha de la red.

  3. En interno1 (192.168.100.11): iniciar una conexión TELNET con interno2 (192.168.100.22)
    interno1:~# telnet 192.168.100.22
    Trying 192.168.100.22...
    Connected to interno2.
    Escape character is '^]'.
    
    Linux 2.6.26-1-686 (192.168.100.22) (pts/18)
    
    alqueidon login: usuario
    Password: usuario
    ...
    interno2:~$ ls -l
    ...
    interno2:~$ exit
    

  4. En observador (192.168.100.33): analizar el tráfico recopilado

2.3.2 Tarea 2. Escucha del protocolo SSH

2.3.3 Tarea 3. Escucha del protocolo HTTP

2.3.4 Tarea 4. Escucha del protocolo HTTPS

PREVIO: Habilitar el soporte SSL en el servidor Apache2 de interno2 (192.168.100.22) comprobar que sucede cuando se ”escucha” una conexión SSL/TLS.

En el equipo interno2 (192.168.100.22):

  1. Crear un certificado autofirmado para el servidor web.
    interno2:~# mkdir /etc/apache2/ssl/
    interno2:~# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
    

    El fichero generado (/etc/apache2/ssl/apache.pem) contiene tanto el certificado del servidor como la clave privada asociada al mismo.

    interno2:~# cat /etc/apache2/ssl/apache.pem
    interno2:~# openssl x509 -text -in /etc/apache2/ssl/apache.pem
    interno2:~# openssl rsa -text -in /etc/apache2/ssl/apache.pem
    

    Nota: make-ssl-cert es una utilidad de Debian (incluida en el paquete DEB ssl-cert) para generar certificados autofirmados para pruebas (los datos de configuración del certificado a generar se indican en /usr/share/ssl-cert/ssleay.cnf). Internamente hace uso de las utilidades de la librería openSSL.

    Nota: En un servidor real se suele utilizar un certificado emitido por una autoridad de certificación (CA) reconocida (o bien una CA pública o una CA propia de la organización). No es recomendable utilizar certificados autofirmados en sistemas en producción ya que son fácilmente falsificables.

  2. Editar la configuración SSL por defecto para indicar el certificado del servidor y su respectiva clave privada.
    interno2:~# nano /etc/apache2/sites-available/default-ssl.conf
    
    Asignar los siguientes valores a los parámetros (en caso de que estén comentados descomentarlos)
    ...
    SSLEngine on
    ...
    SSLCertificateFile /etc/apache2/ssl/apache.pem
    SSLCertificateKeyFile /etc/apache2/ssl/apache.pem
    ...
    
    Asegurar que el fichero /etc/apache2/ports.conf incluya el valor Listen 443

  3. Habilitar soporte SSL en Apache2 y habilitar la configuracion SSL por defecto
    interno2:~# a2enmod ssl
    interno2:~# a2ensite default-ssl 
    interno2:~# service apache2 restart
    

    Nota:

PASOS:

2.4 Ejercicio 2

El segundo ejercicio consistirá en el uso de la herramienta de escaneo de puertos NMAP para obtener información de los equipos y servicios de la red.

NMAP implementa diversas técnicas para extraer información de los equipos que forman parte de una red y para identificar los puertos y servicios que están disponibles en distintas máquinas. Algunos de los métodos disponibles realizan el escaneo sin dejar rastro, mientras que otros dejarán un rastro en los ficheros de log de las máquinas analizadas.

2.4.1 Pasos:

  1. Enumerar equipos de la red y sus servicios

    Desde la máquina observador (192.168.100.33):

    1. Lanzar un escaneado Ping Sweeping [opción -sP] para identificar, mediante Ping, las máquinas que componen la red
        observador:~# nmap -sP 192.168.100.0/24
      

    2. Sobre cada uno de los equipos que aparezcan como activos (exluido observador) realizar un escaneo de tipo TCP connect scanning [opción -sT] para determinar que puertos están abiertos.
        observador:~# nmap -sT -v 192.168.100.11
        observador:~# nmap -sT -v 192.168.100.22
      

    3. Repetir el escaneado sobre INTERNO1(192.168.100.11), añadiendo la opción -O para que NMAP trate de identificar el Sistema Operativo que ejecuta y la opción -sV para determinar la versión concreta de los servicios que tiene activados.
        observador:~# nmap -sT -O -sV 192.168.100.11   (tarda unos segundos)
      

    Los escaneados anteriores dejan rastro. Comprobar los ficheros de log /var/log/syslog, /var/log/daemon.log o logs específicos de servidores en las máquinas interno1 e interno2 y verificar que ha quedado constancia de las conexiones realizadas por NMAP.

    interno1:~# tail -100 /var/log/syslog | less
    
    Nota: El rastro del escaneo de tipo -sT que queda en /var/log/syslog fue guardado por los servidores in.fingerd, inetd, telnetd, ftpd, dovecot, postfix/smtpd en el momento en que se completó el establecimiento de la conexión TCP (negociación SYV,SYN-ACK,ACK).

  2. Comprobar escaneos ”silenciosos”

    Evaluaremos el comportamiento de los distintos tipos de escaneo sobre la máquina interno1(192.168.100.11)

    1. En la máquina INTERNO1(192.168.100.11) se habilitará una regla del firewall netfilter para hacer log de los paquetes SYN con intentos de conexión TCP.
      • Escribir el siguiente comando iptables
        interno1:~# iptables -A INPUT -i enp0s3 -p tcp \
                             --tcp-flags SYN SYN -m state --state NEW \
                             -j LOG --log-prefix "Inicio conex:"
        
        Nota: Esta regla iptables captura los mensajes TCP de inicio de conexión (flag syn a 1) y crea una entrada en el log del sistema etiquetada con Inicio conex:

      • Monitorizar continuamente el fichero de log /var/log/syslog, con el comando tail -f
        interno1:~# tail -f /var/log/syslog
        
        (el terminal se libera con CONTROL+C)

    2. Desde la máquina observador(192.168.100.33) lanzar 3 tipos de escaneos nmap y comprobar en INTERNO1(192.168.100.11) como evoluciona el log.
      TCP connect scanning
      [opción -sT] Escaneo con conexiones TCP completas (opción por defecto)
      observador:~# nmap -sT 192.168.100.11
      

      $\to$ Generará entradas etiquetadas con Inicio conex:, junto con las entradas generadas por los servidores (in.fingerd, inetd, telnetd, ftpd, ...)

      SYN scanning
      [opción -sS] Escaneo con paquetes SYN (conexiones parcialmente iniciadas)
      observador:~# nmap -sS 192.168.100.11
      

      $\to$ Generará entradas etiquetadas con Inicio conex:, pero no las generadas por los servidores (in.fingerd, inetd, telnetd, ftpd, ...)

      NULL scanning
      [opción -sN] Escaneo con paquetes ”nulos” (todos los flags TCP a 0)
      observador:~# nmap -sN 192.168.100.11
      

      $\to$ No generará entradas etiquetadas con Inicio conex:

Nota: Existe un interfaz gráfico para NMAP que se puede arrancar desde el entorno gráfico de observador(192.168.100.33) para probar otras opciones del escaner.

 

2.5 Documentación y entrega

El material entregable de esta práctica constará de una pequeña memoria documentando los ejercicios realizados y los resultados obtenidos en cada paso realizado, junto con las conclusiones que se deriven de dichos resultados.

ENTREGA: en MOOVI, hasta 4/12/2021