Professional Documents
Culture Documents
SEGURIDAD
INFORMATICA
TEMA 4 CRIPTOGRAFIA
ndice
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.
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.
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.
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.
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.
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 la carpeta dentro del Men de Inicio donde queremos que se guarde
nuestra aplicacin y haremos clic en Instalar.
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.
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.
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.
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.
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.
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.
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.
Comprobaremos desde el servidor que hay un servicio escuchando por el puerto TCP/80 ejecutando el
comando netstat natp.
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.
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
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.
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.
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.
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.
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:
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.
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.
Verifica que el servidor escucha en los puertos 80/TCP y 443/TCP con el comando netstat ltn.
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.
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
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.
Desde otro equipo abre el navegador y establece una conexin a https://IP_ServidorWeb. Verifica que
ya hay certificado y observa sus detalles.
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.
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:
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.