You are on page 1of 65

PRACTICAS

SEGURIDAD
INFORMATICA
TEMA 4 CRIPTOGRAFIA

SEBASTIAN RUBIO GONZALEZ

ndice

1. Prctica sobre SSH y Copia Segura


2. Prctica sobre GPG4WIN
3. Prctica sobre Tunel SSH MYSQL
4. Prcticas sobre SSL

PRACTICAS SOBRE SSH Y


COPIA SEGURA

Sebastin Rubio

Primero procederemos a instalar el servicio ssh en nuestra maquina virtual Ubuntu con el
comando apt-get install ssh. Como podremos ver ya lo tenamos instalado previamente.

Una vez hecho esto verificaremos que escuchamos por el puerto 22 y que el servicio est
activo con el comando netstat ntl.

Ahora nos vamos al ordenador que actua como cliente y mediante el programa putty nos
conectamos al ordenador que acta como servidor y ser el Ubuntu y su direccin ip ser la
10.0.3.1 que se corresponder con la red interna del servidor.

Una vez introducimos el login con usuario y contrasea del servidor veremos que tendremos
acceso a l desde el ordenador cliente. Como vemos ya tenemos acceso al servidor.

Ahora deberemos crear las claves para el sistema RSA que sern las claves tanto privada
como pblica y durante la creacin de dichas claves nos pedir que introduzcamos una clave
ssh de desbloqueo denominada passphrase. En este caso la clave passhrase ser sebas.

Para poder compartir o distribuir la clave pblica deberemos de ejecutar el siguiente comando
ssh-copy-id sebas@10.0.3.1

Ejecutamos de nuevo el comando ssh sebas@10.0.3.1 y vemos que nos podemos conectar
mediante ssh.

En todos los casos, el directorio .ssh en el servidor debe existir y el fichero authorized_keys
debera tener los permisos correctos que sern (600).

A partir de ese momento se pueden utilizar ssh y scp con esa mquina sin necesidad de
escribir la clave.
A continuacin deberemos modificar el fichero de configuracin /etc/ssh/sshd_config y
habilitar la funcin StrictModes y con esto conseguiremos los borrados o modificaciones
accidentales.

Tambin en dicho fichero de configuracin podremos cambiar ciertos valores como pueden ser:
Port n puerto: ser el puerto por el escucha y lo podremos modificar a nuestro gusto.
ListenAddress: Sera la direccin ip de la red interna por la que escucha y entonces bloquea
todas las conexiones desde el exterior salvo la ip que hayamos seleccionado.

PermitRootLogin: Con esta opcin le permitiremos conectarse siendo el superusuario root

AllowUsers: Sern los usuarios que tendrn permiso para conectarse a nuestro servidor y
para ello deberemos escribir una lnea al final del fichero con los usuarios permitidos
separados por un espacio entre ellos.
sfUna vez modifiquemos este fichero de configuracin /etc/ssh/sshd_config ser necesario
reiniciar el servicio de ssh con el comando service ssh restart.

Para realizar la prueba de que no nos podemos conectar con el usuario root nos conectamos al
servidor y cuando nos pide el login ponemos root y la contrasea y como podemos apreciar
cuando hacemos varios intentos nos aparece un mensaje de error que hemos hecho muchos
intentos fallidos con root.

COPIA SEGURA (SCP)


Creamos un archivo por ejemplo que contenga lo siguiente:

Para realizar la copia segura de un recurso de nuestro ordenador, un archivo o cualquier otro
elemento del servidor al equipo local usaremos el comando:
scp sebas@10.0.3.1:/home/sebas/mensaje.txt mensaje2.txt
Una vez hecho esto nos pide la contrasea del administrador y posteriormente la contrasea
de la clave privada introducida anteriormente y una vez se produce todo esto apreciamos que
hemos hecho la copia segura y que aparecen ambos archivos.

El protocolo seguro de transferencia de archivos (SFTP) permite una serie de operaciones


sobre archivos remotos. SFTP intenta ser ms independiente de la plataforma que SCP, por
ejemplo, con el SCP encontramos la expansin de comodines especificados por el cliente hasta
el servidor, mientras que el diseo SFTP evita este problema. Aunque SCP se aplica con ms
frecuencia en plataformas Unix, existen servidores SFTP en la mayora de las plataformas.

Para copiar un archivo del servidor al ordenador local la orden get:

Para copiar un archivo desde el equipo local al servidor remoto

WINSCP
WinSCP es una aplicacin de Software libre. WinSCP es un cliente SFTP grfico para Windows
que emplea SSH. El anterior protocolo SCP tambin puede ser empleado. Su funcin principal
es facilitar la transferencia segura de archivos entre dos sistemas informticos, el local y uno
remoto que ofrezca servicios SSHNewbie.
El cdigo fuente de WinSCP y las descargas estn hospedadas en SourceForge.

PRACTICA GPG4WIN
Es una aplicacin de software libre que sirve para cifrar archivos y correos electrnicos con un sistema
de llaves pblicas y privadas.
El algoritmo de cifrado utilizado tambin es de libre distribucin y se denomina GNU Privacy Guard, una
alternativa de cdigo abierto a los otros sistemas patentados.
Soporta los estndares de criptografa Open PGP y S/MIME.
Opera en los sistemas operativos Windows 2000, XP, Vista y Windows 7. Funciona en sistemas de 32 y 64
bits.

INSTALACION DE LA APLICACIN GPG4WIN


Primero lo que haremos ser instalar la aplicacin en la maquina virtual W7 y lo haremos de la siguiente
manera:
Descargamos la ultima versin de la aplicacin GPG4WIN desde la pgina oficial que
ser http://www.gpg4win.org, siendo est la versin 2.2.4.

A continuacin comenzamos la instalacin de la aplicacin en nuestro equipo con W7.

Una vez comienza el proceso de instalacin nos pide permisos administativos para hacer cambios en
nuestro equipo y haremos clic en Si para poder instalar la aplicacin.

Seleccionamos el lenguaje que deseamos para nuestra aplicacin GPG4WIN.

Comenzamos con el programa de instalacin de GPG4WIN y nos muestra un mensaje de bienvenida a la


Instalacion dndonos una informacin acerca de la aplicacin, versin de la aplicacin y su fecha de
publicacin y haremos clic en Siguiente.

A continuacin nos aparece un mensaje con el acuerdo de licencia y haremos clic en Siguiente.

A continuacin seleccionamos todos los componentes dentro de la aplicacin salvo el Clows-Mail siendo
este opcional y haremos clic en Siguiente.

A continuacin nos solicita la ruta donde queremos guardar la aplicacin y haremos clic en Siguiente.

A continuacin seleccionaremos los Vinculos de Inicio y haremos clic en Siguiente.

A continuacin seleccionaremos la carpeta dentro del Men de Inicio donde queremos que se guarde
nuestra aplicacin y haremos clic en Instalar.

Una vez completada el proceso de la instalacin haremos clic en Siguiente.

Y por ltimo para finalizar el asistente de Instalacin haremos clic en Terminar.

CONFIGURACION DE LA APLICACIN GPG4WIN


Para poder acceder a la aplicacin GPG4WIN deberemos haremos clic en el botn del Men de Inicio de
Windows, seleccionaremos la opcin Todos los programas, seleccionaremos la carpeta GPG4WIN y una vez
all haremos clic en GPA.
Una vez abierta la aplicacin GPG4WIN por primera vez, nos aparece un mensaje en el que se nos advierte
que no existe ninguna clave y nos pedir si queremos generarla.

Una vez hacemos clic en Generar clave ahora, nos aparece un asistente donde generaremos nuestra clave
privada. El primer paso ser introducir nuestro nombre completo, ya que nuestro nombre ser parte de la
clave privada y nos permitir la identificacin de nuestra clave y por ltimo haremos clic en Adelante.

A continuacin nos pide que insertemos nuestra direccin de correo electrnico y haremos clic en
Adelante.

A continuacin nos aparece un mensaje donde nos recomiendan hacer una copia de seguridad de nuestra
clave una vez que la hayamos generado, seleccionamos Crear una copia de seguridad y haremos clic en
Adelante.

Una vez se genera nuestra clave nos solicita que introduzcamos una contrasea fuerte siguiendo los
standarts de seguridad que son aquellos que deben de cumplir las siguientes condiciones:
No deber contener menos de ocho caracteres la contrasea.
1 carcter al menos debe ser una letra Mayscula.
1 carcter al menos debe ser una letra minscula.
1 carcter al menos debe ser un nmero
1 carcter al menos debe ser un carcter especial.

A continuacin nos pide que confirmemos la contrasea introducida de nuevo.

Una vez confirmada la contrasea, nos aparece una ventana donde nos pide que seleccionemos la ruta
donde queremos que se guarde la clave privada generada en mi caso la guardare en la carpeta Documents
y haremos clic en Guardar.

A continuacin nos aparece un mensaje que se va a crear una copia de seguridad de nuestra clave en el
siguiente archivo y que debemos de guardarla bien para una correcta comparticin con otras personas y
hacemos clic en Cerrar.

Una vez guardada la clave, nos aparece una ventana con la clave creada y nos da informacin acerca de ella
como podemos comprobar en la siguiente imagen.

PROCEDIMIENTO PARA EXPORTAR LA LLAVE


PBLICA
Para exportar la llave pblica lo que debemos de hacer haremos clic en el botn Exportar.

A continuacin se nos abrir una ventana para seleccionar la carpeta de destino como el nombre del
archivo con el que se quiere guardar esta llave. Una vez hemos terminado haremos clic en Guardar.

A continuacin nos aparecer una ventana indicndonos que la llave se exporto correctamente y
mostrndonos la ruta donde se almaceno y por ltimo haremos clic en Cerrar

Y por ltimo para finalizar el procedimiento de exportacin lo que haremos ser enviar al cliente la llave
pblica por email pero nunca enviaremos la llave privada.

PROCEDIMIENTO PARA IMPORTAR LA LLAVE PBLICA


Para importar la llave pblica lo que debemos de hacer es incluir las llaves pblicas que se nos envan, y
permiten que podamos desencriptar los archivos cifrados.
Para importar una llave pblica lo que debemos de hacer es haremos clic en el botn de Importar.

A continuacin se abre la ventana de importacin, en donde podremos seleccionar el archivo de llave


pblica que se quiere importar. Para este ejemplo hemos recibido por correo electrnico una clave pblica
y por ltimo haremos clic en Abrir.

Una vez abierta, se puede observar el siguiente mensaje de confirmacin y haremos clic en el botn
Cerrar.

Y por ltimo como podemos apreciar tenemos en la siguiente ventana la llave importada y lista para su uso.

PRACTICAS TUNEL SSH CON ACCESO


REMOTO A MYSQL
Instalar en Linux Ubuntu el servidor de bases de datos MySQL (mysql-server) con el
comando sudo apt-get install mysql-server.

A continuacin nos pide que introduzcamos la contrasea para el usuario root de Mysql, en
mi caso pondr la contrasea sebas y haremos clic en Aceptar.

A continuacin nos pide que confirmemos la contrasea para el usuario root de Mysql y
haremos clic en Aceptar.

Una vez instalado, crear alguna tabla e insertar algunas filas.

Posteriormente, acceder desde Windows o Linux a dicho servidor introduciendo desde la


lnea de comandos (consola MsDos o Shell de Linux) la siguiente orden:

Si queremos ver que, efectivamente, el servidor de BD se est ejecutando podemos


ejecutar el comando netstat -natu o tambin nmap localhost. Como por ejemplo,

Para crear un tnel SSH de forma ms segura entre el cliente Windows y el servidor de
Base de Datos MySQL de Linux. Adems, de esta manera no hay que tocar nada en la
configuracin del servidor MySQL.

Pulsamos el botn Add.

Ahora realizamos una conexin SSH al servidor de Base de Datos y una vez creada dicha
conexin, ya podemos acceder al servidor remoto de BD como si lo hiciramos localmente.
Simplemente desde un cliente Windows ejecutamos el comando, asegurndonos de que
escucha por el puerto n 5000: mysql -u root p - -port=5000.

PRACTICAS SOBRE SSL CON HTTP


INSTALACION DEL SERVIDOR WEB APACHE
Lo primero que debemos de hacer es instalar el servidor web Apache para ello debemos ejecutar el
siguiente comando apt-get install apache2-utils.

Comprobaremos desde el servidor que hay un servicio escuchando por el puerto TCP/80 ejecutando el
comando netstat natp.

Comprobaremos que el proceso correspondiente se est ejecutando con el comando


ps ef | grep apache.

Comprobaremos que la instalacin del servidor apache se ha realizado correctamente conectndote


desde el anfitrin con el navegador a la IP del Servidor Ubuntu y veremos la pgina predefinida del
servidor Apache.

En la versin 14.04 utilizada por nuestro servidor Ubuntu necesitamos comprobar que se ha creado un
directorio llamado /var/www/html, cuyo propietario es root y es el directorio raz del servidor virtual por
defecto. Este directorio contendr el fichero index.html.

Aqu tenemos una captura de los archivos que tendremos en el directorio de configuracin del servicio
apache2 que sern importantes durante nuestra instalacin.

Primeramente usaremos el fichero de configuracin apache2.conf


El fichero de configuracin del servicio es /etc/apache2/apache2.conf donde se encuentran una serie de
directivas muy importantes como pueden ser las siguientes:
ServerRoot

User y Group

Timeout.

En la versin 14.04 de Ubuntu la directiva contenedora del directorio que se utiliza para determinar como
el servidor Apache sirve el contenido del directorio /var/www viene contenido en este fichero de
configuracin /etc/apache2/apache2.conf y ser como la captura abajo reseada.
Directory

En el fichero de log de errores se ubica en /var/log/apache2/error.log.

Tambin consultaremos el fichero de configuracin contenido en /etc/apache2/ports.conf y


comprobaremos que el puerto por el que escucha las peticiones Apache HTTP es el puerto 80, mientras
que el puerto que escucha las peticiones HTTPS es el 443 siempre y cuando se habilite el modulo
ssl_module.

En la versin de Ubuntu 14.04 tambin consultaremos el fichero de configuracin


/etc/apache2/sites-available/000-default.conf y podremos comprobar como dentro de <VirtualHost>
</VirtualHost> se define el comportamiento del servidor virtual por defecto.
Aspectos importantes a destacar dentro de este fichero de configuracin son los siguientes:
DocumentRoot: ser el valor de la directiva del directorio principal que contiene la estructura de
directorios visible desde la web y en este caso ser /var/www/html.
Errorlog: ser la ubicacin del fichero en el que se almacenan los mensajes de error.

CONFIGURACION DE AUTENTICACION DEL SERVIDOR


WEB APACHE HTTP
1.

Autenticacin HTTP Basic

Comprobaremos consultando el directorio /etc/apache2/mods-enabled que dentro de los mdulos


habilitados se encuentra el mdulo auth_basic.load.

Para usar la autenticacin basic hay que crear un fichero accesible por el servidor Apache en el que se
guardaran los usuarios y sus contraseas. Para crear este fichero utilizaremos el comando htpasswd c
/etc/apache2/passwd <y el usuario a crear>, donde la opcin c se utiliza para crear dicho fichero de
contraseas. A continuacin crearemos dos usuarios llamados asir1 y asir2.

Como vemos en la captura anterior al crear el primer usuario use la opcin c porque no estaba creado el
fichero mientras que para el segundo usuario no use dicha opcin ya que estaba creado dicho fichero
passwd.

En la siguiente imagen como queda dicho fichero passwd con los dos usuarios creados y sus contraseas
encriptadas.

En la versin de Ubuntu 14.04 crearemos el directorio /var/www/html/profesor con un archivo index.html


con un contenido que queramos introducir.

El contenido del archivo index.html ser el siguiente:

A continuacin lo que haremos ser editar el fichero de configuracin


/etc/apache2/sites-available/000-default.conf y permitiremos el acceso al directorio
/var/www/html/profesor a los usuarios asir1 y asir2 incluyendo las siguientes lneas en dicho fichero.

A continuacin reiniciaremos el servidor para que los cambios tengan efecto.

Prueba desde otra mquina accede a http://ip_direccin_servidor/profesor con el usuario asir1 o asir2.
Prueba realizada desde la mquina de Windows 7 con el usuario asir1.
CASO 1: Usuario asir1 creado anteriormente.
Como podemos apreciar cuando tratamos de entrar en la direccin IP del servidor web Apache en la
mquina Ubuntu vemos que nos aparece una alerta de seguridad de Windows donde nos pide un usuario
y contrasea, introducimos dichas credenciales y haremos clic en Aceptar.

Una vez hemos aceptado vemos que nos aparece el mensaje de bienvenida que creamos dentro del
archivo index.html del directorio del profesor.

Con respecto a la pregunta de si es posible acceder realizada en la prctica la respuesta es s como


hemos visto anteriormente.

CASO 2: Usuario sebas uso no permitido.


Cuando intentamos entrar con un usuario no permitido en el servidor nos aparece una alerta de seguridad
donde intentamos introducir el usuario sebas y su contrasea 3 veces.

Y vemos que recibimos un mensaje de fallo al intentar entrar en el directorio profesor del servidor web
Apache como podemos apreciar en la siguiente imagen.

CONFIGURACION DE AUTENTICACION DEL SERVIDOR


WEB APACHE HTTP DIGEST
2.

Autenticacin HTTP Digest

En la versin de Ubuntu 14.04 crearemos el directorio /var/www/html/departamento con un archivo


departamento.html con un contenido que queramos introducir.

Habilitaremos el mdulo auth_digest y para ello ejecutaremos el siguiente comando a2enmod


auth_digest. Como vemos en la imagen nos pide que reiniciemos el servicio para que los cambios tengan
efecto.

Como veremos en esta imagen vemos que ya tenemos habilitado el mdulo auth_digest.load.

Una vez reiniciado el servicio para usar la autenticacin digest hay que crear un fichero accesible por el
servidor web Apache en el que se guardarn los usuarios y sus contraseas asociados a un dominio
(realm). Para crear este fichero se utilizar el comando htdigest.
Crea el fichero y aade el usuario admin1 al dominio informtica (la opcin c es para crear el fichero) con
el comando htdigest c /etc/apache2/digest informtica admin1.
Crearemos tambin el usuario admin2 al dominio de informtica (en este caso no ser necesario la opcin
c para crear dicho fichero ya que esta creado) y lo haremos con el comando htdigest
/etc/apache2/digest informtica admin2.

A continuacin lo que haremos ser editar el fichero de configuracin


/etc/apache2/sites-available/000-default.conf y permitiremos el acceso al directorio
/var/www/html/departamento a los usuarios admin1 y admin2 incluyendo las siguientes lneas en dicho
fichero.

Prueba desde otra mquina accede a http://ip_direccin_servidor/profesor con el usuario admin1 o


admin2.
Prueba realizada desde la mquina de Windows 7 con el usuario asir1.
CASO 1: Usuario admin1 creado anteriormente.
Como podemos apreciar cuando tratamos de entrar en la direccin IP del servidor web Apache en la
mquina Ubuntu vemos que nos aparece una alerta de seguridad de Windows donde nos pide un usuario
y contrasea, introducimos dichas credenciales y haremos clic en Aceptar.

Una vez hemos aceptado vemos que nos aparece el mensaje con el index.html del departamento y que en
dicho index aparece un archivo llamado departamento.html.

Una vez pinchamos sobre dicho archivo vemos que nos aparece el contenido de dicho archivo creado
anteriormente en el servidor web Apache y su resultado es el siguiente:

Con respecto a la pregunta de si es posible acceder realizada en la prctica la respuesta es s como


hemos visto anteriormente.

CASO 2: Usuario sebas uso no permitido.


Cuando intentamos entrar con un usuario no permitido en el servidor nos aparece una alerta de seguridad
donde intentamos introducir el usuario sebas y su contrasea 3 veces.

Y vemos que recibimos un mensaje de fallo al intentar entrar en el directorio profesor del servidor web
Apache como podemos apreciar en la siguiente imagen.

CONFIGURACION DE SERVIDOR VIRTUAL HTTPS POR DEFECTO


EN LINUX
Primeramente lo que haremos ser iniciar una sesin con un usuario con permisos de administracin.
A continuacin habilitaremos el servidor virtual por defecto de Apache con el siguiente comando a2ensite
000-default.conf.

A continuacin verificaremos que dentro del directorio /etc/apache2/sites-enabled se ha creado un enlace


000-default.conf que actualmente se encuentra habilitado.

A continuacin nos pedir que reiniciemos el servicio para que los cambios tengan efecto.

A continuacin habilitaremos el mdulo modssl que permite usar https con el siguiente comando
a2enmod ssl.

Reinicia el servidor para que los cambios tengan efecto.

A continuacin consultaremos el fichero /etc/apache2/ports.conf y observa que al habilitar el modulo


ssl el servidor escuchar en el puerto 443.

Verifica que el servidor escucha en los puertos 80/TCP y 443/TCP con el comando netstat ltn.

Accede al directorio /etc/apache2/sites-availables y observa que existe un fichero denominado


default-ssl.conf que contiene la configuracin por defecto de un servidor HTTPS.

Habilitaremos el servidor virtual ssl defecto (default-ssl) de Apache con el comando a2ensite default-ssl y
a continuacion reiniciaremos el servidor para que los cambios tengan efecto.

Consulta el fichero /etc/apache2/sites-availables/default-ssl y observa su configuracin. Fjate en las


directivas que habilitan SSL y que definen la ruta del certificado digital que usar el servidor.
El servidor utiliza por defecto un certificado digital autofirmado que se ha creado al instalar Apache.
Un certificado autofirmado no est firmado por una autoridad de certificacin (tercera parte de confianza)
y, por tanto, no existen mecanismos automticos que garanticen su autenticidad. Por eso los
navegadores nos pedirn confirmacin cuando el servidor se lo enve.
En las siguientes imagines podremos ver las imagenes capturadas del fichero
/etc/apache2/sites-availables/default-ssl.conf.
En la version 14.04 de Ubuntu el DocumentRoot sera /var/www/html.

Desde otra mquina abre el navegador y establece una conexin a http://IP_ServidorWEB.


Funciona?
En este caso utilizaremos una maquina Windows 7 para hacer esta parte de la prctica y cmo podemos
ver apreciamos que al ejecutar http://10.0.3.1 que es la direccin de nuestro servidor web funciona
perfectamente.

Repite el ejercicio anterior pero con https://IP_ServidorWEB. Qu ocurre?


En este caso utilizaremos una maquina Windows 7 para hacer esta parte de la prctica y cmo podemos
ver apreciamos que al ejecutar https://10.0.3.1 que es la direccin de nuestro servidor web de forma
segura, vemos que nos da un aviso de que existe un problema con el certificado de seguridad con este
sitio web y si pinchamos en Vaya a este sitio web, cosa que no se recomienda, se nos carga
perfectamente la pgina web que queramos ver.

CONFIGURACION DE SERVIDOR VIRTUAL HTTPS EN


APACHE/LINUX
Primeramente iniciaremos una sesin en el Servidor Web Linux con un usuario con privilegios de
administracin.
A continuacin crearemos el directorio /var/www/html/seguro

Creamos el fichero de texto /var/www/seguro/index.html con el contenido que quieras.

Crearemos un certificado digital autofirmado usando openssl y para ello haremos las siguientes cosas:
Nos situaremos en el directorio home del usuario con el que has iniciado sesion y crearemos una clave
privada RSA de 2048 bits con el comando openssl genrsa -out seguro.key 2048.

Generaremos una solicitud de certificado (CSR, Certificate Signing Request) e introduce los datos del
certificado que piden con el comando openssl req -new -key seguro.key -out seguro.csr.

Esta solicitud de certificado se la podramos enviar a una autoridad de certificacin para que
generase el certificado (CRT). En este caso lo vamos a firmar nosotros mismos. Vamos a crear un
certificado autofirmado.
Crea el certificado digital autofirmado usando la clave privada con el siguiente comando
openssl x509 -req -days 365 -in seguro.csr -signkey seguro.key -out seguro.crt.

A continuacin copiaremos la clave y el certificado en los directorios que utiliza Apache y configuraremos
los permisos adecuados ejecutando estos comandos:
sudo mv seguro.key /etc/ssl/private/
sudo mv seguro.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/seguro.key
sudo chmod 640 /etc/ssl/private/seguro.key
sudo chown root:root /etc/ssl/certs/seguro.crt

Creamos el fichero /etc/apache2/sites-available/seguro.conf con las siguientes directivas:


Para ello, lo mejor sera realizar una copia del ya existente archivo default-ssl, eliminar todas las lneas
sobrantes y modificar otras hasta dejarlo as:
A continuacin mostraremos una imagen de cmo quedar nuestro fichero de configuracin del servidor
seguro
:

A continuacin deshabilitaremos el servidor ssl por defecto con el comando sudo a2dissite default-ssl.

A continuacin habilitaremos el servidor virtual seguro con el comando sudo a2ensite seguro.conf y por
ltimo reiniciaremos el servicio con el comando service apache2 restart.

A continuacin verificaremos que dentro del directorio /etc/apache2/sites-enabled se ha creado el enlace


al servidor virtual seguro.

A continuacin reinicia el servidor para que los cambios tengan efecto.

Desde otro equipo abre el navegador y establece una conexin a https://IP_ServidorWeb. Verifica que
ya hay certificado y observa sus detalles.

ATAQUE MAN IN THE MIDDLE CON SSLSTRIP


Dado que es prcticamente imposible descifrar un mensaje cifrado con SSL se va a intentar suplantar
la entidad del emisor de dicho mensaje. Una de las tcnicas de suplantacin es mediante ARPSpoofing. Este ataque modifica la tabla arp de un host para hacer que resuelva una IP a una MAC que
no es la que le corresponde. Esto es lo que hace posible el Man in the middle.

Este es un ataque en el que la vctima no detectara nada raro, de ah la dificultad de hacer frente a un
ataque de este tipo.
Este ataque nos permite monitorizar el trfico que deseemos de una red, tanto de un host hacia el
router, como del router hacia un host.
Abre una terminal de comandos e instala el siguiente software:.
sudo apt-get update
sudo apt-get install dsniff
sudo apt-get install sslstrip

Conctate como root y haz que la mquina atacante pueda encaminar paquetes
su
echo 1 > /proc/sys/net/ipv4/ip_forward
exit

Redirigir todos los paquetes con destino a HTTP (puerto 80) a otro puerto. Por ejemplo al 8081
sudo iptables t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081
Aqu se utiliza iptables, interfaz de comandos nativa en Linux para crear un cortafuegos. En este caso,
cuando un paquete con destino al puerto 80 llega al host atacante (que ahora es un encaminador),
justo antes de sacarlo por la interfaz de salida (tarea de PREROUTING) lo REDIRECCIONA al
puerto 8081.

En este puerto (8081) estar puesto a la escucha el programa sslstrip.


Realizar el envenenamiento ARP de alguna vctima.
Aqu se utilizar la herramienta ettercap cuyo uso es el siguiente:

Partimos del siguiente escenario:


IP router:
10.0.3.3
IP atacante: 10.0.3.1
IP victima: 10.0.3.2
sudo ettercap -Tq -i eth1 -M arp:remote /10.0.3.2/10.0.3.3/

A continuacin lanzamos el programa sslstrip y abrimos otro terminal de comandos y ejecutamos el


siguiente comando sudo sslstrip w hacking.txt -l 8081

Todo lo que capture ssltrip por el puerto de escucha ( -l 8081 ) se guardar en el archivo
hacking.txt

hacking.txt

En el equipo vctima que ser la mquina Windows 7 abriremos un navegador web y accederemos a
alguna pgina en la que haya que introducir credenciales como por ejemplo http://www.gmail.com.

Ejecutando el comando arp -a en una consola de comandos del equipo victima se ve claramente la
duplicidad de direcciones MAC con el deban router

Con el comando

Y a pesar de entrar en una pgina HTTPS segura, ettercap recupera una pgina HTTP y con
toda la informacin, password incluida, en texto claro.
Accediendo al archivo hacking.txt de sslstrip, tambin se recupera informacin similar.

Observacin: Ejecutando el comando arp -a en una consola de comandos del equipo victima se ve
claramente la duplicidad de direcciones MAC con la mquina del deban router.

Recomendaciones:

Utilizar tablas ARP estticas.


En el caso de utilizar el navegador Firefox aadirle el complemento HTTPS Everywhere
y/o SSL Blacklist.
Utilizar seguridad de puertos en el switch, si es que esto es posible.
Fomentar el uso de VLANs.

A continuacin instalaremos la herramienta grafica de ettercap con el siguiente comando


sudo apt-get install ettercap-graphical.

Con el comando sudo ettercap G lanzaremos el programa en su interfaz grfica.

A continuacin lo que debemos de hacer es en el Men de la herramienta seleccionamos la opcin Sniff


y dentro de su men contextual seleccionamos Unified Sniffing.

A continuacin seleccionamos la interfaz que queremos snifar en mi caso ser eth1.

En la siguiente imagen lo que podemos ver es que se produce el sniffing de la interfaz


seleccionada.

A continuacin seleccionaremos Hosts/Scan for hosts para escanear los equipos que estan en la interfaz
eth1.y una vez terminado sacaremos la lista de dichos Host /Host List.

Una vez terminado el escaneo sacaremos la lista de dichos con la opcin Host /Host
List.

A continuacin seleccionamos un host y seleccionamos en el men de la


herramienta ettercap la opcin MITM y a continuacin ARP Poisoning.

En la ventana que nos aparece seleccionamos Sniff remote connections y pulsamos


Aceptar.

A continuacin vamos a la opcin de la herramienta ettercap Start y seleccionamos


Start Sniffing.

En otro terminal ejecutar sslstrip con el comando sslstrip w hacking.txt -l 8081

Desde el ordenador victima acceder a www.gmail.com

You might also like