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.
alumno@pc: $ sh ejercicio-nmap.sh
Powershell.exe -executionpolicy bypass -file ejercicio-nmap.ps1
Notas:
$DIR_BASE
especifica donde se descargarán las imágenes y se crearán las MVs.
Por defecto en GNU/Linux será en $HOME/SSI1819 y en Windows en C:/SSI1819.
Puede modificarse antes de lanzar los scripts para hacer la instalación en otro directorio más conveniente (disco externo, etc)
.vdi.zip
de http://ccia.esei.uvigo.es/docencia/SSI/1819/practicas/ y copiarlos en el directorio anterior ($DIR_BASE
) para que el script haga el resto.
VBoxManage startvm <nombre MV>_<id>
Contiene un sistema Debian 9 con herramientas gráficas y un entorno gráfico ligero LXDE (Lighweight X11 Desktop Environment) [LXDE].
login | password |
---|---|
root | purple |
usuario | usuario |
root@datos:~# startx
Dispositivos -> Portapapeles compartido -> bidireccional
de la ventana de la máquina virtual.
Red donde se realizarán los ejercicios:
Servicios arrancados por defecto en todas las máquinas
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.
# startx
”Input”
, seleccionar el interfaz enp0s3 + botón [Start]
para iniciar la captura
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
telnet
(sobre el primer paquete de la conexión dirigido al puerto 23, [botón derecho] > Follow TCP stream
)
interno1:~# ssh usuario@192.168.100.22 usuario@192.168.100.22's password: usuario ... interno2:~$ ls -l ... interno2:~$ exit
(puede ser recomendable salir de Wireshark y volver a iniciarlo)
interno1:~# lynx 192.168.100.22 ...
Nota: En caso de no obtener respuesta, reiniciar el servidor apache2
en la máquina interno2 (192.168.100.22)
interno2:~# service apache2 restart
En el equipo interno2 (192.168.100.22):
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.
interno2:~# nano /etc/apache2/sites-available/default-ssl.confAsignar 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
interno2:~# a2enmod ssl interno2:~# a2ensite default-ssl interno2:~# service apache2 restart
Nota:
Los ficheros de configuración de los módulos disponibles están en /etc/apache2/mods-available/ y al habilitarlos se crea un enlace simbólico desde /etc/apache2/mods-enabled/
Los ficheros de configuración de los ”sitios web” disponibles (normalmente son configuraciones de servidores virtuales Apache) están en /etc/apache2/sitess-available/ y al habilitarlos se crea un enlace simbólico desde /etc/apache2/sites-enabled/
En el equipo observador (192.168.100.33): Iniciar una sesión de escucha en WireShark.
En el equipo interno1 (192.168.100.11):
Añadir la correspondiente excepción de seguridad (botón [Confiar en este sitio]
) para permitir la descarga y aceptación del certificado
Comprobar en observador (192.168.100.33) el resultado de la escucha (aparecerán varios intentos de conexión, el fallido y el exitoso tras aceptar el certificado)
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.
Desde la máquina observador (192.168.100.33):
observador:~# nmap -sP 192.168.100.0/24
observador:~# nmap -sT -v 192.168.100.11 observador:~# nmap -sT -v 192.168.100.22
observador:~# nmap -sT -O -sV 192.168.100.11 (tarda unos segundos)
Los escaneados anteriores dejan rastro. Comprobar los ficheros de log ”tail /var/log/syslog” 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 | lessNota: El rastro del escaneo de tipo -sT que queda en /var/log/syslog
Evaluaremos el comportamiento de los distintos tipos de escaneo sobre la máquina interno1(192.168.100.11)
interno1:~# iptables -A INPUT -i enp0s3 -p tcp \ --tcp-flags SYN SYN -m state --state NEW \ -j LOG --log-prefix "Inicio conex:"
interno1:~# tail -f /var/log/syslog(el terminal se libera con CONTROL+C)
observador:~# nmap -sT 192.168.100.11
observador:~# nmap -sS 192.168.100.11
observador:~# nmap -sN 192.168.100.11
[Inicio] > Internet > Zenmap
observador:~# zenmap &
telnet
frente a ssh
y de http
respecto https
)
ENTREGA: en FAITIC, hasta 9/12/2018