SSL/TLS

Cuarto capítulo del Bootcamp de Pentesterlab, como habitualmente hacemos primero nos ponemos manos a la obra con el reading list, el cual ya empieza a ser bastante entretenido: SQL INJECTION, XSSFILE INCLUSION.

Una vez leído todo, es hora de ponernos en marcha con el “HANDS ON“.

Prácticas:

  • Setup SSL:
    • enable HTTPs on your web server
    • make sure you disabled all the weak ciphers.
  • Play with SSL:
    • write a SSL client using an HTTP library.
    • write a SSL client using a socket.
    • acces your SSL server with your previous HTTP script and socat to do the connection socket<->ssl-socket.

La primera parte nos dice que tenemos que activar el protocolo seguro de transferencia de texto en nuestro servidor. Lo primero de todo será instalar openssl mediante sudo apt-get install openssl. Acto seguido generaremos nuestra clave publica de la siguiente manera:

Generando el propio certificado SSL.png

Validamos la clave pública para 365 días, creamos la clave privada y el certificado. Guardamos ambos en la carpeta /etc/apache2/ssl que creamos al efecto:

lovalidamospara365keyscreamosdirectoriosslylocopiamosalli.png

En este enlace teneís todos las opciones del comando detallado por si no entendeís alguno.

Ahora activamos el servicio SSL  con el comando a2enmod.

Configurando Apache para soporte SSL.png

Nos queda configurar el servidor apache que procedemos de esta manera. Nos dirigimos a /etc/apache2/sites-enabled y abrimos el archivo 000-default.conf.

 configurar apache para usar ssl1.pngnano 000defaultconf.png

configuracion arvhico 000defaultconf.png

Si veís la imagen superior simplemente hemos añadido las tres últimas líneas que activan el motor SSL en nuestro server.

En el último punto nos dice que aseguremos bien el cifrado, nos dirigiremos al archivo de apache httpd.conf, modificaremos dónde pone “Enable only secure ciphers” y añadiremos la frase que os dejo más abajo:

weakciphers.png

Una vez añadidas reseteamos el servidor:

restartapache2.png

Ahora solamente nos quedará probarlo. Nos dirigimos a nuestra página del servidor y nos saldrá que la conexión no es segura ya que el certificado lo hemos creado nosotros mismos y el navegador no ha podido encontrar una identificacion de un proveedor autorizado.

selfcertificatetienesqueaprobarlo.png

Le damos a avanzado, confirmamos excepción de seguridad y …

pruebaHTTPSok
FUNCIONA 😀

Empezamos la segunda parte. Primeramente nos pide que escribamos dos clientes SSL, uno que conecte de manera simple y otro que conecte mediante sockets. Creamos primero el simple:

httpsConexionGoogle.png

Os dejé comentado el código para que os sea de más fácil lectura. De todas maneras os dejo este enlace, el cual utilicé para hacer el cliente SSL. Lo probamos:

respuestaswebsecurityygogle.png

En la imagen superior vemos que nos imprime perfectamente la página que le pusimos dentro del cliente.

Ahora creamos el de conexión mediante sockets:

httpsConexionGooglesocket.png

Lo probamos y vemos que funciona a las mil maravillas 😀

respuestaswebsecurityygoglesocket.png

Como último ejercicio nos pide que utilicemos la herramienta socat el cual es un programa parecido a Netcat pero con muchas más funcionalidades. El ejercicio se trata de conectar con un cliente HTTP y redireccionarlo mediante SOCAT al 443 y imprimir el resultado de la petición por pantalla.

Para ello tuve que modificar el cliente para que recogiera los parámetros tanto del host cómo del port el cual nosotros deseamos conectar, quedando de la siguiente manera:

httpSOCKAT.png

Probamos el cliente y lo redirigimos con SOCAT.

Como veís en la imagen inferior primeramente dejamos SOCAT escuchando en el puerto 9001 y cuando le llegue la petición de nuestro cliente enseguida lo redirigirá a la IP de nuestra página por el servicio HTTPS el cual se encuentra en el puerto 443.

socat.png

En la imagen inferior vemos que imprime nuestra petición por pantalla que básicamente es un método GET de la página principal index.html.

Con esto ya hemos finalizado el capítulo 4 del Pentesterlab Bootcamp, espero que os agrade!. Saludos a tod@s!

Anuncios

Deja un comentario